机器学习-斯坦福课程系列2【代价函数】

课程链接:
https://www.coursera.org/learn/machine-learning/home/week/1

今天学习1个重要概念,代价函数(Cost Function)。

之前学习了线性回归(Linear Regression)。在单变量的情况下,可以通过房屋的面积,预测房子的价格。把房屋面积看作x,房子价格看作y,建立函数关系即可。下图表示了监督式学习中的一般性解决问题的流程:

这里写图片描述

Training set指的是一系列已知的房屋面积和房价的数据,通过Learning algorithm,建立合适的算法模型(model),就可以预测房价。这里仅涉及了房屋面积这一因变量。

实际应用中,模型建立得好不好,主要看预测是否准确。准确度,是要用数学来衡量的。概率统计中学过方差(variance)。方差可用于评价2组平均值相等的数据的优劣,方差越小,表示数据的波动小,数据更好。

代价函数

机器学习中有类似于方差的概念,即代价函数(Cost Function)。代价函数形式,与方差表达式,极为接近。

这里写图片描述

如果学习过方差,这个方程不难理解。这里的hθ(xi)即为构建的算法模型。

hθ(xi)=θ0 + θ1*xi;

如之前学习的房价例子,这里的xi是某一组数据房屋面积,yi为对应的房屋面积,而hθ(xi)是算法模型中的预测值。这里的算法模型是线性的,因此θ0和θ1也就比较好理解。

有了代价函数J(θ0, θ1),不同的研究者对同一问题提出的算法模型就可以进行PK了,J越小,表示算法模型越精确。

下面来看,如何求J。为了简化问题,可以令θ0=0。
这里写图片描述

图的右边的版本即为简化后的代价函数。

先举一个理想化的例子,即所有的预测值和实际值相等。

这里写图片描述

如果例子都这么愉快,建模就毫无必要性啦。下面来看一个有偏差的例子。

这里写图片描述

该例中的4个数据,一个都不准(这种算法程序员是要被炒的),求得的J也就比较大。

如果有多组数据集,可以得到不同的J(θ1),可以PK一下,J最小的胜出。

这里写图片描述

图中的J(θ1)有最小值,在θ1=1处是取得。

猜你喜欢

转载自blog.csdn.net/androidchanhao/article/details/54576680
今日推荐