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=1m(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=1m(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 11xi1(接近这个范围),能更快收敛
均值归一化 mean normalization
xj:=xj−μjsj x_j := \frac{x_j - \mu_j}{s_j} xj:=sjxjμj

  • μj\mu_jμjxjx_jxj (特征值)的平均值
  • sjs_jsj:特征值的范围:max⁡−min⁡\max - \minmaxmin

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θ=(XX)1Xy

[!tip]-
使用正规方程不需要特征缩放,不需要 α\alphaα 学习率,但是当特征数量大(n≥10000n \ge 10000n10000)时,矩阵的逆运算计算很慢,更适合用梯度下降法

4-4-2 矩阵不可逆

  1. 查看特征中是否有多余特征,比如两个特征之间存在线性关系
  2. 检查是否有过多的特征,样本数少于特征数

更多推荐