其他分享
首页 > 其他分享> > 机器学习 | 模型表示和代价函数

机器学习 | 模型表示和代价函数

作者:互联网

1、模型表示

监督学习是对于每个数据,给出了正确的答案。对于上面房价预测列子来说,根据我们给的数据,房子的实际价格是多少。预测出的是一个准确的输出值。

 

监督学习中,数据集被称为训练集。

m :表示训练样本的数量

x :表示输入变量,也被称为特征值

y :表示输出变量或目标变量

(x,y) :表示一个训练样本,为了表示某个训练样本,可使用x(i)和y(i)具体表示,其中i是上标,表示第i个训练样本。

监督学习问题:

我们的目标是,给定一个训练集,学习函数h : X → Y,h(x)是对应于y值的一个好的预测。

h :代表hypothesis(假设),表示一个函数,h根据输入的x值得出y值。因此h是一个从x到y的函数映射。

hθ(x)=θ₀+θ₁x   (y关于x的线性函数),hθ(x)可简写为h(x)。

当我们试图预测的目标变量是连续的时(列如给定居住面积,预测房屋的价格),称该学习问题为回归问题。当y只能取少量离散值时(列如给定居住面积,预测是住宅还是公寓),称之为分类问题。

 

2、代价函数

参数值θ0和θ1,被称为模型参数。选择不同参数θ0和θ1会得到不同的假设,不同的假设函数。

h(x) 在线性回归中有一个训练集,我们要做的就是 得出θ0 θ1这两个参数的值来让假设函数表示的直线尽量地与这些数据点很好的拟合。所以我们要选择能使h(x)也就是输入x时预测的值,最接近该样本对应的y值的参数θ0和θ1。

 

上面这个表达式表示关于θ0和θ1的最小化过程 这意味着我们要找到θ0和θ1 的值来使这个表达式的值最小 。

简单地说,我们正在把这个问题变成 :找到能使我的训练集中预测值和真实值的差的平方的和的1/2M最小的θ0和θ1的值 。

以上函数是一个代价函数(也被称为平方误差函数或平方误差代价函数),可用来衡量假设函数的准确性。

简化了算法,把 θ0 设定为0,函数只有一个参数 θ1。

看到上面曲线 让 J(θ1) 最小化的值 是 θ1 等于1 ,然后这个确实就对应着最佳的通过了数据点的拟合直线 ,这条直线就是由 θ1=1 的设定而得到的 然后对于这个特定的训练样本,能够完美地拟合,这就是为什么最小化 J(θ1) 对应着寻找一个最佳拟合直线的目标。可想到这个代价函数就是初中学过的二次函数,最小值就是在θ为1处取得。

对于有两个参数θ0和θ1,代价函数变成了二元二次函数:

一个三维曲面图 两个轴分别表示θ0和θ1,随着改变θ0和θ1的大小,便会得到不同的代价函数 。

J(θ0,θ1) 对于某个特定的点 (θ0,θ1) ,这个曲面的高度也就是竖直方向的高度就表示代价函数 J(θ0,θ1) 的值 。这是一个弓形曲面,下面是这个曲面的三维图 水平轴是θ0、θ1 ,竖直方向表示 J(θ0,θ1)

为了描述方便 ,用轮廓图来表示 。contour plot (等高线)或 contour figure(轮廓图) 意思一样。两个轴分别表示 θ0 和 θ1 ,而这些一圈一圈的椭圆形 每一个圈就表示J(θ0,θ1) 相同的所有点的集合 。

可以从图看出当θ0,θ1值分别为250和0.12左右时,已经非常靠近最小值点了。此时的代价函数基本上是比较接近最里面的圈中心点。

3、梯度下降(Gradient Descent)

下面如图,坐标轴 θ0和θ1在水平轴上 而函数 J在垂直坐标轴上 图形表面高度则是 J的值 ,我们希望最小化这个函数。所以先将他们初始化为任何值, 不断尝试重复寻找最小值。

梯度下降算法:

j=0,表示特征索引号,对于每一个迭代j,都应该同时更新参数θ1​,θ2​,...,θn​。注意这个符号 := 表示赋值 这是一个赋值运算符 。

参数 α 术语称为学习速率 ,它控制我们以多大的幅度更新这个参数θj.,第二部分是导数项 。

α的大小选择需要适当,既不能太小使得梯度下降太慢,也不能太大,梯度下降法可能会越过最低点 ,甚至可能无法收敛。

 

在梯度下降法中,即使学习率α固定,梯度下降也可以收敛到局部最小值。因为当我们接近局部最低点时,导数等于零 ,梯度下降法会自动采取更小的幅度。可以用梯度算法来最小化任何代价函数J 不只是线性回归中的代价函数J 。

4、梯度下降的线性回归(Gradient Descent For Linear Regression)

当具体应用于线性回归的情况下,可以推导出梯度下降方程的一种新形式。我们可以将实际成本函数和实际假设函数代入,将方程修改为:

m是数据集大小,θ1​,θ0要同时更新,y是给定的训练集数据。

如果我们从假设的猜测开始,然后反复应用这些梯度下降方程,我们的假设就会变得越来越准确。

因此,这仅仅是代价函数j上的梯度下降。这种方法在每一步都查看整个训练集中的每个例子,称为批量梯度下降。注意,虽然梯度下降通常容易受到局部极小值的影响,但我们在这里提出的线性回归优化问题只有一个全局最优值,没有其他局部最优值;因此总梯度下降法收敛(假定学习速率α不是太大)全局最低。实际上,J是一个凸二次函数。下面是一个梯度下降的例子,因为它是为了最小化凸二次函数而运行的

 

 

标签:表示,函数,梯度,下降,参数,模型表示,代价
来源: https://blog.csdn.net/qq_42646885/article/details/97611410