机械学习的训练模型(线性回归、梯度下降、正规方程)

线性回归

线性回归是一种有监督的学习,解决的是自变量和因变量之间的关系。
线性回归模型预测:
在这里插入图片描述

单变量线性回归

因为只含有一个特征/输入变量,因此这样的问题叫作单变量线性回归问题。

选择不同的参数值,就会得到不同的直线。对于假设函数所预测出来的值和实际值之间的差距就是建模误差,也就是存在着一个代价函数cost function。
在这里插入图片描述我们的目标就是减少假设函数预测数来的值和实际值之间的差距,也就是让代价函数最小。而让代价函数最小,就需要我们选择合适的参数值。

(1)简化对公式的理解
在这里插入图片描述当我们认为θo=0时,我们对θ1取值,得到的J(x)的图像如下图所示(受不同训练集的影响)在这里插入图片描述
(2)当对θo和θ1取值时,我们可以得到这样一个三维立体图像,如下图所示:在这里插入图片描述将三维立体图像用等高线表示,将如下图所示:
在这里插入图片描述

梯度下降

梯度下降法可以将代价函数最小化。梯度下降是很常用的算法,它不仅被用在线性回归上,还被广泛应用于机器学习的众多领域。

用梯度下降,从不同的点出发,可能得到一个完全不同的局部最优解

首先我们选择一个初始值θo、θ1,然后逐渐改变其值
在这里插入图片描述我们可以看到J的函数图形如下(蓝色为最小值):
在这里插入图片描述背后的数学原理:
关于梯度下降算法,是同时更新θ_0和θ_1的

注意:
(1)“:=”表示赋值运算符,例如a:=b => a=b a:=a+1 => a+=1; 但是a=b 在这里表示是断言Truth assertion

(2)α 为学习率learning rate , 当α 越大时梯度下降得越快。如果α过小,趋近最小值就会很慢。如果α过大,就有可能超过最小值,可能越过山谷直接到达山的另一边。

(3)J为一个凸函数,只有全局最小值,没有局部最小值
在这里插入图片描述对J函数分别求偏导数
在这里插入图片描述

还有一个有意思的问题,当我们选取的 一开始就让我们的代价函数在全局最小值,那么情况会怎么样呢?

根据梯度下降算法的公式可以知道,当在全局最小值处时,偏导数就为0,那么就意味着无论梯度下降算法如何迭代, 还是原来的值,就没有发生变化,也就是梯度下降算法不再迭代了。

正规方程

我们先来举一个简单的例子

例:J(θ)=αθ^2+bθ+c 应该要如何求得最小值呢?其实容易想到对J求导,并设J(θ)'=0,得到θ值

那么对于J(θo,θ1,θ2,···,θm) 应如果求得最小值呢?如果如示例一样,逐一对θi求偏导,并设置偏导值f’(θi)=0,然后得到θo,θ1,θ2,···,θm。这显然很麻烦。以下由此引出正规方程。

在这里插入图片描述举出一个示例,方便理解。
在这里插入图片描述有些人也许会问,如果(XTX)不可逆该怎么办呢?
其实也是不用担心的,在Octava中有[pinv,inv]两个函数,使用pinv函数时,即时矩阵不可逆也可以计算出θ的值。

那么什么情况下会导致矩阵不可逆呢?
①太多的特征数量(m<=n),也就是样本过少的时候
②包含了多余的特征函数

正规函数VS梯度下降
梯度下降
①需要选择学习率α的大小;
②需要多次迭代;
③当n很大时性能良好。

正则函数
①不需要选择学习率α;
②不需要迭代;
③需要计算(XTX)的逆;
④如果当n太大时,算法的复杂度过高,可达到O(n^3),课程建议的是 n > 10,000时就不太合适了。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值