[吴恩达机器学习]Lecture4个人笔记
tags:
- 机器学习
- 笔记
4-1 多功能
Multiple features
Multivariate linear regression 多元线性回归
nnn:特征数量
x(i)x^{(i)}x(i):第 i 个训练样本的输入特征值 - vector
xj(i)x^{(i)}_jxj(i):第 i 个训练样本中第 j 个特征值
Hypothesis:
hθ(x)=θ0+θ1x1+θ2x2+...+θnxn=θ⊺x
\begin{aligned}
h_\theta(x) &= \theta_0 + \theta_1 x_1 + \theta_2 x_2 + ... + \theta_n x_n \\
&= \theta^\intercal x
\end{aligned}
hθ(x)=θ0+θ1x1+θ2x2+...+θnxn=θ⊺x
- 添加 x0(i)=1x^{(i)}_0 = 1x0(i)=1
4-2 多元梯度下降法
Cost function:
J(θ)=J(θ0,θ1,...,θn)=12m∑i=1m(hθ(x(i))−y(i))2
J(\theta) = J(\theta_0,\theta_1,...,\theta_n) = \frac{1}{2m} \sum^{m}_{i = 1} (h_\theta(x^{(i)}) - y^{(i)})^2
J(θ)=J(θ0,θ1,...,θn)=2m1i=1∑m(hθ(x(i))−y(i))2
Gradient descent:
θj:=θj−α1m∑i=1m(hθ(x(i))−y(i))xj(i)⏟∂∂θJ(θ)
\theta_j := \theta_j - \alpha \underbrace{\frac{1}{m} \sum^{m}_{i = 1} (h_\theta(x^{(i)}) - y^{(i)}) x_j^{(i)}}_{\frac{\partial}{\partial \theta} J(\theta)}
θj:=θj−α∂θ∂J(θ)m1i=1∑m(hθ(x(i))−y(i))xj(i)
4-2-1 特征缩放
Feature Scaling
Make sure features are on a similar scale.
将特征值的取值约束到 −1≤xi≤1-1 \le x_i \le 1−1≤xi≤1(接近这个范围),能更快收敛
均值归一化 mean normalization
xj:=xj−μjsj
x_j := \frac{x_j - \mu_j}{s_j}
xj:=sjxj−μj
- μj\mu_jμj:xjx_jxj (特征值)的平均值
- sjs_jsj:特征值的范围:max−min\max - \minmax−min
4-2-2 学习率
如果 J(θ)J(\theta)J(θ) 在上升,或反复上下,梯度下降没有工作,应当使用更小的 α\alphaα
只要 α\alphaα 足够小,J(θ)J(\theta)J(θ) 一定会下降。但太小会导致收敛很慢
4-3 特征和多项式回归
可以自由选择特征或将特征的组合运算作为新的特征
可以使用更复杂的函数拟合数据
4-4 正规方程
4-4-1 区别于迭代方法的直接解法
Normal equation
Method to solve for θ\thetaθ analytically
能更好(一步)的求出 θ\thetaθ 最优质的方法
- 梯度下降是迭代求法
ecost function:J(θ)=aθ2+bθ+cJ(\theta) = a \theta^2 + b \theta + cJ(θ)=aθ2+bθ+c
使代价函数最小化的 θ\thetaθ:θ=(X⊺X)−1X⊺y\theta = (X^\intercal X)^{-1} X^\intercal yθ=(X⊺X)−1X⊺y
[!tip]-
使用正规方程不需要特征缩放,不需要 α\alphaα 学习率,但是当特征数量大(n≥10000n \ge 10000n≥10000)时,矩阵的逆运算计算很慢,更适合用梯度下降法
4-4-2 矩阵不可逆
- 查看特征中是否有多余特征,比如两个特征之间存在线性关系
- 检查是否有过多的特征,样本数少于特征数
更多推荐
所有评论(0)