IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    [原]生成学习算法(generative learning algorithms)和判别学习算法(discriminative learning algorithms)

    caimouse发表于 2017-03-06 15:50:05
    love 0
    1、 生成学习算法
    例:对恶性肿瘤和良性肿瘤的分类
    除了寻找一个将两类数据区分的直线外,还可以用如下方法:
    1)       遍历训练集,找到所有恶性肿瘤样本,直接对恶性肿瘤的特征建模;同理,对良性肿瘤建模。
    2)       对一个新的样本分类时,即有一个新的病人时,要判断其是恶性还是良性,用该样本分别匹配恶性肿瘤模型和良性肿瘤模型,看哪个模型匹配的更好,预测属于恶性还是良性。
    这种方法就是生成学习算法。
     
    两种学习算法的定义:
    1)       判别学习算法:
    -          直接学习p(y|x),即给定输入特征,输出所属的类
    -          或学习得到一个假设hθ(x),直接输出0或1
    2)       生成学习算法:
    -          对p(x|y)进行建模,p(x|y)表示在给定所属的类的情况下,显示某种特征的概率。处于技术上的考虑,也会对p(y)进行建模。
    -          p(x|y)中的x表示一个生成模型对样本特征建立概率模型,y表示在给定样本所属类的条件下
    例:在上例中,假定一个肿瘤情况y为恶性和良性,生成模型会对该条件下的肿瘤症状x的概率分布进行建模

    -          对p(x|y)和p(y)建模后,根据贝叶斯公式p(y|x) = p(xy)/p(x) = p(x|y)p(y)/p(x),可以计算:p(y=1|x) = p(x|y=1)p(y=1)/p(x),其中,p(x) = p(x|y=0)p(y=0) + p(x|y=1)p(y=1)


    参考:

    http://blog.csdn.net/andrewseu/article/details/46789121

    http://blog.csdn.net/xiahouzuoxin/article/details/45223519

    http://blog.csdn.net/tanhongguang1/article/details/45016421

    http://blog.csdn.net/wsj998689aa/article/details/40303561

    http://blog.csdn.net/u013802188/article/details/40402013


    1. C++标准模板库从入门到精通 

    http://edu.csdn.net/course/detail/3324

    2.跟老菜鸟学C++

    http://edu.csdn.net/course/detail/2901

    3. 跟老菜鸟学python

    http://edu.csdn.net/course/detail/2592

    4. 在VC2015里学会使用tinyxml库

    http://edu.csdn.net/course/detail/2590

    5. 在Windows下SVN的版本管理与实战 

     http://edu.csdn.net/course/detail/2579

    6.Visual Studio 2015开发C++程序的基本使用 

    http://edu.csdn.net/course/detail/2570

    7.在VC2015里使用protobuf协议

    http://edu.csdn.net/course/detail/2582

    8.在VC2015里学会使用MySQL数据库

    http://edu.csdn.net/course/detail/2672



沪ICP备19023445号-2号
友情链接