本文中所有的图片均来自 网易云课堂 - 吴恩达机器学习 的视频截图。
课时6 模型描述
假设你的朋友在北京有一套100平的房子要卖,你可以利用一组北京的已知房子大小和房价的数据进行模型拟合,这样子就可以预测一个数值。这个问题属于 监督学习,因为我们事先知道了不同大小的房子对应的房价是多少。同时,这个问题也属于 回归,因为我们预测的房价是一个连续性的输出。另一种常用的监督学习方式 分类,其预测的输出是离散的,比如根据数据预测一个人是否患感冒就是分类问题。
更为正式一点的描述,在监督学习中,我们会有一个数据集,我们称其为 训练集,在上面的例子中是房子大小及其对应的房价。在此我们需要定义一些符号,以方便后续的课程。
定义:
- m m m:训练样本的数量。在此例子中就是表格的行数。
- x x x:表示输入变量,也叫特征。此例子中是房子的大小。
- y y y:输出变量,也叫目标变量。此例子中是房价。
- ( x , y ) (x, y) (x,y):一个训练样本。此例子中是表格的任意一行。
- ( x ( i ) , y ( i ) ) (x^{(i)},y^{(i)}) (x(i),y(i)):第 i 个训练样本。此例子中, x ( 1 ) = 2104 , y ( 1 ) = 460 x^{(1)}=2104,y^{(1)}=460 x(1)=2104,y(1)=460.
接下来我们来描述一下监督学习的过程:
-
首先我们会给出一个训练集;
-
然后在上面应用一个学习算法;
-
最后这个算法会输出一个 假设函数(hypothesis function),这个假设函数的作用就是把输入 x 映射到输出 y,在上面的例子中就是:输入房子的大小,能够输出房价。
ps:不用纠结为什么这个函数叫假设函数,是不是有什么含义,这只是机器学习一直沿用的叫法,就跟着叫就行了。
在本章中,我们的假设函数是线性函数,表示为 h θ ( x ) = θ 0 + θ 1 x h_\theta(x) = \theta_0+\theta_1x hθ(x)=θ0+θ1x,有时候也简写为 h ( x ) h(x) h(x)。其中的 θ i \theta_i θi 我们称之为 模型参数,学习就是学习这些参数。
课时7 代价函数
我们先来看一下,对于不同的 θ i \theta_i θi,我们的模型是什么样的。这个很简单,就是一条直线的方程。
在监督学习中,我们会有一个训练集,而我们的工作就是找出合适的 θ 0 \theta_0 θ0 和 θ 1 \theta_1 θ1,使假设函数表示的直线能够较好的拟合训练数据。现在问题是该怎么去找?我们的主意是:对于一个训练样本 ( x , y ) (x,y) (x,y),找到的 θ 0 \theta_0 θ0 和 θ 1 \theta_1 θ1 ,要使得 h ( x ) h(x) h(x) 和 y y y 的差距最小。
所以我们要解决的其实是一个最小化问题,即使得 ( h ( x ) − y ) 2 (h(x)-y)^2 (h(x)−y)2 最小。写成公式应该是:
m i n i m u m θ 0 θ 1 1 2 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) 2 minimum_{\theta_0 \theta_1} \frac{1}{2m}\sum_{i=1}^{m}(h_\theta(x^{(i)})-y^{(i)})^2 minimumθ0θ12m1i=1∑m(hθ(x