VEE的机器学习日记(1)

来源:互联网 发布:爆菊感受 知乎 编辑:程序博客网 时间:2024/05/22 12:56

今天开始学习机器学习,打算通过日记的形式进行记录,借了两本书作为入门指导,博客内容均由书本内容整理得到,在此对作者表示感谢,书本目录如下:

  • 杉山将的《图解机器学习》中文译本
  • Miroslav Kubat 的《机器学习导论》中文译本

一、需要了解的一些名词

  1. 监督学习:输入输出样本已知(典型任务:预测数值型数据的回归、预测分类标签的分类、预测顺序的排序等)
  2. 无监督学习:只有输入样本(典型任务:聚类、异常检测等,适用于视频分析)
  3. 强化学习:只有输入样本,但是对结果进行自我评估(会用到回归、分类、聚类和降维等算法)
  4. 回归:有监督的函数近似问题
  5. 分类:有监督的模式识别问题
  6. 聚类:无监督的模式识别问题
  7. 异常处理:寻找输入样本中的异常数据(一般采用密度估计方法)
  8. 降维:从高维度数据中提取关键信息,将其转换为易于计算的低维度问题(有监督和无监督)

二、机器学习的流派

  1. 判别式分类:应用训练集直接对后验概率 p(y|x) 进行学习
  2. 产生式分类:通过预测数据生成概率 p(x,y) 来进行模式识
    PS:因为 p(y|x)p(x,y) 成正比,即
    p(y|x)=p(x,y)p(x)
  3. 统计概率:用训练样本D=(xi,yi)ni=1对模式 θ 进行学习,由训练集D得到高精度的模式 θ
  4. 朴素贝叶斯:通过模式先验概率 p(θ) 精确地计算后验概率 p(θ|D)
    p(θ|D)=p(D|θ)p(θ)p(D)=ni=1q(xi,yi|θ)p(θ)ni=1q(xi,yi|θ)p(θ)dθ

三、学习模型

  1. 线性模型:只能表示线性的输入输出函数 fθ(x)(直线关系)无法与非线性函数f(x)近似,因此实用价值不高。因此引出了基于参数的线性模型,使线性模型可以表示非线性的输入输出:
    fθ(x)=j=1bθjϕj(x)=θTϕ(x)
    其中 ϕj(x)是基函数向量ϕ(x)的第j个因子,T表示转置,b 是其个数。基函数ϕ(x)可以是多项式,因此可以表示复杂的非线性模型。另外还有其乘法模型和加法模型,乘法模型维数太高会出现维数灾难。特点:基函数与训练样本无关。
  2. 核模型:进行基函数设计时使用输入样本 {xi}ni=1
    fθ(x)=j=1nθjK(x,xj)
    其中 K 是核函数的二元函数,常用高斯核函数:
    K(x,c)=exp(||xc||22h2)
    其中||●||为2范数,h为带宽,c为均值。K(x,xj)实现了对输入样本的高斯核配置(有点像通信里面的傅里叶变换,信号可以由多个正弦函数叠加表示),把其高度{θi}ni=1作为参数进行学习。因此核模型是在训练集输入样本附近对函数进行近似,减轻了维数灾难。
    PS:用输入样本是字符串、决策树或图表等的核函数进行机器学习,称为核映射。
  3. 层级模型
    fθ(x)=j=1bαjϕ(x;βj)
    其中 ϕ(x;βj) 是含有参数向量 β 的基函数。常用的有S形函数,其模仿人类脑细胞的输入输出函数,因此也称为人工神经网络模型:
    ϕ(x;β)=11+exp(xTωγ),β=(ωT,γ)T
    以及高斯函数,与核模型类似,但是核模型中带宽和均值是固定的,而在层级模型中两者是进行学习的,所以更加灵活地实现近似。
    ϕ(x;β)=exp(||xc||22h2),β=(cT,γ)T
原创粉丝点击