我们首先通过回归问题中最简单的线性回归(Linear Regression)来了解什么是监督学习。
监督学习的模型一般可以表示成如下:
在监督学习的问题中,我们要找到一个函数h(x),使得对于一个给定的数据集x,能预测出对应的输出y。即 y = h ( x ) y = h(x) y=h(x)
如果我们所要预测的y值是连续的,比如房价,那么这就是一个回归问题;如果y值是一些离散的点,比如是良性肿瘤还是恶性肿瘤,那么这就是一个分类问题。
线性回归
1.表达形式
所谓线性回归,就是y和x的关系是线性的。
对于只有一个特征的线性回归, h θ ( x ) h_{\theta}(x) hθ(x)可以表示成:
h θ ( x ) = θ 1 x + θ 0 h_{\theta}(x) = \theta_{1} x+\theta_{0} hθ(x)=θ1x+θ0
如果有多个特征,那么h(x)可以表示成:
h θ ( x ) = θ 0 + θ 1 x 1 + θ 2 x 2 + . . . + θ n x n h_{\theta}(x)=\theta_{0}+\theta_{1}x_{1}+\theta_{2}x_{2}+...+\theta{n}x_{n} hθ(x)=θ0+θ1x1+θ2x2+...+θnxn
其中, n n n代表特征的个数。
2.cost function
代价函数(cost function),有些地方也叫损失函数(loss function).它是用来衡量预测值 h θ ( x ) h_{\theta}(x) hθ(x)与真实值y之间的差异,记为 J ( θ ) J(\theta) J(θ)。需要注意的是,对于每种算法来说,cost function并不是唯一的。如果 J ( θ ) J(\theta) J(θ)的值越小,那么说明模型和参数越符合训练样本。
训练参数的过程就是不断地改变 θ \theta θ,从而得到更小的 J ( θ ) J(\theta) J(θ)的过程。
一个好的cost function需要满足两个最基本的要求:(1)能够评价模型的准确性 (2)对参数 θ \theta θ可微。
在线性回归中,最常用的cost function就是均方误差(Mean squared error).具体表现形式是:
J ( θ 0 , θ 1 , . . . θ n ) = 1 2 m ∑ i = 1 m ( y ^ ( i ) − y ( i ) ) 2 = 1 2 m ∑ i = 1 m ( h θ ( x 0 ( i ) , x 1 ( i ) , . . . x n ( i ) ) − y ( i ) ) 2 J(\theta_0,\theta_1,...\theta_n)=\frac{1}{2m}\sum_{i=1}^{m}(\hat{y}^{(i)}-y^{(i)})^2=\frac{1}{2m}\sum_{i=1}^{m}(h_\theta(x_0^{(i)},x_1^{(i)},...x_n^{(i)})-y^{(i)})^2 J(θ0,θ1,...θn)=2m1i=1∑m(y^(i)−y(i))2=2m1i=1∑m(hθ(x0(i),x1(i),...xn(i)</