线型回归详解
线性回归
1、最小二乘法
最小二乘法的思想非常简单, 通过最小化误差的平方和寻找数据的最佳函数匹配,即求所有观察值的残差平方和的最小值。当然OLS回归是要在一定条件下的:
- Y的平均值能够准确地被由X组成的线性函数建模出来。
- 解释变量之间不存在线性关系(或强相关)。
- 解释变量和随机扰动项不存在线性关系。
- 假设随机扰动项是一个均值为0的正态分布。
- 假设随机扰动项的方差恒为
- 假设随机扰动项是独立的。
剩下的问题我们是要求代价函数的最小值,这也是最小二乘的意思
目标 :求代价函数的最小值
由图可知代价函数是关于θ0和θ1的二次方程,我们知道极值在导数为0的点
以下是我手动推导笔记(村里刚通网,不会电脑输公式)
当然如果是多元线性回归思路也一样,就是计算复杂一点:
ℎ𝜃 𝑥=θ0+θ1x1+...+θpxp
对每个θ求导
2、梯度下降法
我们注意到最小二乘法最后一步要求p个方程组,是非常大的计算量,其实计算起来很难,因此我们就有了一种新的计算方法,就是梯度下降法,梯度下降法可以看作是 更简单的一种 求最小二乘法最后一步解方程 的方法.
此图是梯度下降法工作原理。由图我们就像随机在一个坑洼地带,现在我们要通过不断尝试不同方向走路(改变θ0和θ1)以达到走到此地最低处(J(θ0,θ1)最小值)的目标。
那么现在问题来了,模仿让子弹飞里的台词:A:”第一步怎么走?第二步走到哪?“ B:”走到哪是第三步,我们先把第二步走好,第二步:步子迈多大?“(自娱自乐)。
梯度下降,不就是迭代θ0和θ1嘛,那么第一步来了:怎么走?是分别迭代θ0和θ1还是同时迭代θ0和θ1。答案是同时迭代θ0和θ1,有人会疑惑为什么不能一个个迭代?同时迭代能找到正确的梯度下降的方向,只迭代一个可能一开始方向就偏离了。其实这就好比咱们学习文理不能偏科一样,咱们高考也是偏科可能大学都考不上了。
我们经过努力迈出了人生正确的第一步,现在到第二步了:步子迈多大,这里的步子就是学习速率α。鲁迅说的好:步子迈大了容易扯*。那么我们的α多大就变得至关重要了,那么怎么选α的值呢,我能笃定的说我也不知道吗(手动捂脸)。大师们告诉我步子不能太大也不能太小。(我靠!这不是什么也没说,还无形中装了会逼),其实说白了就是凭着经验多尝试不同的值。这是吴大师的心决:
3、极大似然估计
极大似然估计个人理解: 当一件事情发生了,我们推算出它发生最有利的概率。比如抛硬币10次结果:6正,4反。那我们会想正面朝上的概率是多少,那还用想吗?!不就是6/10,那是小学解概率问题思路,现在我们用极大似然估计的思路来解。
令正面朝上的概率为p,那么反面朝上的概率就为1-p,那么出现6正4反的联合概率就是p6*(1-p)4。
L(x1,x2......x10;p)=p6*(1-p)4
为了方便计算,把其转为对数似然函数,加个对数并不影响函数的方向。
ln(L(x1,x2......x10;p))=ln(p6*(1-p)4)
ln(L(x1,x2......x10;p))=6lnp+4ln(1-p)
用极大似然的思路,我们需要p值使得抛十次硬币6次朝上的概率最高。则我们对函数求导
ln'(L(x1,x2......x10;p))=(6lnp+4ln(1-p))'=6/P+4/(P-1)=0
最后求得p=6/10
这就是极大似然估计的思路,当事件出现一个结果,我们找出出现这一结果的最高的概率。
好,现在我们怎么用这思路来求线型回归呢?
最小二乘的时候我们假设误差ε是均值为0的正态分布。我们用这一特性来搞点事情。
转变成高斯分布概率函数:
根据极大似然函数的思路,问题变成了我们知道x(i),y(i)我们要找到θ的值使得高斯分布函数成立。
接下来求L(θ)的最大值,因为mlog1/(√2)*σ是常数,现在变为求J(θ)的最小值,问题又到了最小二乘问题上了。
总结:对于线性回归而言最小二乘法是一本武林秘籍,极大似然估计是上半部心法,梯度下降是下半部心法。