统计学习方法回顾

计划,1月内完成回顾

一、统计学习

输入——模型——输出

  1. 损失函数,衡量一次预测的好坏。0-1损失、平方损失、绝对损失、对数损失等
  2. 风险函数,衡量平均意义下模型的预测好坏。通常是sum(loss(xi))
  3. 在训练集不断优化降低风险,会导致模型复杂然后在测试集出现过拟合,预测能力较弱。随着模型复杂度提升,训练误差趋近0,而测试误差是先减小后增大。
  4. 真正好的模型:训练集上的误差要小,且模型要简单。因此为防止过拟合需要正则化,即sum(loss(xi)) + k*J(f),J(f)表示正则项,作为模型复杂度的惩罚(是其单调增函数),k作为调整参数。
  5. 正则化,通常是参数向量的L1,L2范数(回归问题中)
  6. k折交叉验证,数据分为k份,k-1份训练,剩下一份测试,迭代k次
  7. 判别模型,针对输入x,学习如何输出y,大部分模型都是判别模型(除了朴素贝叶斯和隐马尔可夫)
  8. 准确率=将正类预测为正类/(将正类预测为正类 + 将负类预测为正类)
  9. 召回率=将正类预测为正类/(将正类预测为正类 + 将正类预测为负类)
  10. F值是准确率和召回率的调和,两个指标都高时,F值才会高
    11.回归,按输入变量的个数:一元回归和多元回归;按输入与输出的关系,可以是线性回归或非线性回归
  11. 回归,常用平方损失函数,通过最小二乘法求解。

二、感知机

  1. 感知机是二分类线性模型,目标:学习划分正负类的线性超平面,方法:利用梯度下降对损失函数进行极小化。是神经网络、svm的基础。具体理解方式不同,详见对应部分。
  2. 线性可分,如果存在一个超平面S,将正负实例完全分开,称为线性可分;否则数据集线性不可分
  3. 超平面的学习过程,等价于对f(x)=sign(wx+b)的寻找。wx+b=0作为分类超平面,当wx+b>0时输出+1,wx+b<0输出-1
  4. 令g(x)=wx+b,对于任意点x,其在超平面的投影的为xp,有以下公式推导:
    -- x-xp=r(w / ||w||),括号内是单位向量
    -- x=xp + r
    (w / ||w||)
    -- g(x)=g(xp+r(w/||w||)),由g(xp)=0
    -- g(x)=wxp+b+w
    r(w/||w||),由向量乘法,ww=|w||w|cos夹角
    -- g(x)=r||w||,对于任意点x,其判别函数gx=wx+b 正比于其到超平面的距离*
  5. 感知机学习算法,即通过降低误分类的损失 ,有以下推导(线性可分数据集,算法一定可以收敛)
    -- 误分类的个数不是参数w,b的连续可导函数,不易优化
    -- 使用L(w,b)=sum(-y(wx+b)/||w||),即误分类的所有点到超平面距离之和.g(x)=wx+b=r||w||
    -- 简化1/||w||,L(w,b)=sum(-y*(wx+b)),显然损失函数在分类正确时为0,错误时非负
    -- 感知机学习问题,转为对损失函数的最优化问题,使用随机梯度下降算法
    -- 分别对w,b进行偏导,然后迭代优化
    -- 步骤见《统计机器学习》P29,下面实例计算加深理解
  6. 感知机学习算法的对偶形式(批量更新?)
    公式参考
    推导公式可以看《模式分类》P178

三、KNN —k近邻法

四、朴素贝叶斯

五、决策树

六、随机森林与GBDT

七、逻辑回归

八、SVM

九、神经网络

https://hit-scir.gitbooks.io/neural-networks-and-deep-learning-zh_cn/content/chap1/c1s1.html

十、提升方法

十一、EM方法(备选)

推荐阅读更多精彩内容