机器学习 - 2 - 线性回归

Posted childishchange

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了机器学习 - 2 - 线性回归相关的知识,希望对你有一定的参考价值。

机器学习 - 2 - 线性回归

首先吐槽我们的老师上课上得真是太烂了。。真的烂。。

PPT里也只会对没有意义的公式,而且还不解释是在干什么。。

回归

  1. 什么是回归

    首先回归属于监督学习的一种,回归问题中,尝试预测连续的输出,与尝试预测离散的输出的分类问题恰恰相反。

    举个例子:
    • 预测房价
    • 预测身高
    • ...
  2. 回归模型

    素材:
    • 特征 (x)
    • 预测值 (y)
    • 训练集 ((x_i,y_i))
    • 学习算法
    • 回归函数 (f)

    线性回归时:

    [f(X) = omega_0 + sum_{i = 1}^{m}omega_ix_i ]

    向量化(增加 (x_0 = 1),表示截距项):

    [f(X) = W^TX]

    一般化(当基函数不是多项式基函数时):

    [y(X,W) = sum_{i = 0}^{M-1}omega_iphi_j(X) = W^TPhi(X)]

  3. 问题本质

    拆分一下:
    • 定义目标函数
      • 使用训练集数据(真实数据)
      • 最小化预测值 (f) 与真实输出值 (y) 的差异
    • 确定模型中的参数 (W^T)

    目标函数(代价函数):

    [J(W) = frac{1}{2}sum_{i=1}^{N}(f(X_i)-y_i)^2]

    进一步求出使 (J(W)) 最小的 (W) 即可。

解回归

  1. 梯度下降法

    策略:
    • 随机赋 (W) 初值
    • 改变 (w_i) 的值,使 (J(W)) 越来越小
    • 沿梯度相反方向下降

    梯度为一个向量,表示某一函数在某一点的方向导数沿该方向时取得最大值,即函数在该点处沿着该方向变化最快,变化率最大。

    举个例子:

    在爬山时,沿与等高线垂直的方向爬山,路最陡

    怎么操作:

    [omega_j^t = omega_j^{t-1}-alphafrac{partial}{partialomega_j}J(W)]

    [frac{partial}{partialomega_j}J(W) = sum_{i=1}^{N}(f(X_i)-y_i)cdot X_{i,j}]

    所有 (w_i) 同时更新,其中 (alpha) 为学习率/更新步长

    一些衍生:
    • 批处理梯度下降
      • 每次更新都利用所有数据
      • 大样本下,迭代速度很慢
    • 随机梯度下降
      • 每次只用一个样本
      • 迭代速度快,大样本下较为有效,又被称为在线学习
    一点补充:
  2. 标准方程组

    矩阵化:

    [J(W) = frac{1}{2}sum_{i=1}^{N}(f(X_i)-y_i)^2 = (XW-y)^T(XW-y)]

    求导,另其为0:

    [frac{partial}{partial W}J(W) = 2X^T(XW-y) = 0]

    解得:

    [W = (X^TX)^{-1}X^Ty]

  3. 孰优孰劣

    梯度下降 标准方程
    需要选择学习率 不需要
    迭代很多次 一次
    (O(kn^2)) (O(n^3))
    n很大时表现良好 n很大时很慢
    数据需要归一化 不需要

    结论:

    样本量较小时选用标准方程组求解,样本量较大时选用梯度下降法求解

补充连接

matrix vector derivatives for machine learning

以上是关于机器学习 - 2 - 线性回归的主要内容,如果未能解决你的问题,请参考以下文章

线性回归模型|机器学习

机器学习—— 线性回归

机器学习 - 2 - 线性回归

机器学习算法:线性回归简介

机器学习线性回归(回炉重造)

机器学习系列:从线性回归到逻辑回归