• 机器学习中的一些概念


    1.交叉验证

    • 将全部训练集S分成k个不相交的子集,{S1,S2,...,Sk},假设训练样本有m个,那么每个子集有m/k个训练样例
    • 对于模型集合M中的一个Mi,每次挑选k-1个子集{S1,S2,...,Sj-1,Sj+1,...,Sk}做训练,得到假设函数hij,用剩下一个子集Sj做训练,得到经验误差εij
    • 计算Mi的平均经验误差,选出平均经验误差最小的模型Mi,用全部训练集S做训练得到最终的hi

    2.异常检测

    • 假设样本有n维,并且符合高斯分布,求得每一维的µj,σj2
    • 对于新样本X直接计算其密度px
    • 如果密度值小于某一阈值ε,则表示该样本异常

          这里ε是通过交叉验证得到的,也就是说在进行异常检测时,前面的px的学习是用的无监督,后面的参数ε学习是用的有监督。因为在异常检测中,异常的样本数量非常少而正常样本数量非常多,属于不平衡二类问题,因此不足以学习到好的异常行为模型的参数,因为后面新来的异常样本可能完全是与训练样本中的模式不同。

    3.生成模型和判别模型

    • 判别模型:由数据直接学习决策函数Y=f(X)或者条件概率分布P(Y|X)作为预测的模型。基本思想是有限样本条件下建立判别函数,不考虑样本的产生模型,直接研究预测模型。典型的判别模型包括k近邻,感知级,决策树,支持向量机等。
    • 生成方法:由数据学习联合概率密度分布P(X,Y),然后求出条件概率分布P(Y|X)作为预测的模型,P(Y|X)= P(X,Y)/ P(X)。基本思想是首先建立样本的联合概率概率密度模型P(X,Y),然后再得到后验概率P(Y|X),再利用它进行预测。常见的有隐马尔科夫模型,朴素贝叶斯模型,高斯混合模型,LDA等。

    4.最大熵原理

          熵定义的实际上是一个随机变量的不确定性,熵最大的时候,说明随机变量最不确定,换句话说,也就是随机变量最随机,对其行为做准确预测最困难。最大熵原理指出,当我们需要对一个随机事件的概率分布进行预测时,我们的预测应当满足全部已知的条件,而对未知的情况不要做任何主观假设。(不做主观假设这点很重要。)在这种情况下,概率分布最均匀,预测的风险最小。说白了,就是要保留全部的不确定性,将风险降到最小。

    学习资料:

    1.判别模型和生成模型

  • 相关阅读:
    Jsp的内置标签和jstl标签
    Jsp中的EL表达式
    JSP和servlet结合案例
    Jsp:内置对象和四种域对象的理解
    编码实战Web端联系人的增删改查
    Session案例
    Cookie案例分析
    会话数据的保存——cookie
    ServletContext和ServletConfig
    Servlet(1)
  • 原文地址:https://www.cnblogs.com/Rosanna/p/3677380.html
Copyright © 2020-2023  润新知