正规方程(Normal Equation)
正规方程(Normal Equation)提供了一种可以直接一次性求解的最优的解法。
是 n + 1 维参数向量的情况下:
如何最小化代价函数 ,对每个参数 求 的偏导数,然后把它们全部置零。这样求出一系列的 就是最小代价函数 的 值。
正规方程法 实例
m = 4 个训练样本的训练集,如下:
Size | Number of bedrooms | Number of floors | Age of home | Price | |
---|---|---|---|---|---|
1 | 2104 | 5 | 1 | 45 | 460 |
1 | 1416 | 3 | 2 | 40 | 232 |
1 | 1534 | 3 | 2 | 30 | 315 |
1 | 852 | 2 | 1 | 36 | 178 |
构建矩阵 X ,这个矩阵包含了训练样本的所有特征向量:
对 y 做类似的事:
最后通过如下方程计算使得代价函数最小化的 θ :
一般情况下,假设有 m 个训练样本:
n 个特征向量:
构建矩阵 X :
矩阵 X 是一个 维矩阵。
向量 y :
最后,矩阵 X 和向量 y,可以通过计算:
来得到 θ 。
使用Octave来执行正规方程
该方程在Octave中的语句如下:
pinv(X'*X)*X'*y
梯度下降法 VS 正规方程
假设有 m 个特征量和 n 个特征量:
梯度下降算法 | 正规方程法 |
---|---|
需要选择一个学习速率 α | 不需要选择一个学习速率 α |
需要多次迭代 | 不需要多次迭代 |
当 n 很大时也能良好运行 | 当 n 很大时,运行会很慢(复杂度:) |
通常 n < 10000 的情况下,建议使用正规方程。
网友评论