美文网首页
机器学习中的数学/算法

机器学习中的数学/算法

作者: yingtaomj | 来源:发表于2017-05-22 20:55 被阅读72次

    回归(regression)、梯度下降(gradient descent)

    h(x)拟合函数 J(theta)损失函数


    梯度是下降最快的方向

    线性回归,偏差、方差权衡

    真正的线性回归,不仅会考虑使得曲线与给定点集的拟合程度最好,还会考虑模型最简单。
    最小二乘法是基于这样一个假设:真实值和估计值之差服从高斯分布。而现实情况下,并不能对样本分布进行假设。


    红色点为最佳模型复杂度

    模型组合(Model Combining)之Boosting与Gradient Boosting

    Boosting:对一份数据,建立M个模型(比如分类),一般这种模型比较简单,称为弱分类器(weak learner)每次分类都将上一次分错的数据权重提高一点再进行分类,这样最终得到的分类器在测试数据与训练数据上都可以得到比较好的成绩。


    知错就改

    Gradient Boosting:每一次建立模型是在之前建立模型损失函数的梯度下降方向。

    线性判别分析(LDA), 主成分分析(PCA)

    线性判别分析:输入数据,得到判别函数
    使类别内方差小,类别间方差大

    使最大化:


    损失函数

    转换为求特征值的问题:


    Wi对应特征值
    PCA:无监督学习,点没有颜色(label)

    输入数据,进行预处理,将数据维度降低,降低后方差最大
    使投影后的方差最大:


    取前M个特征向量,构成M个向量组成的投影矩阵,即可使方差最大

    强大的矩阵奇异值分解(SVD)及其应用

    特征值分解(只有方阵有特征值):
    中间那个矩阵是由特征值组成的对角矩阵,Q是特征向量组成的矩阵
    奇异值:

    对于任意矩阵:




    部分奇异值分解:


    奇异值的应用1:PCA主成分分析

    PCA的全部工作简单点说,就是对原始的空间中顺序地找一组相互正交的坐标轴,第一个轴是使得方差最大的,第二个轴是在与第一个轴正交的平面中使得方差最大的,第三个轴是在与第1、2个轴正交的平面中方差最大的,这样假设在N维空间中,我们可以找到N个这样的坐标轴,我们取前r个去近似这个空间,这样就从一个N维的空间压缩到r维的空间了,但是我们选择的r个坐标轴能够使得空间的压缩使得数据的损失最小。

    r<n实现压缩
    P即V

    方差最大的坐标轴就是第一个奇异向量,方差次大的坐标轴就是第二个奇异向量,其实是对SVD的包装。

    奇异值的应用2:LSI潜在语义索引
    奇异值分解后

    左奇异向量表示词的一些特性,右奇异向量表示文档的一些特性,中间的奇异值矩阵表示左奇异向量的一行与右奇异向量的一列的重要程序,数字越大越重要。

    贝叶斯、概率分布与机器学习

    1. 贝叶斯公式:就是在给定观测数据D的情况下,求出其属于类别h。
      P(h|D) = P(D|h) * P(h) / P(D)
      称P(h|D)为模型的后验概率,就是从数据来得到假设的概率,P(h)称为先验概率,就是假设空间里的概率,P(D|h)是模型的 likelihood概率。

    决策树+模型组合 之随机森林与GBDT

    决策树:是将空间用超平面进行划分的一种方法。
    随机森林:很多决策树共同决定分类结果。每一棵决策树就是一个精通于某一个窄领域的专家(因为我们从M个feature中选择m让每一棵决策树进行学习),这样在随机森林中就有了很多个精通不同领域的专家,对一个新的问题(新的输入数据),可以用不同的角度去看待它,最终由各个专家,投票得到结果。
    Gradient Boost Decision Tree

    1. 假设输入数据x可能属于5个分类(分别为1,2,3,4,5),训练数据中,x属于类别3,则y = (0, 0, 1, 0, 0),假设模型估计得到的F(x) = (0, 0.3, 0.6, 0, 0),则经过Logistic变换后的数据p(x) = (0.16,0.21,0.29,0.16,0.16),y - p得到梯度g:(-0.16, -0.21, 0.71, -0.16, -0.16)。
      (要让梯度接近0)
    2. 得到梯度之后,就是如何让梯度减少了。这里是用的一个迭代+决策树的方法。当初始化的时候,随便给出一个估计函数F(x),然后之后每迭代一步就根据当前每一个样本的梯度的情况,建立一棵决策树。就让函数往梯度的反方向前进,最终使得迭代N步后,梯度最小。

    支持向量机(SVM)基础

    选择使得间隙最大的函数作为分割平面。


    表达式:y(wx + b) = 1,y是1或-1

    优化目标:


    凸问题就是指的不会有局部最优解,可以想象一个漏斗,不管我们开始的时候将一个小球放在漏斗的什么位置,这个小球最终一定可以掉出漏斗,也就是得到全局最优解。

    线性可分优化表达式:



    线性不可分时:

    1. 用直线,不保证完全正确,所以要加入惩罚函数,此时的目标表达式


    2. 核函数
      让空间从原本的线性空间变成一个更高维的空间,在这个高维的线性空间下,再用一个超平面进行划分。


      将红色部分映射到高维空间即可

    SVM实现多分类的三种方案

    1. 直接法,直接在目标函数上进行修改,将多个分类面的参数求解合并到一个最优化问题中,通过求解该最优化问题“一次性”实现多类分类。
    2. 间接法,主要是通过组合多个二分类器来实现多分类器的构造。
    • 一对多:训练时依次把某个类别的样本归为一类,其他剩余的样本归为另一类,这样k个类别的样本就构造出了k个SVM。分类时将未知样本分类为具有最大分类函数值的那类。
    • 一对一:其做法是在任意两类样本之间设计一个SVM,因此k个类别的样本就需要设计k(k-1)/2个SVM。当对一个未知样本进行分类时,最后得票最多的类别即为该未知样本的类别。

    相关文章

      网友评论

          本文标题:机器学习中的数学/算法

          本文链接:https://www.haomeiwen.com/subject/rtjixxtx.html