大家好,欢迎来到IT知识分享网。
假设函数 损失函数 代价函数 目标函数 与线性回归
摘要:机器学习是计算机领域中的重要技术,它使人类能够“教”机器如何学习,让人类和机器的联系更为紧密。机器通过处理合适的训练集来学习,这些训练集包含优化一个算法所需的各种特征。这个算法使机器能够执行特定的任务,例如对电子邮件进行分类,对之后情况进行预测。本文将介绍机器学习中最经典的预测算法——线性回归算法,并借由机器学习中的三种函数损失函数,代价函数,目标函数,结合具体的实例详细介绍函数在线性回归算法中的作用和意义。最后给出了线性回归模型的形式化定义。
关键词:机器学习;损失函数;代价函数;目标函数;线性回归
1 前言
人工智能成为当前计算机领域最炙手可热的方向,在这一点上机器学习功不可没。机器学习用计算机程序模拟人的学习能力,从实际例子中学习得到知识和经验,是一门综合学科涉及到统计学,应用数学,经济学和计算机科学它们之间的联系可以表示成下图1-1。机器学习是人工智能的一个分支,也是人工智能的一种实现方法。它已经走完了近40年的道路,各种优秀的算法被人类研究出来,这些算法的诞生时间可以大致表示如图1-2所示。线性回归就是其中最为经典的算法。它从样本数据中学习得到知识和规律,然后用于实际的决策和推断。
图1-1:学科之间的关
图1-2:算法发展时间
2 简单线性回归
在统计学中,线性回归是利用称为线性回归方程的最小二乘函数对一个或多个自变量和因变量之间关系进行建模的一种回归分析。这种函数是一个或多个称为回归系数的模型参数的线性组合。本文将结合具体的实例来讲解线性回归算法在机器学习中的应用。
2.1三种函数的定义和表示
线性回归是机器学习中基础的一种预测算法,要想准确的对数据做出预测,要先了解机器学习中常说的三种函数,分别为损失函数,代价函数,目标函数。言简意赅的对机器学习中三种函数进行定义可以这样认为:
损失函数( Loss Function ):是定义在单个样本上的,算的是一个样本的值和预测值的误差。
代价函数( Cost Function ):是定义在整个训练集上的,是所有样本误差的平均,也就是损失函数的平均。
目标函数( Object Function )定义为:代价函数+ 正则化项(解决过拟合问题),即是最终的优化函数。
接下来通过一个简单的例子表2-1来了解这三种函数的具体含义和它们在线性回归算法中的作用。
机器学习的过程就是将训练集中里的房屋面积喂给学习算法,学习算法就开始工作了,然后输出一个函数,通常被称为h(hypothesis假设函数),有了这个h函数,输入测试数据中想要出售的房屋价格,该函数会给出相应售卖价格,因此h是一个从x到y的函数映射。这个过程可以表示成图2-1。
那么要如何得到这个假设函数h呢?接下来为了能够更好的看到房屋面积和价格的关系,可以描绘出数据集在坐标系中的点。如图2-2。
由图2-2的点可以模拟画出这个假设函数,如图2-3,但是这种模拟的结果不是唯一的,不同的模拟情况导致之后的测试集的测试结果也会不同。图四中最左边的图很明显不能很好的拟合训练的数据,这种情况在机器学习中被称为欠拟合。最右边的虽然能够很好的拟合所有的训练集,但是模拟的函数较为复杂,这种对训练集的过渡拟合被称为过拟合,为什么会造成这种结果?大白话说就是它的函数太复杂了,都有四次方了。而中间的模拟则是一种较为合适的假设函数模拟。
在上面的图中用来预测y关于x的线性函数可以表示为:hΘ(x) = Θ0 + Θ1*x那么为什么是线性形式呢?其实还会有很多复杂的函数,由于线性方程是最简单的,所以先从线性方程入手,这种模型被命名为线性回归模型。另外这实际上是关于单个变量的线性回归,根据x来预测所有价格的函数,对于这种模型,还有一个名字是单变量线性回归。当然,最终我们将会建立更复杂的模型,以及更复杂的学习算法,但是现在可以先从简单的入手。
通过上面的模拟可以大致猜到假设函数的模型,但是机器怎么知道哪种模拟是比较合适的呢?这一过程又如何让计算机理解呢?为了得到假设函数h必须引入机器学习中的三种函数,下面给出三种函数的具体表示[9]。
C<m, hθ(x) ,y,λ>
m:训练样本的个数;
hθ(x):用参数θ和x预测出来的y值;
y:原训练样本中的y值,也就是真实的数据;
i(上角标):第i个样本;
λ :权重系数。
根据前面对函数的定义,在房屋与房价这个案例中由图知假设函数的模型可以定义为:
h(θ)=θ_0+θ_1 x+θ_2 x^2+θ_3 x^3 +⋯+θ_n x^n
则损失函数为:
C(θ)=h(θ)(x^((i) ) )-y^((i) ) (在房屋与房价的例子中即表示的是房价与真实房价的差值)
则代价函数为:
(表示的是数据集中所有数据的样本误差的平均)
目标函数则是在代价函数的基础上加上正则化项,即表示为:
关于代价函数前面的系数为什么选1/2将在后续博客中给予解释。事实上它也可以是其他数,但是这里是为了数学计算上的方便
2.2代价函数的作用
引入这三种函数就可以求解出假设模型中的参数θ,如果知道了参数,这个假设函数h也就得以求解。接下来可以通过具体的例子和计算来看看求解θ到底是怎么一个过程。
图2-4给出了一组简单数据集在坐标系上的表示。这些点分别是(1,1)(2,2)(3,3)。 参数选取的不同会影响到假设函数,在计算机中可以不断的猜测这个参数θ,参数的初始值通常会设为0参数迭代的范围可以称为步长,但是在机器学习领域中有一个更专业的称呼叫学习率[11]。关于学习率的问题将在附录中给予解释。现在关注的是什么时候才是θ的最优解呢?可以通过一组简单的计算来看看如何找到最好的参数。
假设函数模型为y=θ_0+θ_1 x,在图2-5中画出三个不同θ取值的假设函数h,如下图所示。
伴随不同的参数取值可以利用公式轻松计算出相对应的J(θ)。
当θ=0.5时 ├ J(0.5)=1/2m((0.5-1)2+(1-2)2+(1.5-3)^2 ) ≈0.58
当θ=0时 ├ J(0)=1/2m(12+22+3^2 )≈2.3
当θ=1时 J(1)=1/2m ∑_(i=1)^m▒〖(h_θ (x^((i) ))-y^((i) ) )^2=0〗
同样利用坐标系画出θ与J(θ)的关系,如图2-6所示。
由图可以非常容易的看出θ=1时可以取得最小的J(θ)。J(θ)越小意味着假设函数的预测值
和真实值就约接近。而当J(θ)=0时意味着预测值和真实值是完全一样的。在这个例子中,可以在图7中看出当θ=1时,假设函数h确实可以完美拟合这个简单数据集,而此时的J(θ)=0。
求解模型就是要找到最合适的参数,而要想找到这个参数就意味着代价函数要最小。
反过来代价函数最小时对应的参数也就是最优解。求解模型的过程其实也就是通过尝试不
同的θ来找到最小J(θ)的过程。这也正是代价函数的巨大作用。
2.3目标函数的作用
机器在过度学习历史数据会出现过拟合的现象如图2-3的最右图,在这种情况下模对
新数据的拟合能力就会降低。这个时候就出现了我们的目标函数,即在损失函数后加入正则项。现在又有了新的问题,正则项的作用是怎么体现的呢?为什么加入正则项就可以防止模型的过拟合呢?
从公式中可以看出λ越大,θ_j 衰减的越快。即当λ越大参数θ越接近于0。所以我们称λ为权衡正则项与J(θ)比重的参数,这个参数通常较小,是由人为赋值的。这个比重系数可以对θ_j起到很好的约束作用。也就是说可以利用这个正则项来对模型的参数做出调整,因为最终想要的模型是既能很好拟合训练集又比较简单的模型。这样在代价函数的基础上加入正则项求出的就是目标函数了。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/14723.html