首页 > 代码库 > 机器学习常见算法个人总结(面试用)

机器学习常见算法个人总结(面试用)

By Kubi Code

朴素贝叶斯

参考[1]

事件AB同时发生的概率为在A发生的情况下发生B或者在B发生的情况下发生A
P(AB)=P(A)?P(B|A)=P(B)?P(A|B)
所以有:
P(A|B)=P(B|A)?P(A)P(B)

对于给出的待分类项,求解在此项出现的条件下各个目标类别出现的概率,哪个最大,就认为此待分类项属于哪个类别

工作原理

  1. 假设现在有样本x=(a1,a2,a3,an)这个待分类项(并认为x里面的特征独立)
  2. 再假设现在有分类目标Y={y1,y2,y3,y4..yn}
  3. 那么max(P(y1|x),P(y2|x),P(y3|x)..P(yn|x))就是最终的分类类别
  4. P(yi|x)=p(x|yi)?P(yi)P(x)
  5. 因为x对于每个分类目标来说都一样,所以就是求max(P(x|yi)?p(yi))
  6. P(x|yi)?p(yi)=p(yi)?i(P(ai|yi))
  7. 而具体的p(ai|yi)和p(yi)都是能从训练样本中统计出来
    p(ai|yi)表示该类别下该特征出现的概率
    p(yi)表示全部类别中这个这个类别出现的概率
  8. 好的,就是这么工作的^_^

工作流程

  1. 准备阶段
    确定特征属性,并对每个特征属性进行适当划分,然后由人工对一部分待分类项进行分类,形成训练样本。
  2. 训练阶段
    计算每个类别在训练样本中的出现频率及每个特征属性划分对每个类别的条件概率估计
  3. 应用阶段
    使用分类器进行分类,输入是分类器和待分类样本,输出是样本属于的分类类别

属性特征

  1. 特征为离散值时直接统计即可(表示统计概率)
  2. 特征为连续值的时候假定特征符合高斯分布:g(x,n,u)
    那么p(ak|yi)=g(xk,ni,ui)

Laplace校准(拉普拉斯校验)

当某个类别下某个特征划分没有出现时,会有P(a|y)=0,就是导致分类器质量降低,所以此时引入Laplace校验,就是对没类别下所有划分的计数加1。

遇到特征之间不独立问题

参考改进的贝叶斯网络,使用DAG来进行概率图的描述

优缺点

朴素贝叶斯的优点:

    1. 对小规模的数据表现很好,适合多分类任务,适合增量式训练。
      缺点:
    2. 对输入数据的表达形式很敏感(离散、连续,值极大极小之类的)。

 

机器学习常见算法个人总结(面试用)