机器学习01——线性回归(个人学习笔记)

给定数据集D={(x1,y1),(x2,y2),.....},我们试图从数据集中学习出一个线性模型,其尽可能准确的反应出x(i),y(i)之间的关系。数据集中是有着从x映射到y的关系。而通过这种关系,可以让机器总结出一条线性关系,从而可以预测之后发生的x->y的映射关系。

而这一关系可以总结出方程,总体上就是

 当然这只是一个单纯的x变量,其中w和b都是参数,我们要确定的就是w和b,从而确定f(x)函数,从而拟合出一条线性关系。所以是可以有诸如此类的多维特征的,如下:

那么如何确定w和b为最优的系数呢,其实总结出最终目的,就是要拟合出一条线性关系,并且可以给出一个预测模型罢了。所以我们要做的尽可能使得结果更准确。所以引出了损失函数或者叫代价函数

        这就是损失函数的公式,f(xi)就是我们预测出的值,y(i)就是实际的值,他们相减的平方之后求和,就是所有预测出的值与真实值的偏差之和,这个值越小,就说明预测值与真实值越接近,预测效果越好。这里其实就是1到m个数据的标准差之和,然后除以平均的m,这里之所以是1/2完全是为了之后的求导方便运算所以强行加上去的,不影响实际预测。当然我们必须把损失函数尽可能降到最低。所以就引出了两种方法,分别是梯度下降,和正则方程。

梯度下降正规方程
需要选择学习率不需要
一次运算得出,当特征数量n大时也能较好适用需要计算如果特征数量n较大则运算代价大,因为矩阵逆的计算时间复杂度为 ,通常来说当n小于10000 时还是可以接受的
适用于各种类型的模型只适用于线性模型,不适合逻辑回归模型等其他模型

        梯度下降可以想象成,一个人下山,逐步寻找最优路径,这样的方法可以到达群山的山谷,但是山谷可能是极小值点,不一定是最小值点。所以,这就成了一个找极值的问题了,按照一般的数学方法,直接求导即可,由于这里有两个参数,所以分别对w和b求偏导即可。 

                唯一不同的是需要一个α来作为学习率,这里的学习率可以理解为步数,即一个人下山的步数频率(选择是走一步马上寻找当前的最优路线,还是走好几步再找最有路线)注意:这里的w和b一定要同时求导赋值。因为下山的时候不仅仅要关注山坡的陡峭程度,也要关注它的偏移量。所以这里的α的选取不宜过大和过小,过小则浪费时间,过大可能为导致结果不准确。具体需要自行调参决定。

再求完导后得到的新的方程即为梯度下降最终方程:

        在多维的视角下可列出这样一个方程

若我们把w和x堪称一个向量,那么f(x,b)将只是两个向量之积加上一个偏移量的结果了 。

相比较而言,多维下没有任何区别,只是以向量的形式进行理解罢了 ,所以就是对多个参数求代价函数罢了。所以就要多次更新。

关于特征缩放

关于多变量线性回归的问题,为了保证这些变量(属性和特征)取值范围具有相似的尺度而不至于使得某些属性参与的权重过大或过小。还需保证梯度下降的算法收敛的更快。所以会将其标准化。具体的示例如下:

至于正规方程最小化损失函数其实就是,最小二乘法的矩阵形式。其依靠的是矩阵的数学知识,这里不论述。

对于多项式存在的过拟合的问题,常常用正则化的方法来解决,即减少一些没必要的变量(属性和特征)即w,尤其是最高次项的系数。修改的代价函数如下

 

其中λ为正则化系数,取值对模型的影响很大。如果过大,则会导致所以参数及都最小化趋近于0,导致模型变成一条平行于横轴的直线,造成欠拟合。如果过小,则没有什么影响,还是过于拟合 。如果等于0,就相当于没有使用正则化。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值