机器学习——吴恩达

1.代价函数(cost function)

1.1 代价函数图像

机器学习——吴恩达
上图两个坐标表示参数θ0\theta_0θ1\theta_1,它们是动态变化的。

通常使用contour figure(等高线线)来描述上面的3D图像:
机器学习——吴恩达

在右图的等高线中,每个圆圈上面的点的值是一致的。当前红色点处于参数θ0=800,θ1=0.15\theta_0 = 800, \theta_1 = -0.15对应于左图的直线,但这时候的直线没有很好拟合数据。

2.gradient descent(梯度下降)

  • 微积分:calculus
  • 导数:derivatives
  • 收敛:converge
  • 不收敛:diverge

梯度下降更新公式:
θj:=θjαJ(θ0,θ1)θj,(for j=0 and =1) \theta_j := \theta_j-\alpha \frac{\partial J(\theta_0, \theta_1)}{\partial \theta_j}, (for ~ j = 0~and~= 1)

上面两个参数需要同步更新,也就是说在一次迭代中,这两个参数是同时更新的。假设首先需要更新参数θ1\theta_1,其cost function为:
θ1:=θ1αJ(θ1)θ1     (21) \theta_1 := \theta_1-\alpha \frac{\partial J(\theta_1)}{\partial \theta_1}~~~~~(2-1)

同时其cost function的函数图像为:

2.1 正导数:positive derivative

机器学习——吴恩达

当利用公式(2-1)可以求得导数为positive number,则θ1\theta_1会偏向于向最小值移动。

2.2 负导数:negative derivatvie

机器学习——吴恩达

同样的,求得的导数会出现negative number,则使得更新之后的θ1\theta_1也会偏向于最小值。

2.3 线性回归的梯度下降(gradient descent of linear regression )

在线性回归中,通常使用square error(平方误差)来计算代价函数:
hθ(x(i))=θ0+θ1x(i) h_{\theta}(x^{(i)}) = \theta_0 + \theta_1 x^{(i)}

J(θ)=12mi=1m(hθ(x(i))y(i))2     (22) J(\theta) = \frac{1}{2m} \sum_{i=1}^{m} (h_{\theta}(x^{(i)}) - y^{(i)})^2 ~~~~~(2-2)
公式中y(i)y^{(i)}代表真实样本的值,hθj(x(i))h_{\theta_j}(x^{(i)})则代表线性回归模型的预测值。mm为data set中的样本数。

  • 为什么要在分子上加上2呢这是因为在求解partial derivative(偏导数)中可以化简出比较简便的形式。

最后可以分别求得两个参数的partial derivative:
j=0:θ0J(θ)=θ012mi=1m(hθ(x(i))y(i))2=1mi=1m(hθ(x(i))y(i)) j=0:\frac{\partial}{\partial \theta_0} J(\theta) = \frac{\partial}{\partial \theta_0} \frac{1}{2m} \sum_{i=1}^{m} (h_{\theta}(x^{(i)}) - y^{(i)})^2 = \frac{1}{m} \sum_{i=1}^{m} (h_{\theta}(x^{(i)}) - y^{(i)})

j=1:θ1J(θ)=θ112mi=1m(hθ(x(i))y(i))2=1mi=1m(hθ(x(i))y(i))x(i) j=1:\frac{\partial}{\partial \theta_1} J(\theta) = \frac{\partial}{\partial \theta_1} \frac{1}{2m} \sum_{i=1}^{m} (h_{\theta}(x^{(i)}) - y^{(i)})^2 = \frac{1}{m} \sum_{i=1}^{m} (h_{\theta}(x^{(i)}) - y^{(i)}) * x^{(i)}

  • Batch:每完成一次梯度更新,则默认为完成了一个batch。在batch里面,梯度更新会计算所有的$m$个样本。

3.矩阵的介绍

  • 单位(identity)矩阵:II(对角矩阵都为1)
  • 转置矩阵
  • 矩阵的逆(matrix inverse):
    AA1=A1A=I AA^{-1} = A^{-1}A = I
    其中矩阵AA的维度为m×mm \times m,它必定是一个方阵。如果一个矩阵没有逆矩阵,则称为奇异矩阵(Singular matrix),元素为0的矩阵就是一个奇异矩阵。

4.多元线性回归和其梯度下降

4.1 多元线性回归

之间已经简要叙述过简单的线性回归模型,其公式为:
hθ(x(i))=θ0+θ1x(i) h_{\theta}(x^{(i)}) = \theta_0 + \theta_1 x^{(i)}

为了引出多元线性回归模型,引入一个预测房价的问题,其具体的特征如下:
机器学习——吴恩达
在上面的房价预测问题中,共有4个特征:size,房间数量,楼层,使用年限,需要预测的是:价格

  • nn:共有n个特征
  • x(i)x^{(i)}:表示在数据集中的第ii个样本
  • xj(i)x^{(i)}_j:表示在第ii个样本中,第jj个特征。

最后可以列出多元线性回归模型:
hθ(x)=θ0x0+θ1x1+θ2x2++θnxn=θTx h_{\theta}(x) = \theta_0 x_0 + \theta_1 x_1 + \theta_2 x_2 + \dots + \theta_n x_n \\ = \theta^{T}x
其中,θ\thetaxx都为一维向量,同时x0=1x_0=1

4.2 多元线性回归的梯度下降

在2.3节中已经简单介绍了线性回归的梯度下降,那么多元线性回归的梯度下降也是一样的,在一次迭代的过程当中,需要更新所有的参数θ\theta
θj=θjαθjJ(θ0,...,θn) \theta_j = \theta_j - \alpha \frac{\partial}{\partial \theta_j} J(\theta_0,...,\theta_n)

具体的,上述公式中的偏导数可以化简为:
θj:=θjα1mmi=1(hθ(xj(i))y(i))xj(i) \theta_j := \theta_j - \alpha \frac{1}{m} \sum^{i=1}_{m} (h_{\theta}(x^{(i)}_j) - y^{(i)}) x^{(i)}_j