小小白从零进行机器学习(单一特征量的线性回归算法)

定义:线性回归属于监督算法中回归算法的一种,主要应用场景是连续数值型变量的预测问题。线性回归算法是寻找一条直线,最大程度的拟合样本与特征与样本输出标记之间的关系

线性回归模型描述:

代价函数:

以线性回归函数为例,其中h(x)为所设立的假设函数,\theta1和\theta0为上述假设函数的两个参数,m为样本总数,在线性回归中,有训练集,我们要做的就是得出\theta1和\theta2这两个参数的值使假设函数表示的直线能够尽量的与这些数据点(下图中的叉号)很好的拟合。

那么如何让它更好的拟合数据呢,方法就是使h(x)也就是我们输入x函数预测的值最接近样本的y的\theta1和\theta2算出来,所以,在线性回归问题中,我们要解决的就是一个最小化的问题,关于\theta参数的最小化和h(x)与y的差值的最小化,对应也就是上述式子差的平方,接着将所有xi和yii带入求和,然后再整体乘1/2m(通常是这个数的一半),得到的式子就是这个线性回归函数模型对应的代价函数,同时,代价函数也称之为平方误差函数或平方误差代价函数,我们之所以要求出代价函数,是因为对于大多数问题,特别是回归问题,代价函数是很合理的选择,并且是解决回归问题的最常用手段了。

以下是代价函数的一些例子:

\theta0=0时,即只有\theta1一个参数时

\theta1等于0时h(x)全过数据点,此时根据代价函数代入\theta1得代价函数的值为0,对应下图右中的叉号

 再将\theta1的其它值带入代价函数公式并连线得下图

由图可知当\theta1等于1时代价函数J最小,此时也是拟合效果最好(也是假设函数表示的直线过这些数据点的时候),也符合上面使代价函数最小的结论 

当有\theta1和\theta2两个参数时(参考上个例子的思路)

 当\theta0和\theta1(下图分别对应50和0.06)时h(x)图像如下

像之前一样 将多组 \theta0和\theta1的值代入代价函数得下图

由图可知此时是个三维碗状图,碗状图底部的 \theta0和\theta1 对应的值对应拟合效果最好,也可用等高线图表示

此时选中等高线图靠近中心(即代价函数最小值)一点对应的 \theta0和\theta1 可看到对应的h(x)的图像过了大部分数据点,拟合效果接近最好拟合效果 

梯度下降:

定义:一种可以将代价函数J最小化的一种算法,这是很常用的一种算法,它不仅应用在线性回归中,还被广泛应用在机器学习的众多领域,并且可以在后续最小化其它的函数

 以下是梯度下降方法的工作方式

 我们从 \theta0和\theta1的某个值出发 ,也就是从这个函数表面的任意一点出发(可以给 \theta0和\theta1初始化任何值),将这个函数想象成一座山,你现在位于山顶,如上两图所示,你每走一小步环顾四周考虑怎么走最快走到山底(局部最优解处),由上两图所示不同的起点终点也会不同,这是梯度下降的一个特点,以下是梯度下降算法的式子定义

如果学习率太小,梯度下降会很慢,就像走很多步才能到达最低点,如果学习率太高,则梯度下降可能会越过最低点,甚至可能无法收敛或发散,如果\thetaj本身就初始化在局部最优点或局部最低点,那么梯度下降后\thetaj将不会改变即等于它的本身,这也是你想要的,因为它始终使你的解保持在局部最优点,这也证明了即使学习率不变,梯度下降法也可以收敛到局部最低点的原因

线性回归算法详解(梯度下降算法和代价函数结合得出):

结合方法总的来说就是用梯度下降算法来最小化代价函数,下图中的J函数跟上文不同,是代价函数

首先要弄清楚梯度下降算法中这个偏导数项代表着什么,如下图所示

这就得到了我们的线性回归算法的表达式

要注意,线性回归的代价函数总是这样的凸函数,不存在局部最优解,只有最优解

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值