Machine Learning机器学习课堂笔记4(代价函数)

CostFunction-Intuition1

接下来我们将定义代价函数的概念,这有助于我们弄清楚如何把最有可能的直线与我们的数据相拟合。

再次使用我们在线性回归中的例子,M代表了训练样本的数量(比如M=47),而我们的假设函数,也就是用来进行预测的函数,是一个线性函数的形式,θi被称为模型参数,


选择不同的参数θ0、θ1,会得到不同的假设、不同的假设函数


选择第二个答案。

在线性回归中,我们有一个训练集,我们要做的就是得出θ0、θ1参数的值来让假设函数表示的直线尽量地与这些数据点很好的拟合,想法是:我们要选择能使h(x),也就是输入x时我们预测的值最接近该样本对应的y值得参数θ0、θ1,所以,在我们的训练集中我们会得到一定数量的样本,我们知道x表示卖出哪所房子,并且知道这所房子的实际价格,所以我们要尽量选择参数值,使得在训练集中给出训练集中的x值我们能合理准确地预测y的值。给出标准的定义,在线性回归中,我们要解决的是一个最小化问题,所以要写出关于θ0、θ1的最小化,而且要求h(x)和y之间的差异最小,就是尽量减少假设的输出与房子真实价格之间的差的平方。(x(i),y(i))代表第i个样本。、我们需要对所有训练样本进行一个求和,对假设的输出与房子真实价格之间的差的平方进行求和,再让和除以样本的数量,得到平均值,我们的目的就是尽量减少我们的平均误差,也就是尽量减少其1/2m,通常是这个数的一半,因此对这个求和值的二分之一求最小值和对这个求和值对最小值会得到相同的参数θ0、θ1。hθ(x)代表的是我们假设它等于θ0加上θ1与x(i)的乘积,而这个表达表示关于θ0和θ1的最小化过程,所以我们要找到θ0和θ1的值使得这个表达式的值最小,表达式会随着θ0、θ1的变化而变化,所以我们将问题变成找到能使训练集中预测值和真实值的差的平方的和的1/2M最小的θ0、θ1的值,所以,这将是线性回归的整体目标函数,为了使它更明确。我们将改写这个函数,要定义一个代价函数(如图J(θ0,θ1)函数),我们先要做的就是关于θ0和θ1对函数J(θ0,θ1)求最小值,代价函数也被称作平方误差函数,有时也被称为平方误差代价函数,事实上,我们之所以要求出误差的平方和是因为误差平方代价函数对于大多数问题,特别是回归问题都是一个合理的选择。还有其他的代价函数也能很好的发挥作用,但是平方误差代价函数可能是解决问题最常用的手段了。

 

CostFunction-Intuition2

为了方便理解,我们简化算法,让函数只有一个参数θ1。

要理解代价函数的含义,我们要理解两个函数:第一个是假设函数,第二个是代价函数。

假设函数h(x)对于一个固定的θ1,这是一个关于x的函数,所以这个假设函数就是一个关于x这个房子大小的函数,与此不同的是,代价函数J是一个关于参数θ1的函数,而θ1控制着这条直线的斜率,我们画出函数图(如图),比如训练样本有三个点(1,1)(2,2)和(3,3),选择一个值θ1,当θ1等于1,我们会得到一条直线(如图中左边的直线),x轴是表示房子大小的量,我们要算出在θ1=1的时候J(θ1)等于多少,所以按照这个思路来计算代价函数的大小,和之前一样J(θ1)值就是对误差平方项进行求和,这这个例子中,就是对三个零的平方和,当然还是0,现在,在代价函数中,我们发现所有这些值都等于0,因为对于这三个训练样本(1,1)(2,2)和(3,3),如果θ1=1那么h(x(i))就会正好等于y(i),所以h(x)-y所有的这些值都会等于0。接着画出代价函数J,需要注意的是:代价函数式关于参数θ1的函数,当描绘代价函数时,X轴就是θ1,现在J(1)=0,θ1可以被设定为某个范围内各种可能的取值,所以θ1可以取负值、0或者正数,如果θ1等于0.5会发生什么呢?

现在要把θ1设为0.5,在这个条件下,我们的假设函数(如图左边的那条线)的斜率为 0.5,计算一下J(0.5)所以这将会等于1除以2m乘以平方差之和,其实我们会发现平方差之和就是这条线段中三点与直线上对应函数值之间高度的平方求和(如图左边蓝色连线高度的平方求和)也就是y(i)与预测值h(x(i))的差,J(0.5)=1/(2*3)*[(0.5-1)2+(1-2)2+(1.5-3)2]=3.56/6=0.58,将该点画在代价函数的图像中。

选择第四个答案。

我们再做一个点,让θ1为0,那么h(x)就会等于一条水平的线,我么计算J(0)=(12+22+32)/2*3=14/6=2.3,当然我们可以接着设定θ1等于别的值进行计算,也可以设置成一个负数,所以如果θ1为一个负数,假设θ1=-0.5,那么h(x)将会是一条单调递减的函数,结果会是非常大的误差,最后h(-0.5)会得到一个较大的值,类似于5.25,再取一些点进行计算,通过计算这些值,就会慢慢地得到一条曲线,也就是J(θ)的样子。任何一个θ1的取值对应着一个不同的假设函数或者说对应着左边一条不同的拟合曲线,对于任意的θ1可以算出一个不同的J(θ1)的取值。在图中左边的绿色的线对应右边绿色的点,红色与蓝色也是一样的,所以对于任意一个θ1的取值,我们会得到一个不同的J(θ1)而且我们可以利用这些来描出右边的这条曲线。

优化算法的目标是我们想找到一个θ1的值来将J(θ1)最小化,这是我们的目标函数,看右边的曲线,让J(θ1)最小化的值是θ1等于1,然后发现这个确实对应着最佳的通过了数据点的拟合直线,然后,对于这个特定的训练样本,我们最后能够完美地拟合,这就是为什么最小化J(θ1)对应着寻找一个最佳拟合直线的目标。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值