天天看点

小白从0学习推荐系统 ---04 机器学习模型介绍

文章目录

    • 监督学习
      • 回归模型
      • 分类模型
        • K近邻(KNN)
        • 逻辑斯蒂回归
        • 决策树
    • 无监督学习
      • 聚类
        • K-均值

监督学习

回归模型

  • 线性回归模型
    • 线性回归(Linear Regression)是一种线性模型,它假设输入变量x和单个输出变量y之间存在线性关系
    • 具体来说,利用线性回归模型,可以从一组输入变量x的线性组合中,计算输出变量y
      • y=ax+b
      • f ( x ) = w 1 x 1 + w 2 x 2 + . . . + w d x d + b f(x)=w_{1}x_{1}+w_{2}x_{2}+...+w_{d}x_{d}+b f(x)=w1​x1​+w2​x2​+...+wd​xd​+b
      • 给定有d个属性(特征)描述的示例 x=(x1;x2;…;xd),其中xi是x在第i个属性(特征)上的取值,线性模型(linear model)试图学得一个通过属性(特征)的线性组合来进行预测的函数,即:
        • f ( x ) = w 1 x 1 + w 2 x 2 + . . . + w d x d + b f(x)=w_{1}x_{1}+w_{2}x_{2}+...+w_{d}x_{d}+b f(x)=w1​x1​+w2​x2​+...+wd​xd​+b
      • 一般用向量形式写成: f ( x ) = w T x + b f(x)=w^{T}x+b f(x)=wTx+b ( 其中w=( w 1 ; w 2 ; . . . ; w d w_{1};w_{2};...;w_{d} w1​;w2​;...;wd​) )
      • 假设特征和结果都满足线性,即不大于一次方
    • 一元线性回归
    • 多元线性回归
      • 如果有两个或者两个以上的自变量,这样的线性回归分析就称为多元线性回归
      • 实际问题中,一个现象往往受多个因素的影响,所以多元线性回归通常比一元线性回归的实际应用更广
  • 非线性回归 模型
  • 最小二乘法
    • 基于均方误差最小化来进行模型求解的方法称为 最小二乘法(least square method)
    • 其主要思想是 选择未知参数,使得理论值与观测值之差的平方和达到最小
    • 我们假设输入属性(特征)的数目只有一个:
      • f ( x i ) = w x i + b , 使 得 f ( x i ≃ y i ) f(x_{i})=wx_{i}+b,使得f(x_{i}\simeq y_{i}) f(xi​)=wxi​+b,使得f(xi​≃yi​)
    • 在线性回归中,最小二乘法就是试图 找到一条直线,使所有样本到直线上的欧氏距离之和最小
      • 小白从0学习推荐系统 ---04 机器学习模型介绍
  • 求解线性回归
    • 线性回归模型的“最小二乘参数估计”:求解w和b,使得 E ( w , b ) = ∑ i = 1 m ( y i − w x i − b ) 2 E_{(w,b)}=\sum_{i=1}^{m}(y_{i}-wx_{i}-b)^{2} E(w,b)​=∑i=1m​(yi​−wxi​−b)2最小化的过程
    • 将 E ( w , b ) E_{(w,b)} E(w,b)​分别对w和b求导,可以得到
      • ∂ E ( w , b ) ∂ w = 2 ( w ∑ i = 1 m x i 2 − ∑ i = 1 m ( y i − b ) x i ) \frac{∂E_{(w,b)}}{∂w}=2(w\sum_{i=1}^{m}x_{i}^2-\sum_{i=1}^{m}(y_{i}-b)x_{i}) ∂w∂E(w,b)​​=2(w∑i=1m​xi2​−∑i=1m​(yi​−b)xi​)
      • ∂ E ( w , b ) ∂ b = 2 ( m b − ∑ i = 1 m ( y i − w x i ) ) \frac{∂E_{(w,b)}}{∂b}=2(mb-\sum_{i=1}^{m}(y_{i}-wx_{i})) ∂b∂E(w,b)​​=2(mb−∑i=1m​(yi​−wxi​))
    • 另偏导数都为0,可以得到
      • 小白从0学习推荐系统 ---04 机器学习模型介绍
      • 其中 x ˉ = 1 m x i \bar{x}=\frac{1}{m}x_{i} xˉ=m1​xi​
  • 使用梯度下降法来求解线性回归
    小白从0学习推荐系统 ---04 机器学习模型介绍
    • 使用梯度下降法来求解一元线性回归
      小白从0学习推荐系统 ---04 机器学习模型介绍
  • 梯度下降法和最小二乘法
  • 相同点
    • 本质和目标相同:两种方法都是经典的学习算法,在给定已知数据的前提下利用求导算出一个模型(函数),使得损失函数最小,然后对给定的新数据进行估算预测。
  • 不同点
    • 损失函数:梯度下降可以选取其它损失函数,而最小二乘法一定是平方损失函数
    • 实现方法:最小二乘法是直接求导找出全局最小,而梯度下降是一种迭代法
    • 效果:最小二乘找到的一定是全局最小,但计算繁琐,且复杂情况下未必有解;梯度下降迭代计算简单,但找到的一般都是局部最小,只有在目标函数是凸函数时才是全局最小;到最小点附近时收敛速度会变慢,且对初始点的选择极为敏感。

分类模型

K近邻(KNN)

  • 最简单最初级的分类器,就是将全部的训练数据所对应的类别都记录下来,当测试对象的属性和某个训练对象的属性完全匹配时,便可以对其进行分类
  • K近邻(K-nearest neighbour,KNN)是一种基本分类方法,通过测量不同特征值之间的距离进行分类。它的思路是:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别,其中K通常是不大于20的整数
  • KNN算法中,所选取的邻居都是已经正确分类的对象
  • KNN算法的结果很大程度取决于K的选择
  • KNN的距离计算
    • KNN中,通过计算对象间距离来作为各个对象之间的非相似性指标,避免了对象之间的匹配问题,在这里距离一般使用欧氏距离或曼哈顿距离
    • 欧式距离:d(x,y)= ∑ k = 1 n ( x k − y k ) 2 \sqrt{\sum_{k=1}^{n}(x_{k}-y_{k})^2} ∑k=1n​(xk​−yk​)2

    • 曼哈顿距离:d(x,y)= ∑ k = 1 n ∣ x k − y k ∣ \sqrt{\sum_{k=1}^{n}|x_{k}-y_{k}|} ∑k=1n​∣xk​−yk​∣

  • 在训练集中数据和标签已知的情况下,输入测试数据,将测试数据的特征与测试集中对应的特征进行相互比较,找到训练集中与之最为相似的前k个数据,则该测试数据对应的类别就是k个数据中出现次数最多的那个分类,其算法的描述为:
    • a) 计算测试数据与各个训练数据之间的距离;
    • b) 按照距离的递增关系进行排序;
    • c) 选取距离最小的K个点;
    • d) 确定前K个点所在类别的出现概率;
    • e) 返回前K个点中出现频率最高的类别作为测试数据的预测分类。

逻辑斯蒂回归

  • 逻辑斯蒂回归 能够解决分类问题
    小白从0学习推荐系统 ---04 机器学习模型介绍
  • Sigmoid函数(压缩函数)
    • g(z)= 1 1 + e − z \frac{1}{1+e^{-z}} 1+e−z1​
    • 小白从0学习推荐系统 ---04 机器学习模型介绍
    • sigmoid函数中, e − z e^{-z} e−z中z的正负决定了g(z)的值最后是大于0.5还是小于0.5;即z大于0时,g(z)大于0.5,z小于0时,g(z)小于0.5
    • 当z对应的表达式为分类边界时,恰好有分类边界两侧对应z正负不同,也就使得分类边界两边分别对应g(z)>0.5和g(z)<0.5,因此根据g(z)与0.5的大小关系,就可以实现分类
  • 损失函数
    • 小白从0学习推荐系统 ---04 机器学习模型介绍
    • 小白从0学习推荐系统 ---04 机器学习模型介绍
  • 损失函数求解步骤
    • 小白从0学习推荐系统 ---04 机器学习模型介绍
    • 小白从0学习推荐系统 ---04 机器学习模型介绍
    • 这样我们就能获得一个 凸函数
    • 梯度下降法求解
      • 小白从0学习推荐系统 ---04 机器学习模型介绍

决策树

  • 决策树是一种简单高效并且具有强解释性的模型,广泛应用于数据分析领域。其本质是一颗自上向下的由多个判断节点组成的树
  • 决策树与if-then规则
    • 决策树可以看作是一个 if-then 规则的集合
    • 由决策树的根节点到叶节点的每一条路径,构建一条规则:路径上内部节点的特征对应着规则的条件(condition),叶节点对应规则的结论
    • 决策树的if-then规则集合有一个重要性质:互斥并且完备。也就是说,每个实例都被一条规则(一条路径)所覆盖,并且只被这一条规则覆盖
    • 决策树中的判断条件 的确定过程就是 特征选择 的过程
  • 决策树的目标
    • 决策树学习的本质,是从训练数据集中归纳出一组 if-then分类规则
    • 与训练集不相矛盾的决策树,可能有很多个,也可能一个都没有;所以我们需要选择一个与训练数据集矛盾较小的决策树
    • 另一角度,我们可以把决策树砍成一个条件概率模型,我们的目标是将实例分配到条件概率更大的那一类中去
    • 从所有可能的情况中选择最优决策树,是一个np完全问题,所以我们通常采用启发式算法求解决策树,得到一个次最优解
    • 采用的算法通常是递归地进行以下过程:选择最优特征,并根据该特征对训练数据进行分割,使得各个子数据集都有一个最好的分类
  • 特征选择
    • 特征选择就是决定用哪个特征来划分特征空间
  • 随机变量
    • 随机变量(random variable)的本质是一个函数,是从样本空间的子集到实数的映射,将事件转换成一个数值
    • 根据样本空间中的元素不同(即不同的实验结果),随机变量的值也将随机产生。可以说,随机变量是“数值化”的实验结果
    • 在现实生活中,实验结果是描述性的词汇,比如“硬币的正反面”,而在数学家的角度,这些文字化的描述太过繁琐,可以用数字来0、1来替代它们。
    • 熵(entropy)用来衡量随机变量的不确定性
    • 变量的不确定性越大,熵也就越大,也就是变量的不确定性与熵成正相关关系
    • 设X是一个取有限个值的离散随机变量,其概率分布为: P ( X = x i ) = p i , i = 1 , 2 , . . , n P(X=x_{i})=p_{i},i=1,2,..,n P(X=xi​)=pi​,i=1,2,..,n,则随机变量x的熵定义为: H ( X ) = − ∑ i = 1 n p i l o g P i H(X)=-\sum_{{i=1}}^{n}p_{i}logP_{i} H(X)=−∑i=1n​pi​logPi​,通常,上式中的对数以2为底或者以e为底(自然对数),这时熵的单位分别称为比特(bit)或纳特(nat)
    • 当随机变量只取两个值,例如1,0时,则X的分布为:P(X=1)=p,P(x=0)=1-p, 0 ⩽ p ⩽ 1 0\leqslant p \leqslant1 0⩽p⩽1

      此时 熵为: H ( p ) = − p l o g 2 p − ( 1 − p ) l o g 2 ( 1 − p ) H(p)=-plog _{2}p-(1-p)log _{2}(1-p) H(p)=−plog2​p−(1−p)log2​(1−p)

      这个熵H§随概率p变化的曲线如图所示:

      小白从0学习推荐系统 ---04 机器学习模型介绍
    • 熵的示例 (给三个小球分类)
      • 1.将红球独自一组,黑球一组 ,此时熵:E=-1/3log(1/3)-2/3log(2/3)=0.918
        小白从0学习推荐系统 ---04 机器学习模型介绍
      • 2.一个红球和一个黑球一组,另外一个黑球自己一组,此时熵:E=-1/2log(1/2)-1/2log(1/2)-1*log(1)=1
        小白从0学习推荐系统 ---04 机器学习模型介绍
      • 3.将红球自己一组,剩下两个黑球一组,此时熵:E=-1log(1)-1log(1)=0
        小白从0学习推荐系统 ---04 机器学习模型介绍
  • 决策树的目标
    • 我们使用决策树模型的最终目的是利用决策树模型进行分类预测,预测我们给出的一组数据最终属于哪一种类别,这是一个由不确定到确定的过程
    • 最终理想的分类是,每一组数据,都能确定性地按照决策树分支找到对应的类别
    • 所以我们就选择使数据信息熵下降最快的特征作为分类节点,使得决策树尽快地趋于确定
  • 条件熵 (conditional entropy)
    • 条件熵H(Y|X)表示在已知随机变量X的条件下随机变量Y的不确定性: H ( Y ∣ X ) = ∑ i = 1 n p i H ( Y ∣ X = x i ) H(Y|X)=\sum_{i=1}^{n}p_{i}H(Y|X=x_{i}) H(Y∣X)=∑i=1n​pi​H(Y∣X=xi​),其中, p i = P ( X = x i ) p_{i}=P(X=x_{i}) pi​=P(X=xi​)
    • 熵H(D)表示对数据集D进行分类的不确定性
    • 条件熵H(D|A)指在给定特征A的条件下数据集分类的不确定性
    • 当熵和条件熵的概率由数据估计得到时,所对应的熵与条件熵分别称为经验熵(empirial entropy)和经验条件熵(empirical conditional entropy)
  • 信息增益
    • 特征A对训练数据集D的信息增益g(D,A),定义为集合D的**经验熵H(D)与特征A给定条件下D的条件熵H(D|A)**之差,即 g(D,A)=H(D)-H(D|A)
    • 决策树学习应用 信息增益准则 选择特征
    • 经验熵H(D)表示对数据集D进行分类的不确定性。而经验条件熵H(D|A)表示在特征A给定的条件下对数据集D进行分类的不确定性。那么它们的差,即信息增益,就表示由于特征A而使得对数据集D的分类的不确定性减少的程度
    • 对于数据集D而言,信息增益依赖于特征,不同的特征往往具有不同的信息增益
    • 信息增益大的特征具有更强的分类能力
  • 决策树的生成算法
    • ID3
      • 决策树(ID3) 的训练过程就是找到信息增益最大的特征,然后按照此特征进行分类,然后再找到各类型子集中的信息增益最大的特征,然后再按照此特征进行分类,最终得到符合要求的模型
    • C4.5
      • C4.5算法在ID3的基础上做了改进,用信息增益比来选择特征
    • 分类与回归树(CART)
      • 由特征选择、树的生成和剪枝三部分组成,既可以用于分类也可以用于回归

无监督学习

  • 聚类
    • K均值
    • 基于密度的聚类
    • 最大期望聚类
  • 降维
    • 潜语义分析(LSA)
    • 主成分分析(PCA)
    • 奇异值分解(SVD)

聚类

K-均值

  • K均值(K-means)是聚类算法中最为简单、高效的,属于无监督学习算法
  • 核心思想:由用户指定的K个初始质心(initial centroids),以作为聚类的类别(cluster),重复迭代直至算法收敛
  • 基本算法流程:
    • 选取k个初始质心(作为初始cluster)
    • repeat:
      • 对每个样本点,计算得到距其最近的质心,将其类别标记为该质心所对应的cluster;
      • 重新计算K个cluster对应的质心
    • until 质心不再发生变化或迭代达到上限
      小白从0学习推荐系统 ---04 机器学习模型介绍
  • 关注「一个热爱学习的计算机小白」公众号 ,对作者的小小鼓励,后续更多资源敬请关注。
  • 小白从0学习推荐系统 ---04 机器学习模型介绍

继续阅读