Chapter 2 线性回归与多元变量 (reading notes)

文章目录

  • 0. 版权声明
  • 1. Multivariate linear regression(多元线性回归)
    • 1.1 Gradient descent in practice
      • 1.1.1 Feature scaling(特征缩放)
      • 1.1.2 Mean normalization(均值归一化);
      • 1.1.3 Learning rate
    • 1.2 选择特征
  • 2. Normal equation(正规方程)
    • 2.1 Concept
    • 2.2 当矩阵不可逆时的处理方法
  • n. Reference

0. 版权声明

  • Machine learning 系列笔记来源于 Andrew Ng 教授在 Coursera 网站上所授课程 Machine learning [1];
  • 该系列笔记不以盈利为目的,仅用于个人学习、课后复习及科学研究;
  • 如有侵权,请与本人联系([email protected]),经核实后即刻删除;
  • 本文采用 署名-非商业性使用-禁止演绎 4.0 国际 (CC BY-NC-ND 4.0) 协议发布;

1. Multivariate linear regression(多元线性回归)

1.1 Gradient descent in practice

  • gradient descent:
    • 参数初始化为0,不断调整参数值,使代价函数 J ( θ ) J(\theta) J(θ) 达到最小值;
    • θ 0 , θ 1 , ⋯ \theta_0,\theta_1,\cdots θ0,θ1, 的值需要同时更新;
    • 梯度下降算法的作用:找出一组 θ \theta θ 值,使 J ( θ ) J(\theta) J(θ) 最小;
  • 绘制 J ( θ ) J(\theta) J(θ) 关于迭代次数的函数,若在某一次迭代中, J ( θ ) J(\theta) J(θ) 减少量小于设定阈值,即可认为 cost function 收敛,此时的一组参数 θ \theta θ 即为所求;

1.1.1 Feature scaling(特征缩放)

  • 将各个特征值的范围缩放到接近于 − 1 ≤ x i ≤ 1 -1\leq x_{i} \leq1 1xi1 的区间上;
    在同一数量级上为宜;
    有利于提高 gradient descent 的收敛速度;

1.1.2 Mean normalization(均值归一化);

  • x i − u i x_{i} - u_{i} xiui 取代 x i x_{i} xi,使各个特征值的均值为0;
    u i u_{i} ui 是该特征值的均值;
    x i − u i x_{i} - u_{i} xiui 除以该特征的极差(最大值 - 最小值)即可实现均值归一化;
    该特征的范围也可使用标准差替代,这两种方式所得结果不相同;
    此处极差和标准差均可用于表示特征的范围;
    不可应用于 x 0 x_{0} x0 ,因为 x 0 = 1 x_{0} = 1 x0=1,不必做均值归一化;

1.1.3 Learning rate

  • α \alpha α :learning rate;
    α \alpha α 过大,则 J ( θ ) J(\theta) J(θ) 会越过最小值点不再收敛,甚至发散;
    α \alpha α 过小,算法一定可收敛,且能使代价更接近最小值,但需耗费较长时间;
  • 经验参考:To choose α \alpha α , try
    … , 0.001 , 0.003 , 0.01 , 0.03 , 0.1 , 0.3 , 1 , … (三倍速增加)

Chapter 2 线性回归与多元变量 (reading notes)_第1张图片

Chapter 2 线性回归与多元变量 (reading notes)_第2张图片

  • 上图中的两种情况均由于 α \alpha α 过大引起;
  • 设置可变学习率的方法 (Optional):
    • α = c o n s t 1 i t e r a t i o n N u m b e r + c o n s t 2 \alpha=\frac{const_1}{iterationNumber + const_2} α=iterationNumber+const2const1
    • 优点: α \alpha α 随迭代次数的增加而减小,前期收敛快,后期使所求代价函数更接近最小值;
    • 缺点:需要选择两个常数 c o n s t 1 const_1 const1 c o n s t 2 const_2 const2 的大小,增加了算法复杂性;
    • 由于将学习率设置为常数时,所得结果也比较接近于最小值,因此也可不使用该方法设置学习率;

1.2 选择特征

  • 可将 x 1 、 x 2 、 . . . 、 x n x_{1} 、x_{2}、... 、x_{n} x1x2...xn 排列组合相乘,构成新的 features , e.g. x 1 x 2 2 x_{1}x_{2}^{2} x1x22
  • 选择新的 features ,注意使用 feature scaling ,使得各个 feature 范围接近于 − 1 ≤ x i ≤ 1 -1\leq x_{i} \leq1 1xi1 的区间上;

2. Normal equation(正规方程)

2.1 Concept

  • Normal equation:一种求解θ的解析解法,不再需要多次迭代求解θ,而是直接求解θ的最优值;
    该方法不需要做 feature scaling , 不需要选择 learning rate ;
    J ( θ ) J(\theta) J(θ) θ i \theta_{i} θi 的偏导,解得令偏导为0时的 θ i \theta_{i} θi 值,即为 J ( θ ) J(\theta) J(θ) 最小时的 θ \theta θ 值;

  • 结论: θ = ( X T X ) − 1 X T y \theta=(X^{T}X)^{-1}X^{T}y θ=(XTX)1XTy ,即可解得使 J ( θ ) J(\theta) J(θ) 最小的 θ \theta θ 值;

  • 对于 linear regression 问题,normal equation 是一个很好的替代方法;

  • comparison

gradient descent normal equation
need to choose α \alpha α no need to choose α \alpha α
need many iterations do not need to iterate
works well even when is large slow if n is very large
O ( k n 2 ) O(kn^{2}) O(kn2) O ( n 3 ) O(n^{3}) O(n3) , need to compute inverse of X T X X^{T}X XTX
  • 经验参考:若 n > 10000,则不再考虑 normal equation ;

2.2 当矩阵不可逆时的处理方法

  • X T X X^{T}X XTX 为不可逆矩阵时,存在冗余特征 (e.g.m ≤ n);
    • Solution:删除部分特征或使用正则化;

n. Reference

你可能感兴趣的:(Machine,learning,Deep,learning)