平方误差代价函数
我们的目标就是让J()尽可能的小
梯度下降
- := 是赋值的意思
- $\alpha$ 是指learning rate(学习速度)
对theta求导(斜率),theta在左半边的时候,斜率为负,所以theta会向右更新,同理在又边的时候会向左更新。可以得出当斜率为0的时候,theta不再更新。
我们可以用梯度下降对多个参数(theta)进行求导,当多个参数均开始收敛(即前后两次迭代的值不再发生变化了。一般情况下,会设置一个具体的参数,当前后两次迭代差值小于该参数时候结束迭代)的时候,这即为一个比较合适的值。
最小二乘法
- 知识回顾:矩阵的迹
http://blog.csdn.net/mathmetics/article/deta ils/17504179
将训练特征表示为X矩阵,结果表示成y向量,仍然是线性回归模型,误差函数不变。那么θ可以直接由下面公式得出
此方法要求X是列满秩的,而且求矩阵的逆比较慢。
最小二乘法讲解:
https://www.cnblogs.com/iamccme/archive/2013/05/15/3080737.html
最大似然估计
http://www.cnblogs.com/liliu/archive/2010/11/22/1883702.html
带权重的线性回归
上面提到的线性回归的误差函数里系统都是1,没有权重。带权重的线性回归加入了权重信息。
-
基本假设是
-
其中假设w(i)符合公式:
其中x是要预测的特征,这样假设的道理是离x越近的样本权重越大,越远的影响越小。这个公式与高斯分布类似,但不一样,因为W(i)不是随机变量。
此方法成为非参数学习算法,因为误差函数随着预测值的不同而不同,这样θ无法事先确定,预测一次需要临时计算,感觉类似KNN。
分类和对数回归
一般来说,回归不用在分类问题上,因为回归是连续型模型,而且受噪声影响比较大。如果非要应用进入,可以使用对数回归。
对数回归本质上是线性回归,只是在特征到结果的映射中加入了一层函数映射,即先把特征线性求和,然后使用函数g(z)将最为假设函数来预测。g(z)可以将连续值映射到0和1上。
对数回归的假设函数如下,线性回归假设函数只是θ^T x
sigmod函数/Logistic函数
对数回归用来分类0/1问题,也就是预测结果属于0或者1的二值分类问题。这里假设了二值满足伯努利分布,也就是
当然假设它满足泊松分布、指数分布等等也可以,只是比较复杂,后面会提到线性回归的一般形式。
与第7节一样,仍然求的是最大似然估计,然后求导,得到迭代公式结果为
这个结果看上去与线性回归类似,只是θ^T x(i)换成了hθ (x(i)),但其实h就是θ^T x(i)经过g(z)映射过来的,而这也是它与最小二乘回归的最大区别
岭回归
简单来说,岭回归是在矩阵X^tX上加入一个∂ I 从而使矩阵奇异,进而能对X^tX+ ∂ I 求逆。其中矩阵I是一个m*m的单位矩阵,对角线元素为1,其余元素为0,而∂是一个用户定义的数值。在这种情况下,回归系数的计算公式变成:
岭回归最先用于处理特征数多于样本数的情况,现在也用于在估计中加入偏差,从而得到更好的估计,这里通过引入∂来限制了所有w之和,通过引入惩罚项,能够减少不重要的参数,这个技术在统计学中也叫做缩减。