机器学习1.1--模型和代价函数

内容来自Andrew老师课程Machine Learning的第一章内容的Model and Cost Function部分。

一、Model Representation(模型表示)

1、简单术语 
m:训练样本的数目 
x:输入变量/特征 
y:输出变量/目标变量 
机器学习1.1--模型和代价函数:表示训练集的第i行

2、举例: 
机器学习1.1--模型和代价函数 

3、学习算法的工作 
机器学习1.1--模型和代价函数

h表示hypothesis(假设)

4、线性回归拟合曲线 
机器学习1.1--模型和代价函数

机器学习1.1--模型和代价函数

二、Cost Function(代价函数)

线性回归拟合函数:机器学习1.1--模型和代价函数 (机器学习1.1--模型和代价函数叫做模型参数)

对于不同的机器学习1.1--模型和代价函数机器学习1.1--模型和代价函数机器学习1.1--模型和代价函数对应的曲线不同,如下图所示: 
机器学习1.1--模型和代价函数


如何选择合适的机器学习1.1--模型和代价函数 和机器学习1.1--模型和代价函数,使得机器学习1.1--模型和代价函数和y之间的误差最小?

机器学习1.1--模型和代价函数 
这里使用了方差这一概念,为什么代价函数是 机器学习1.1--模型和代价函数,参见博客:http://blog.****.net/quiet_girl/article/details/68544273,里面是自己的一点理解。我们需要求解的便是使得机器学习1.1--模型和代价函数取最小值的机器学习1.1--模型和代价函数机器学习1.1--模型和代价函数

三、Cost Function - Intuition I(代价函数-直观感知I)

我们需要求出h(x)最小值对应的参数机器学习1.1--模型和代价函数机器学习1.1--模型和代价函数,为了简化操作,这里讲机器学习1.1--模型和代价函数设为0,因此,h(x)只与机器学习1.1--模型和代价函数有关,如下图: 
机器学习1.1--模型和代价函数

对于训练集:

x y
1 1
2 2
3 3


1、令机器学习1.1--模型和代价函数的值为1,则h(x)=x,J(0,1)=0,如下图。 
机器学习1.1--模型和代价函数

2、令机器学习1.1--模型和代价函数的值为0.5,则h(x)=0.5x,J(0,0.5)=0.58,如下图 
机器学习1.1--模型和代价函数

3、令机器学习1.1--模型和代价函数的值为0,则h(x)=0.5x,J(0,0)=2.3,如左图。 
机器学习1.1--模型和代价函数 
如右图,每个机器学习1.1--模型和代价函数的值对应一个曲线h(x),对于同一个数据集,每个h(x)对应一个J的值,用相应的机器学习1.1--模型和代价函数的值和J的值作图,观察可知,在机器学习1.1--模型和代价函数为1时,J的值取最小值,此时,代价函数是全局最小值。

四、Cost Function - Intuition II(代价函数-直观感知II)

这里引入轮廓图的概念。 

对于下图所示的数据集,不同的参数对应不同的h(x)曲线,将这些曲线对应的J值画出,即形成第二个图新,在这个图形中,某一点的高度代表这一点对应的机器学习1.1--模型和代价函数机器学习1.1--模型和代价函数所对应的J值。 
机器学习1.1--模型和代价函数 
机器学习1.1--模型和代价函数 

如右图,同一条轮廓线上不同的点,对应的J值相同。 
机器学习1.1--模型和代价函数 

将轮廓图平面化,取不同的轮廓图上的点对应的h(x)曲线,观察其拟合程度。 

1、取右图中的一点,大概是机器学习1.1--模型和代价函数值为800,机器学习1.1--模型和代价函数值为-0.15,其对应的h(x)图形如左图所示,很明显,这个h(x)拟合性并不好。 
机器学习1.1--模型和代价函数 
2、取右图中的一点,大概是机器学习1.1--模型和代价函数值为400,机器学习1.1--模型和代价函数值为0,其对应的h(x)图形如左图所示,这个h(x)拟合性也并不是很好。 
机器学习1.1--模型和代价函数 
3、取右图中的一点,大概是机器学习1.1--模型和代价函数值为0,机器学习1.1--模型和代价函数值为-0.03,其对应的h(x)图形如左图所示,这个h(x)拟合性不好。 
机器学习1.1--模型和代价函数 
4、取右图中的一点,大概是机器学习1.1--模型和代价函数值为300,机器学习1.1--模型和代价函数值为0.15,其对应的h(x)图形如左图所示,很明显,这个h(x)对应的J值要比之前的几个点对应的J值小得多,虽然其不是最优值,但是其越来越接近于最优值。 
机器学习1.1--模型和代价函数

我们的目标就是使用代码实现寻找最优J值对应的机器学习1.1--模型和代价函数机器学习1.1--模型和代价函数的值。