您的位置:首页 > 编程语言 > Go语言

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

2017-03-06 15:50 375 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐