最小二乘法和梯度下降法

1.最小二乘法的原理以及要解决的问题

                 最小二乘法主要是根据线性相关的知识进行求解。为了方便理解,我们先举一个一元回归的例子

对于二元组(x,y),每一个x我们所能观察到对应的Y值,故设产生N组(x,Y)

       假设已知其成线性相关并设 Y = ax + b +  ε 其中 ε为误差 并服从高斯分布ε~N(0,δ²) PS:为什么要服从正太分布,嗯哼,首先是这逼分布是大自然的最常见的分布,其次,我们看下就算不用概率学的知识也能得出这一点)请看高数书的解答在散列点上就算是服从线性相关分布也找不到一条直线使其落在这条直线上,原因很简单,因为它们根本就不在同一条直线上,嗯哼,懵逼了吧,哈哈。但是可以找到一条直线使这些点的观测值(实验数据)和函数值的偏差最小,偏差这是简单的一维欧氏距离y - f(x)为了防止相互正负抵消 故加了个平方(y - f(x))²,嗯哼,保证整体偏差小就求和∑y - f(x)² = y - ax - b² = M(x)。建模成功就成为纯数学问题了,a,b取什么值时,M(x)值最小。 分别对a,b求偏导。

OK,再来看看从概率统计学的角度出发, ε~N(0,δ²),可以得出,直接看图说话


OK  你会发现 Q(a,b)就是上述说的偏差最小函数,故间接证明了误差ε是服从高斯分布的,哦得椰!接下来就是求a,b。上述的Q(a,b)和M(X)就是我们损失函数或者评价函数



嗯哼 这就是完美求出a,b了,有兴趣的兄弟可以自己推导下,嗯哼,因为书写不怎么雅观就不把鄙人的推导上传了

再来扩展到多元函数


损失函数

求导


然后就求解,嗯哼 不会解了吧,转化为矩阵模式

损失函数 1/2 为了方便求导 并不影响求导结果

可得



2.梯度下降算法

        什么是梯度,梯度是一个方向向量,物理含义就是指沿着这个方向变化率最大,即下降最快,但是每一个点都有一个对应的梯度,由于值是连续的我们只能离散化求梯度值,故这就涉及到我们的步长,即离散化程度,因此步长的选择,有可能会造成局部最优而不是全局最优解。梯度的数学定义是

即对每一个分量求偏导 ,下一步求偏导的点则根据步长求出



这样不断迭代 知道偏导为0


说下梯度下降算法的调优

(1)首先当然是步长的选择(嗯哼,老师启发说有没有一种从天而降的算法经过训练会自动调步长,嗯哼理论上应该可以加上求参数 应该是平方级算法 下次可以尝试),步长默认取1,调节步长主要根据损失函数,调解后有效 损失函数变小。步长太大可能不是最优解,太小则增加迭代次数,凸函数一定有最优解

(2)初值的选择,看命?

(3)归一化。特征值归一化,因为其取值范围会影响迭代速度,归一化后迭代速度会加快


搜噶 

现在明白 最小二乘法和梯度下降法的区别了吧,最小二乘法一步到位,而梯度下降法还需要迭代

再来说说优劣

最小二乘法需要求逆矩阵,有两个问题,一个是否存在逆矩阵(可通过去除冗余),第二你、、矩阵过大逆矩阵求解麻烦

故最小二乘法适用于小样本,大佬说10000个为分界

样本数量。当样本量m很少,小于特征数n的时候,这时拟合方程是欠定的,常用的优化方法都无法去拟合数据。当样本量m等于特征数n的时候,用方程组求解就可以了。当m大于n时,拟合方程是超定的,也就是我们常用与最小二乘法的场景了。(大佬说的)

嗯哼 第一篇博客,排版和内容都不怎么好,就这样 ,加油吧

大佬博客

http://www.cnblogs.com/pinard/p/5976811.html

http://www.cnblogs.com/pinard/p/5970503.html

另一参考博客

https://blog.csdn.net/xiaocainiaodeboke/article/details/50371986

当然还有Ng 机器学习公开课 网易公开课有





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值