[吴恩达Coursea机器学习] 笔记006 代价函数(1):用什么函数计算代价

模型假设函数

问:假设函数中参数\(\theta\)起什么作用 ?

答:参数θ的改变,得到不同的直线

先看几个例子

例-:$h_\theta(x) = 1.5 + 0*x $

例二:$h_\theta(x) = 0.5*x $

例三:$h_\theta(x) = 1 + 0.5 * x $

问:如何选择参数\(\theta\)才能使直线更好的拟合数据集?下图中蓝色的直线明显更好些

答:一个想法是,选择参数\(\theta\),使我们的预测值\(h_\theta(x)\)与样本值y尽可能的接近。

问:尽可能的接近怎么表示?

答:平方误差 \((h_\theta(x) - y)^2\),预测值与真实值差的平方

正式定义:

目标:得到最小化的参数\(\theta\),即 \(\mathop{minimize}\limits_{\theta_0,\theta_1}\)

对于一个样本:\((h_\theta(x^{(i)}) - y^{(i)})^2\),这一项尽可能的小

对所有样本,求平方差和:\(\sum\limits_{i=1}^m (h_\theta(x^{(i)}) - y^{(i)})^2\)

最终得到:$\mathop{minimize}\limits_{\theta_0,\theta_1} \sum\limits_{i=1}^m (h_\theta(x^{(i)}) - y{(i)})2 $

做一下数学上的处理,方便计算,变形如下(对求\(\theta\)没有影响):

\[\mathop{minimize}\limits_{\theta_0,\theta_1} \sum\limits_{i=1}^m \frac{1}{2m} (h_\theta(x^{(i)}) - y^{(i)})^2 \]

1/2主要是为了求导,除以m,求的是平均误差

更正式的,我们定义代价函数\(J(\theta)\)

选择不同的参数\(\theta\),得到不同的直线组合,这个函数也称作平方误差函数,或者均方误差函数

问:\(J(\theta)\)的最小值是多少?\(J(\theta)\)的取值范围是多少?
答:0,也就是存在一条直线,所有的数据点都在这条直线上;取值范围大于等于0

问:还有其他的代价函数吗?
答:有,但是平方误差函数是解决回归问题最常用的手段。

posted @ 2017-10-09 05:41  luozhenj  阅读(1071)  评论(0)    收藏  举报