机器学习读书笔记第三章(1):线性模型
一、基本形式:
1.在机器学习中,X一般表示m行1列的列向量:
对于一个m行n列的X矩阵而言,每一行是一个样本,每一列是其特征值。给定d个属性描述的示例x=(x1;x2;x3;.........xd),其中xi是在第i个属性上的取值。线性模型试图学得一个通过属性的线性组合来进行函数的预测
即:
而对于f(x)可以写成下面这种向量的形式:
其中w是一个列向量,
二、线性回归
1.在给定数据集切输入的数目只有一个的情况下,线性回归试图学得
那么在给定x和y的情况下如何确定w和b呢?关键在于如何衡量f(x)和y之间的差别,均方误差是回归任务中最常用的线性度量,试图让均方误差最小化,即:
对于均方误差,对应于欧几里得距离,或者欧氏距离。基于均方误差最小化的方法最小化来进行模型求解的方法称为最小二乘法,在线性回归中,最小二乘法就是找到一条直线,使得所有样本到直线上的欧氏距离之和最小。如下图中,我们要求得三个点到直线的距离之和最小即样本到直线上的欧氏距离之和最小。
在求解w和b使得最小化的过程,称之为线性回归模型的最小二乘参数估计。可以通过对w和b求导,得到下式:
然后我们要做的是让上式等于0,来得到w和b的最优解的闭式
2.损失函数(loss function)
(1)西瓜书上述的内容在实际应用的时候可以写成损失函数的形式。找到最好的权重/参数
(2)损失函数我们一般定义为:
(3)同样我们在进行线性模型的最小二乘估计的过程就是最小化损失函数过程
西瓜书中最小二乘估计的方法是对参数进行求导,但是在做机器学习实践的过程中,某些场景的计算的计算量是很大的,没有办法在很短的时间内进行求导,我们常用的方法是迭代法。
梯度下降(GD)的过程是逐步最小化损失函数的过程。
3.回归过拟合(也叫高方差)与欠拟合(也叫高偏差)
(1)过拟合问题:如果有非常多的特征/模型很复杂,函数曲线可以对原始数据拟合的很好,即:,但是导致一般性降低了,在测试集上预测的效果比较差。
(2)欠拟合问题:模型没有很好地捕捉到数据特征,不能够很好地拟合数据
4.正则化:保留所有的特征变量,但是会减小特征变量的数量级。当我们有很多特征变量时,其中每一个变量都能对预测产生一点影响。我们可以有很多特征变量,其中每一个变量都是有用的,因此我们不希望把它们删掉,这就导致了正则化概念的产生。
(1)当模型出现了过拟合现象的时候,我们需要通过正则化的方式来解决过拟合的现象,具体的做法是在损失函数后面加上惩罚项,其中θ3、 θ4 非常接近于0,使得损失函数的均方误差尽量的小,使得损失函数从:
称为:
这些参数的值越小,通常对应于越光滑的函数,也就是更加简单的函数。因此 就不易发生过拟合的问题。
(2)关于正则化方面更详细的讨论,可以看看这个帖子
三、逻辑回归(对数几率回归,logistic regression)
1.上面的介绍是使用线性模型进行回归的学习,但是如果要做分类任务怎么办呢?找一个单调可微的函数将分类任务的真是标记y与线性回归模型的预测值联系起来,但是在二分类任务中,输出标记是0或1,但是线性回归模型产生的预测值是实值,因此需要将实值转换为0/1值,最理想的是单位越阶函数,若预测值z大于0就判定为正例,小于0就判定为反例,预测值为临界值0的时候可以进行任意的判别。我们的对数几率函数正式这样的一个替代的函数:
这个函数可以将z值转化为0或者1的y值,因此可以得到下面的式子:
即若预测值大于0,则判定为正例,小于0则判定为反例,预测值为临界值则可以进行任意的判别。
通线性回归,该式可以变化为:
这个时候,我们将y视为x作为正例的可能性,那么1-y就是反例的可能性,二者的比值如下:
该比值称为几率,反应了x作为正例相对的可能性,对几率取对数,那么就可以得到对数几率了:
上面y的取值是在用线性回归模型的预测结果来逼近真实标记的对数几率,因此称之为对数几率回归(logistic regression)。虽然名字是回归,但是实际上是一种分类的学习方法。
2.和线性回归模型一样,logistic regression模型也需要对w和b确定,这里我们注意:将式子中的y视为后验概率估计p(y=1|x),上式可以写为:
于是有:
3.损失函数(loss function):
4.二分类与多分类