机器学习之线性回归详解

机器学习之线性回归详解

线性回归的算法:
在这里插入图片描述
重点介绍梯度下降算法。
评估模型好坏的方法:损失函数(lost function)
最简单常见的损失函数:最小均方差(mse)
公式如下:
预测房价

预测房价数据,假如模型y=1,最终的值60132无实际意义,但是在对比之下,值越小越好。最好的最小均方差是尽量接近0的,但是根据数据样本不同,不可能等于0

假如预测房价,特征值是面积,目标值是房价,需要拟合出一条线,计算出权重m和b
在这里插入图片描述
步骤一:假设m=0,即y=b,则b为唯一的可调参数,利用最小均方差公式,计算出最小的最小均方差,在此过程中拟合出一个最优的参数b
在这里插入图片描述
在这里插入图片描述
从上得知,“最优”的b值应该是mse=612对应的241附近,这样的话较为符合房价的价格。(这个过程需要一个一个地找最小mse对应的b,比较麻烦,并且图中给的b是从1开始找的,因为不确定b的值,一旦b的值为负值就麻烦了)
为了能尽快并且准确地找到最合适的b,需要引入一个新概念:学习速率(learning rate)
先看一组图:
在这里插入图片描述

需要找到最小的mse对应的b点 ⬆

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
不管b从何值开始取,都需要让计算机根据线的趋势动态地找到最小mse值,即求导数,
在这里插入图片描述
在这里插入图片描述
根据上图,求出的导最小值是-8,对应着最小均方差,此时b=241
尽管如此,此时的b仍是我们用肉眼观察到的最小值,并且b的变化和取值是我们人工加上去的f,计算机可理解不了,我们需要根据一些信号量来调整b的变化。
假如曲线很陡峭的话,例如图b,斜率的值会负的很离谱,那接下来的预测点就是在曲线的右边而不是左边;如果是图a情况,斜率会很大,应该让b往左边偏移 ,也就是说如果斜率为负值,那么接下来的猜测点应该往右移,如果为正值,应该往左移,直到曲线趋于平缓,导数接近于0.

上面我们提到了学习速率(learning rate),它可以根据mse对b的导数,最快地找到最合适的b,如果导数负的越大,那么它就应该变化的越多,如果导数越小,越接近于0,那么它应该变化的越小。
学习速率是一个值,例如0.0001,学习速率是这样用的:本次的b=上一个b - 上一个导数 * 学习速率,如此循环迭代下去,可以很快的找到最接近0的导数对应的b 。

如果学习速率越小的话,例如0.000001,那么b的值变化的越慢,如果学习速率越大的话,例如0.1、0.8,b值变化的越快。变化的越慢就代表要进行大量的迭代,计算量大,不过最终求出的b值会越精确;变化的越快计算量也相应少了很多,但是b值可能不是最好的那个。

如下图:当学习速率为0.00001、0.001,0.01、0.1时:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
当learning rate 为0.2时,b慢慢的趋近于245,导数慢慢的趋近于0
在这里插入图片描述

learning rate的值不能太大,否则b只会离正确的点越来越远

为了简化模型,以上便是y=mx+b,(m=0)情况下,求可调参数也就是权重b的值。(这是一种极端情况,正常情况下m≠0)

所以一般情况下我们要对m和b分别求导:
在这里插入图片描述

同理,得出:
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值