机器学习-代价函数

来源:互联网 发布:360 禁止程序访问网络 编辑:程序博客网 时间:2024/06/06 19:17

大部分的的机器学习(ml)算法都有Cost Function(代价函数)它是衡量训练集与假设函数(能表达训练集的模型)差距的度量,假设我们有个代价函数(这个函数不是假设函数) f(x)=Cost(x;Θ)(自变量x是个向量,参数Θ也是向量,Cost(x;Θ)是关于x和Θ的函数),我们总是希望将Cost(x;Θ)最小化,那意味着训练集与假设函数的差距最小,也意味着在Cost(x;Θ)最小的情况下的Θ最能用来表达训练集。下面是例子说明:

假设我们有以下训练集:


(图 一)

上图左侧是房间的面积,右侧是价格,而且我们有假设函数如下:


(图 二)

上图中的Θ0和Θ1称为模型参数,这里选择不同的模型参数会有不同的假设函数



(图三)


假设我们有训练集如下:


(图四)

图三中,哪一条直线会更好的拟合图四的数据呢?都有可能,我们可以直观的观察,可能如下图的直线会是最好的选择。


我们的想法是:我们要使预测的值(也就是输入x时,h(x)的值)最接近样本的y值,在这个前提上,我们取到的Θ0和Θ1是最好的。

所以我们有以下Cost公式(代价函数):


上图公式的含义是,所有预测值与样本实际值的差的和的平方(记得好像是高中学的方差,标准差之类的东西)的最小值,我们之所以能对这个公式求最小值是因为这个函数是一个J(Θ),也就是说它是一个包含未知量Θ的函数,当J(Θ)取得最小值时,该条件下的Θ就是最佳选择。

我们让所有的样本集(实际值)与它们各自的预测值的和最小,意味着我们的模型h(x)能比较好的预测一个趋势或者是说能够更好的贴近现实情况,而后当有一个未知y的新样本(xi,yi),大多数情况,我们是知道xi的,我们便可以通过我们求出来的模型来得到yi。



原创粉丝点击