注:以下所有内容均来自 网易公开课Andrew Ng的机器学习课程

 

第二课主要讲以下三个方面的内容

1、linear regression(线性回归)

2、Gradient descent(梯度下降)

3、Normal equations(正规方程组)

 

Linear regression

notation:

  m = 训练样本数目

  x = 输入变量(特征)

  y = 输出变量(目标变量)

  (x, y) = 样本

  h(x) = 预测函数

 

线性回归的一般步骤:根据训练集合生成学习算法,构造假设函数,最后根据输入的x得出输出y

机器学习笔记二:监督学习应用——梯度下降法

 对于梯度下降算法,构造函数J(theta),线性回归的目的就是找到一组参数theta使得J(theta)取得最小值

机器学习笔记二:监督学习应用——梯度下降法

有许多算法可以实现 J(theta) 取最小值

核心思想是先设置theta的一个初始值,我们需要样本来一步步修正theta的初始值, 下面介绍两种算法

 

Gradient Desecent(梯度下降算法)

机器学习笔记二:监督学习应用——梯度下降法

其中 α 是梯度下降的步长

 

机器学习笔记二:监督学习应用——梯度下降法

以上推导是对一个样本进行迭代,通常我们通过多样本反复迭代修正theta的值,所以最终一次迭代公式如下:

机器学习笔记二:监督学习应用——梯度下降法

以上称为batch gradient desecent算法,适用于样本数量比较少的情况。

样本数量庞大的时候,改进的梯度算法称为stochastic gradient descent (also incremental gradient descent)

即每次只遍历一个样本去修改theta的值。

 

Normal equations(正规方程组)

 首先补充几个线性代数中的fact:

机器学习笔记二:监督学习应用——梯度下降法

下面是推导过程:

机器学习笔记二:监督学习应用——梯度下降法

机器学习笔记二:监督学习应用——梯度下降法

机器学习笔记二:监督学习应用——梯度下降法

最后,令导数值等于0,得到:

机器学习笔记二:监督学习应用——梯度下降法

此即为正规方程,此时的theta就是让J(theta)最小时的theta的值。

注:在求解 theta转置 x转置 x theta的导数时,可以依据上面给出的公式(4),也可以将theta和theta转置分别看成是求导对象,求导完成再求和,结果是一样的嘿嘿。