Multivariate Linear Regression
Gradient Descent in Practice I - Feature Scaling 特征缩放
The objective of linear regression is to minimize the cost function
J(θ) = 1
2m
Xm
i=1
hθ(x
(i)
) − y
(i)
2
where the hypothesis hθ(x) is given by the linear model
hθ(x) = θ
T x = θ0 + θ1x1
why?
因为多个特征的时候,代价函数图形可能非常的”偏斜”
梯度下降在一个漫长的斜坡上来回波动 下降很慢
所以要划分到一个相近的范围里来做, 下降就会很快。
how?
Feature Scaling特征缩放:
每个值除以范围 得到-1 - +1 以内数字 最好
-3 +3 以内可以接受 -1/3 +1/3 也可 太小 或太大就不行 要靠经验 看实验结果Mean normalization均值归一化
每个值减去平均值再除以(最大值减去最小值)
Gradient Descent in Practice II - Learning Rate 学习率 (步长)
try 0.001 0.003 0.01 0.03 0.1 1 …
画出横坐标迭代次数 纵坐标代价函数值的图形 观察
这还真是显而易见的方法啊。。。
Features and Polynomial Regression
特征选择:
具体问题具体分析 房价 房子的长宽就可以合成面积特征多项式回归:
Computing Parameters Analytically
Normal Equation 正规方程
why?
- 一次性求解Θ的最优值
- 不需特征缩放->不要忘记特征缩放需要做是因为梯度下降那个坡太漫长,会坡上来回波动 下降很慢
what?
理解:
Θ是个实数 即可以简化代价函数J(Θ)是个二次函数(开口显然向上啊) 那么求什么时候二次函数有最小值呢 Θ = A/2B
或者三次 四次函数 那么求导 导数为零的点就是Θ值
Θ是个N+1维的向量怎么办?
理论上 微积分 从Θ0 到 Θn 一直求偏导 都让偏导数得零 那么就能求出多维向量Θ
但是这样太复杂了
所以有一个公式:
公式推导
怎样选择梯度下降还是正规方程?
梯度下降需要选择步长 这需要多次尝试 还需要多次迭代 这需要时间
但是特征种类数目很多的时候也能正常运行
而正规方程需要计算矩阵转置乘以矩阵再求逆, n*n矩阵运算 O(N^3) n很大的时候就会很慢
Normal Equation Noninvertibility 不可逆性
即讲什么呢? 就是说有的矩阵可以求逆运算有的不行
Octave里面有两个求逆运算的函数 pinv 和inv
pinv可以求出伪值 即不可逆矩阵也能算