二,线性回归算法

二.一 单变量(x)线性回归模型
1,在监督学习中我们有一个数据集,它被称为一个训练集 ,以住房为例
这里写图片描述
m为训练集的总的训练样本的数量,x为输入变量/特征,y为输出变量/目标变量 (x,y)表述一个训练样本,(x^(i),y^(i))为第i行训练样本
那么。什么是训练集呢,监督学习是怎样工作的?下图:

这里写图片描述
我们向学习算法提供训练集,比如上例的房价训练集,学习算法的任务是输出一个函数,通常用h表示,称为假设函数,它的作用是输入一个变量x,如房子的大小,输出相应预测的价钱y。h是一个引导从x得到y的函数,下一步便是如何表示假设函数h,在本系列h会以下图表示或者上图绿色字体,缩写成h(x),同时h(x)是表示y是一个关于x的线性函数。线性回归模型:h_θ(x)=θ_0+θ1*x
本例为一元线性回归即单变量线性回归模型,变量x是房子大小
2,代价函数的数学定义:
选择不同的参数会产生不同的假设函数,如
这里写图片描述
在线性回归中我们有一个训练集,我们要做的是得出θ0和θ1的值的假设函数,使这个假设函数直线尽量的和数据点拟合,即选择θ0和θ1使h(x)输入x时我们预测的值最接近该样本的y值的θ0和θ1这里写图片描述
所以要写出θ0和θ1的最小值 而且希望(h(x)-y)^2的值最小即尽量减少假设输出的值与真实y值之间差的平方的大小,于是便有平方误差代价函数
这里写图片描述
于是关于θ0和θ1 对函数J(θ0,θ1)求最小值
3理解代价函数,设θ0=0便于理解
这里写图片描述
事实上这是我们需要了解的两个关键函数,一是假设函数,二是代价函数。注意hθ(x),对于给定的θ1,这是一个关于x的函数,如房子尺寸x的函数,而代价函数是关于参数θ1的函数,他控制着直线的斜率,开始绘制:
1,当θ1=1时
这里写图片描述
2,若θ1=0.5,继续画图:
这里写图片描述
3,继续假设θ1=0,θ1=-0.5。。。
这里写图片描述
我们的优化目标就得出了,θ1=1,此时的目标函数hθ(x)=x,对于这个特殊的训练集,我们完美的拟合了它
二.二Gradient descent(梯度下降算法)
1,导引:在之前我们已经定义了代价函数J,可以将函数J最小化的梯度下降法,它不仅用于线性回归上还用于很多机器学习算法中。
它的工作流程大概是将θ0和θ1定为0,接着一点一点的改变θ1和θ0来使J变小,指导我们找到最小值或者局部最小值
2,如何直观理解它呢
这里写图片描述
想象一下,当你在红色的山上,想最快下山,于是环顾四方,向最快的一段地方走,然后再找,再下,最后到到局部最优解。然而梯度下降法有一个特点,若是起始点偏了一点你会发现,得到一个完全不同的局部最优解
这里写图片描述
3,梯度下降的数学原理:
这里写图片描述
参数α称为学习速率,它控制我们以多大幅度更新参数θj,通俗就是梯度下降的步子,成正比关系。在这个表达式中:=是赋值符号,不断同步更新θ0和θ1,也就是左下的方式,通常人们说梯度下降即是它,而右边的是其它算法,对于深蓝色圈起来的导数项(偏导数)在后边会进行推导
4,深入了解这个梯度下降
这里写图片描述
再次假设θ0=0,于是得到J(θ1)的函数,θ1∈R。
这里写图片描述
这样导数项的数学意义便清晰了,下面来看学习速率α
这里写图片描述
那么问题来了,若开始θ1便是局部最优解会发生什么?
θ1:=θ1-α(d/dθ1)*J(θ1) ,斜率为0,即α*0,即不变了θ1。(●ˇ∀ˇ●)。这也解释了即使α不变,梯度下降也可以收敛至局部最优解的原因
这里写图片描述
梯度下降算法,你可以用它来尝试最小化任何代价函数J而不只是线性回归代价函数
二.三 单变量(x)线性回归算法
1,化简后的梯度下降
这里写图片描述
2,如何应用的:梯度下降问题是容易陷入局部最优中,但是线性回归的代价函数是弓装函数,一个凸函数,意味着当解决线性回归问题是,梯度下降总是收敛到最优解,接下来看看如何使用的。
通常情况下初始化会从θ0=0和θ1=0开始,但本例中我们从θ0=800,θ1=-0.14开始,此时的偏导数为正数,开始收敛,慢慢的,收敛于最低,如下图所示
这里写图片描述
这被称为Batch梯度下降法,在每一次单独的梯度下降时,我们都遍历了m个训练样本的总和

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值