如有转载,请申明:
转载至 http://blog.youkuaiyun.com/qq_35064774/article/details/54862260
前言
坚持写博客半年多了,但感觉自己没有写技术博客的天赋,写出来的东西深度和广度都欠缺,也不容易理解。事实上大部分技术博客都存在这些问题,但即便写得不好,也会起到一定作用,所以我还是决定坚持写下去。
接触机器学习有一段时间了,感觉还是挺有意思的,趁着对理论概念还没忘记的时候,把知识点总结下来。这系列文章是学习笔记,更适合用来复习。
监督学习算法
- 朴素贝叶斯(Naive Bayes)
- 决策树(Decision trees)
- 支持向量机(SVM)
朴素贝叶斯
贝叶斯公式
朴素贝叶斯思想
- 有若干特征属性集合 x = {a1, a2, a3,…, am}
- 有若干类别集合 C = {y1, y2, …, yn}
- 且 x 中的所有属性相互条件独立
- 则会有 n 个先验概率 p(y1|x), p(y2|x),…, p(yn|x)
- 其中对于一个值固定的 x 来说,存在一个最大概率的类别 yi,则这个 x 就属于该类别。
总结:对于每一个特征属性,我们猜测它可能属于很多类别,可能是类别 yi、yj,朴素贝叶斯思想认为,概率最大的那个类别就是它实际所属类别。
先验概率估算后验概率
想了很久,难以写出满意的总结,先空着
但举一个的简单例子:
假设患癌症概率为 1%。对人群进行某项检测,在癌症患者中,检验呈阳性的比例为 90%,而非癌症患者检测呈阴性的比例为 90%,求某人检测呈阳性时,患有癌症的概率。
解析:
1. 用 c 代表患癌症,-c 表示无癌症,p 表示阳性,-p 表示阴性。
2. 则可以用式子表示: P(c)=0.01 , P(-c)=0.99 , P(p|c)=0.9 , P(-p|-c)=0.9 , P(-p|c)=1-P(p|c)=0.1 , P(p|-c)=1-P(-p|-c)=0.1,要求的是 P(c|p)
3. 所以可以计算出 P(c, p) 和 P(-c, p)
P(c, p)=P(c)*P(p|c)=0.01*0.9=0.009
P(-c, p)=P(-c)*P(p|-c)=0.99*0.1=0.099
4. P(p)=P(c, p)+P(-c, p)=0.009+0.099=0.108
5. P(c|p) = P(c, p) / P(p) = 0.009/0.108=0.0833
朴素贝叶斯分类器应用
这里使用的是基于 python 的 sklearn 库<