学习笔记:机器学习--1.1代价函数

本文介绍了机器学习中代价函数的概念及其应用。首先定义了假设函数,并解释了如何使用代价函数评估假设函数与训练数据之间的匹配程度。进一步讨论了代价函数在监督学习中的角色,并通过实例说明了如何调整参数以最小化代价。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目前在学习Coursera的Machine Learning课程,决定做一份笔记以便记录学习情况。

这是机器学习的第一章第一节:Cost Function(代价函数)

通过这一节的学习将会了解到以下两个函数公式的含义:

函数1.1.1-Hypothesis:\(h_\theta (x)=\theta _0+\theta_1x\)

函数1.1.2-Cost function:\(\displaystyle J(\theta_0,\theta_1)=\frac{1}{2m}\sum_{i=1}^{m}(h_\theta(x_i)-y_i)^2\)

对于机器学习的问题主要有两大分类:1. Supervised learning  2. Unsupervised learning. 代价函数的目标在于对于给出的一组数据(training set),根据其变化规律(函数1.1.1),来计算函数1.1.1对于给定这组数据的相近程度,即代价(函数1.1.2)。因此代价函数属于第一类,Supervised learning。

首先介绍函数1.1.1,函数1.1.1称为Hypothesis,即我们所假设的这组数据的理想的变化规律,是计算代价函数的基础。

对于该函数:\(h_\theta (x)=\theta _0+\theta_1x\),这是我们学习机器学习所用到的基本假设函数,即存在一个变量\(x\),对应一个结果\(h_\theta (x)\),存在两个系数\(\theta_0\)和\(\theta_1\)。

对应一个简单的例子:假设\(h_\theta (x)\)是房价,房价的影响因素只有一个房屋面积\(x\),同时存在一个基础价格\(\theta_0\),那么我们就可以根据函数1.1.1来预测一个任意大小的房子对应的房价。此时我们就会想到,房价的影响因素还有地理位置(如果我们可以将其量化),还有已建设时间等等,而且地理位置与房价是正相关的,已建设时间与房价是负相关的,同时其相关关系也不一定是一次函数关系等等。因此我们的函数1.1.1可以写成各种各样的形式。

仍以文章所示函数1.1.1为例,这个函数仍然可被简化,也就是\(\theta_0=0\)或\(\theta_1=0\)两种情形:

对于\(\theta_0=0\),函数1.1.1简化为:\(h_\theta (x)=\theta_1x\),此时函数图像过原点;对于\(\theta_1=0\),函数1.1.1简化为:\(h_\theta (x)=\theta_0\),此时函数图像为一条与x轴平行的直线。图像如下所示:


然后介绍函数1.1.2,函数1.1.2叫做Cost function,即标题中所提到的代价函数,代价函数的值反应了所使用的函数1.1.1与给出的这组数据(training set)的贴合程度

对于该函数:\(\displaystyle J(\theta_0,\theta_1)=\frac{1}{2m}\sum_{i=1}^{m}(h_\theta(x_i)-y_i)^2\),由于比较复杂,我们分成以下四步来理解:

1、我们将右半部分看作\(\frac{1}{2}\cdot \bar{x}\),其中\(\bar{x}\)称为Squared error function(或 Mean squared error),也就是函数1.1.1给出的预测值\(h_\theta (x)\)与这组数据的真实值\(y\)的差的平方的平均值(m表示这组数据共有m项);

2、平方项中,\(x\)和\(y\)均有角标\(i\),有时我们也会看到这样的形式:\((h_\theta(x^{(i)})-y^{(i)})^2\),它们的意思是一样的,\(i\)表示的是给出的这组数据(training set)的第\(i\)项,也称作索引,\(x_i\)即表示training set的第\(i\)个自变量的值,\(y_i\)则对应第\(i\)个因变量的值;

3、系数"\(\frac{1}{2}\)"能够简化Gradient descent的计算(梯度下降法计算代价函数最小值),因为在计算过程中要对函数1.1.2进行求导,可知该系数能够在求导后与后半部分的平方进行抵消,从而达到简化计算的效果;

4、我们的目标是使该函数最小,即最符合真实的变化规律,因此需要通过不断调整\(\theta_0\)和\(\theta_1\)的值来实现。

对应具体例子中,需要引入函数1.1.1,我们首先从函数1.1.1的简化形式来计算函数1.1.2,即\(\theta_0=0\)的情况。在此假设我们的training set有三组数据:\((1,1)\),\((2,2)\)和\((3,3)\),如图所示:

函数1.1.1为过原点的直线,方程为:\(h_\theta (x)=\theta_1x\),我们很容易能够想到,当\(\theta_1=1\)时,函数\(h_\theta (x)\)完全符合training set,那么它的代价应该是最小的。根据函数1.1.2,因为\(h_\theta (x_i)\)与\(y_i\)相等,那么二者之差为\(0\),所以函数1.1.2的结果也为\(0\),那么此时对应的\(J-\theta\)图像如上所示,此时仅有点\((1,0)\)。当我们引入\(\theta_1=0.5\)和\(\theta_1=0\)时,分别计算它们在函数1.1.2下的结果,可得到如下图所示点

由此不难推断,函数1.1.2将呈现为一个二次函数的形式,最小值在\(\theta_1=1\)处

至此我们讨论的是\(\theta_0=0\)的情况,上例的\(h_\theta(x)-x\)图像和\(J(\theta_1)-x\)图像可直接画出。

对于\(\theta_0\)不为\(0\)的情况,仍可作出\(h_\theta(x)-x\)图像,不过由于\(J(\theta_0,\theta_1)\)将变为两个自变量,因此会成为三维图像。但是,想到地理中我们所见过的等高线地图,我们同样也可以将其拍扁并用二维图像来表示。以下分别展示了三维情况下函数1.1.2对应的图像和用二维表示的函数1.1.2对应的图像:

此时,我们用Contour(轮廓线)表示\(J(\theta_0,\theta_1)\)值相等的位置,\(x\),\(y\)轴对应为\(\theta_0\),\(\theta_1\),通过改变\(\theta_0\)和\(\theta_1\),将由\(h_\theta (x)\)得到对应\(J(\theta_0,\theta_1)\)图像。

end~


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值