符号表示
假设h(x):将输入映射到输出的函数,学习的目标是得出该函数。
:第i个训练例,x是向量,表示输入;y是标量,表示输出。
训练集大小m:训练集合中有多少训练例。
特征数n:每个训练例有多少特征。
参数θ:决定h的参数
线性回归
决定θ使得预测
的误差(代价函数)
最小。
(假设x0=1)
梯度下降
不断更新θ,使得J不断趋近最小值的过程。
α为学习速度,和梯度值共同影响下降的速度。
梯度下降可以找到局部最优。
批量梯度下降
对于线性回归问题,通过代入J,可以将更新公式转化为如下形式:
该方法称为批量梯度下降(batch gradient decent)。
如果训练集大小为1,上述公式变为
称为LMS更新法则(least mean squares rule)。
批量梯度下降的好处在于它最终一定能收敛,对于线性回归问题,批量梯度下降保证收敛到全局最优。
坏处在于它比较耗时,每一步都要遍历整个训练集合。
随机梯度下降
为了解决批量梯度下降速度慢的问题,我们可以对每个训练例都使用一次LMS,直接更新θ。
这样好处就是下降速度大大加快,坏处是最终无法收敛,会在一个小范围徘徊。
正规方程
对于线性回归问题,我们其实不必用迭代算法来求解。我们有方法可以求出线性回归问题的解析解。
矩阵导和迹
对一个函数我们定义算子作用于得到新的函数为
定义函数tr:
有如下性质:
定义设计矩阵,训练集中每个训练例子组成了它的行。其中,规定第一列为1。它是一个m*(n+1)矩阵
定义目标向量,是训练例的答案
h表示为矩阵的形式:
那么
代价J可以表示:
根据性质,求得矩阵的导:
令导为0,即为最小值点:
此为线性回归的解析解。称为正规方程。