zoukankan      html  css  js  c++  java
  • 机器学习中的一些概念

    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.判别模型和生成模型

  • 相关阅读:
    洛谷P2292 [HNOI2004]L语言
    洛谷P4052 [JSOI2007]文本生成器(AC自动机)
    洛谷P3193 [HNOI2008]GT考试(KMP,矩阵)
    创建目录命令
    ssh免密码登录机器(使用公钥和秘钥进行加密来实现)
    kafka工作原理介绍
    KafKa集群安装、配置
    Kafka的partions和replication-factor参数的理解
    linux之find命令详解
    将用户需求和新型技术输入,优质服务和价值体验输出。
  • 原文地址:https://www.cnblogs.com/Rosanna/p/3677380.html
Copyright © 2011-2022 走看看