机器学习 学习总结 第一章 监督学习中的线性回归算法

监督学习中的线性回归算法

监督学习:对于每一个数据,给出了“正确的答案”

线性回归算法

回归问题: 回归是指我们根据之前的数据预测一个准确的输出值
分类问题: 当我们要预测离散的输出值,0/1离散值输出问题
数据集(训练集)
以房子价格为例,数据集就包含不同房屋的价格,我们需从数据中学习预测房屋价格。
数据集
m表示数据集中数据的数量,x为输入量,y为输出量。(x,y)为一个数据实例。
流程
h为从x到y的一个映射。 Learning Algorithm 为算法。h(x)=θ0+θ1x. 线性方程为最简单的一种模型
如何选择不同的模型参数θi
在这里插入图片描述
最小化问题:找到θ0和θi使得1/2m*Σ(h(x(i))-y(i))²最小。h(x(i)) 为预测值,y(i)为数据值。

代价函数

代价函数(平方差成本函数):
J(θ0,θi)=1/2m*Σ(h(x(i))-y(i))² , 即求代价函数的最小值。
线性回归方程 代价函数
h(x)是关于x的函数,而J(θ)是关于θ的函数。 对于每一个θ都有一个确定的h(x)来拟合数据集。 拟合度就可由上面公式算出,就是J(x). 我们要做的求出一个θ值,使得J(θ)最小。对于的h(x)就是最适合的线性回归方程。
函数图
如图,分别去不同的θ值画出了了J(θ)的函数图像,可以看出θ=1时取值最小。
对于两个变量 θ0 和θ1 的线性回归方程:
两变量线性回归方程
做法和之前的一样,给出一个数据集,选取不同的θ0和θ1值来拟合数据,并求出对于的代价函数值J(θ0,θ1)。 函数图像如图:代价函数三维图像
在三维图像中可以看出,对于不同 的θ0和θ1值,都能求出一个J(θ0,θ1)值。呈一个曲面,曲面的最低点就是我们要求的点。
可以用类似于地形图的图来表示J

梯度下降算法

算法公式

先对θ0和θ1初始化,通过不停的变换θ0和θ1的值来使J(θ0,θ1)减小,直到J(θ0,θ1)取最小值或局部最小值。算法公式如图:
梯度下降算法
我们要做的就是不断运用这个公式来更新θ值来实现梯度下降,找到J(θ0,θ1)的最小值。
:=表示赋值。 a:=b即把b的值赋给a。
α被称为学习效率。在梯度下降算法中,α就相当于我们下山时会迈出u多大的步子,α值越大,在相应的梯度下降过程中,步子越大,速度越快。即控制以多大的幅度更新θ0和θ1.
微分项即求偏微分。
还有一个问题在于更新θ0和θ1的值。更新公式如图:
θ0和θ1迭代公式
temp0和temp1作为中间变量,先分别算出,再分别赋值给θ0和θ1.

梯度下降法的理解

为什么梯度下降法可以帮我们找到代价函数的最小值。通过J(θ)函数来理解。我们假设 J(θ)函数在θ=θ0处取得最小值。再去一个θ1>θ0,作为初始值。选定一个学习效率α,求出θ1点处的倒数,运用上面的算法公式算出θ2.因为θ1处的导数大于0,所有θ2<θ1,只要选取的α值合理(不要太大,太大可能造成离散,也不要太小,太小效率太低,要很久才能达到最低点。),就可以满足θ0<θ2<θ1,θi逐渐趋近θ0. 当θi=θ0时,θi保持不变(因为最低点处导数为0)。

J(θ0,θ1) 梯度函数的理解

迭代算法公式:在这里插入图片描述意思和之前的差不多

发布了16 篇原创文章 · 获赞 3 · 访问量 3377

猜你喜欢

转载自blog.csdn.net/Ace_bb/article/details/103996097