前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >机器学习1--线性回归模型

机器学习1--线性回归模型

作者头像
用户5473628
发布2019-08-08 10:44:57
7160
发布2019-08-08 10:44:57
举报
文章被收录于专栏:MiningAlgorithms

目录:

1,假设条件:

2,α、β推导:

3,R_square:

4,梯度下降法:

5,牛顿法:

6,回归模型的评价指标:

1,假设条件:

1),y的均值是x的线性组合(Linear Function);

2),残差e_i独立于x;

3),给定x, 残差e_i要服从正态分布(Normal Distribution);

4),对于不同的xi, 残差e_i的方差variance应相同(qual Variance)。

2,α、β推导:最小二乘法

最小化残差平方和,即最小化SSE:

根据方差与协方差的如下性质:

通过极值条件,求得α、β的估计值如下:

3,R_square:

样本中总偏差平方和中,被回归平方和解释的百分比:

注意:

R_square小不代表自变量与因变量没有关系;R_square大也不代表自变量与因变量一定是线性关系;R_square大同样不代表结果显著(与确定性有关)。

4,梯度下降法:

由于方程的数量远大于未知数的个数,即样本点的数量远大于参数的个数,使得上述线性回归模型极有可能没有解析解。

在机器学习中,梯度下降法是比较基础和重要的求最小值的算法:

下山问题

假设我们位于黄山的某个山腰处,山势连绵不绝,不知道怎么下山。于是决定走一步算一步,也就是每次沿着当前位置最陡峭最易下山的方向前进一小步,然后继续沿下一个位置最陡方向前进一小步。这样一步一步走下去,一直走到觉得我们已经到了山脚。这里的下山最陡的方向就是梯度的负方向

梯度表示某一函数在该点处的方向导数沿着该方向取得较大值,即函数在当前位置的导数。

其中,θo是自变量参数,即下山位置坐标,η是学习因子,即下山每次前进的一小步(步进长度),θ是更新后的θo,即下山移动一小步之后的位置。

5,牛顿法:

在机器学习中,牛顿法、梯度下降法,都是主要的优化算法。

并不是所有的方程都有求根公式,或者求根公式很复杂,导致求解困难。利用牛顿法,可以迭代求解。

算法原理:寻找f(x)=0时,x 的值。

利用泰勒公式,在x0处展开,且展开到一阶,即f(x) = f(x0)+(x-x0)f'(x0)

求解方程f(x)=0,即f(x0)+(x-x0)*f'(x0)=0,求解x = x1=x0-f(x0)/f'(x0),因为这是利用泰勒公式的一阶展开,f(x) = f(x0)+(x-x0)f'(x0)处并不是完全相等,而是近似相等,这里求得的x1并不能让f(x)=0,只能说f(x1)的值比f(x0)更接近f(x)=0,于是乎,迭代求解的想法就很自然了,可以进而推出x(n+1)=x(n)-f(x(n))/f'(x(n)),通过迭代,这个式子必然在f(x*)=0的时候收敛。

迭代过程如下图所示:

一般认为牛顿法可以利用到曲线本身的信息,比梯度下降法更容易收敛(迭代更少次数),如下图是一个最小化一个目标方程的例子,红色曲线是利用牛顿法迭代求解,绿色曲线是利用梯度下降法求解。利用python算法实现时,牛顿法的用时较少,迭代次数较少。

算法实现流程:

其中是一个人工设定的接近于0的常数,和梯度下降法一样,需要这个参数的原因是保证的邻域内,从而可以忽略泰勒展开的高次项。如果目标函数是二次函数,Hessian矩阵是一个常数矩阵,对于任意给定的初始点,牛顿法只需要一步迭代就可以收敛到极值点。下图为对x*x+y*y用牛顿法求解:

牛顿法并不能保证每一步迭代时函数值下降,也不保证一定收敛。为此,提出了一些补救措施,其中的一种是直线搜索(line search)技术,即搜索最优步长。具体做法是让

取一些典型的离散值,如0.0001,0.001,0.01等,比较取哪个值时函数值下降最快,作为最优步长。

与梯度下降法相比牛顿法有更快的收敛速度,但每一步迭代的成本也更高。在每次迭代中,除了要计算梯度向量还要计算Hessian矩阵,并求解Hessian矩阵的逆矩阵。实际实现时一般不直接求Hessian矩阵的逆矩阵,而是求解如下方程组:

H_k * d = - g_k

求解这个线性方程组一般使用迭代法,如共轭梯度法,等。

6,回归模型的评价指标:

分类问题的评价指标是:recall_rate、precision_score;

回归算法的评价指标有:R-Squared、MSE,RMSE,MAE。

均方误差:MSE (Mean Squared Error)

均方根误差:RMSE(Root Mean Squard Error)

平均绝对误差:MAE(Mean Absolute Error )

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-11-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 MiningAlgorithms 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档