ML学习笔记(一):naive bayas
来源:互联网 发布:美容美发管理软件源码 编辑:程序博客网 时间:2024/06/03 04:24
学习了一个多学期的机器学习和数据挖掘的基本知识,经过一次考试认识到,目前知识还处于混乱状态,借此平台整理,加深记忆。
如果中间过程没有看懂,我相信我的例子一定能让你透彻理解。例子需要动手计算,相信算完再回顾前面的理论就会有新的理解。例子在第五部分。
1. 简介
naive bayes分类器是一种很简单的概率分类器。主要理论是bayes理论,以及对特征间强独立性的假设。就是假设所有事件互相独立。举例来说就是,决定是否买电脑时,我的年龄和我的收入是完全独立的。年龄不会影响收入。
优点:Simple and fast
缺点:在现实问题中,对于各个特征完全独立的假设可能不准确。
2. 概率模型
naive bayes分类器是一个条件概率模型,该分类器如下面公式所示:
问题描述:
也就是说,选择概率最大的那一类将X归入。
基于Bayes理论,条件概率可以被表示为
下面讨论此公式的计算问题。
<1>在实际使用中
<2>
由于naive bayes假设所有特征独立,此时条件概率等于无条件概率即:
所以(1)可以化简为:
但是读者可能又会问,
<3>
P(C_k)为先验概率,此概率一半为已知。
<4>接下来就是结论,编程的时候就是使用的这一部分,综上naive bayes分类器可以表示为:
3. 事件模型
这一部分是针对上一部分
正态分布
P(x=v|c)=12πσ2c‾‾‾‾‾√e−(v−μc)22σ2c Bernoulli分布
P(x=l|Ck)=plkj(1−pkj)1−l l=0,1
4. 参数估计
上一部分,就是说如果碰到实际问题,可以假设概率就是这个样子。但是如果不能假设成为这个样子,我们就需要用到参数估计的知识了。现在我们再回顾一下我们要计算的公式:
所以本节分为两个部分
part one: P(Ck) 的估计
这个式子就是说,我这一类的先验概率可以表示为,我所有已知数据中是这一类的数量/总的数量。其中
part two:P(x(j)|Ck) 的估计
这个式子就是说,
5. 例子:是否购买电脑
好了,讲了这么多,如果没有例子我也是谜的。下面这个例子相信能让你对我上面总结的各种公式有深刻的理解。
例:现在我们已经有了一些购买电脑人的信息如下图,使用naive bayes模型,预测wxc575843同学他会不会买电脑,此同学的属性为
不使用平滑即
解:
这里一共要计算两个值,
<1>
这里我们可以数出,14个人中有9个买了电脑,所以
在9个买了电脑的人中age=youth的有两个所以
在9个买了电脑的人中income=medium的有4个所以
同理
所以
<2>
同<1>中的计算方式可得
综上所述:
6. python 代码实现
这一部分是用代码实现naive bayes分类器。此部分待我整理好之后,这两天发出。
- ML学习笔记(一):naive bayas
- 朴素贝叶斯Naive Bayes-机器学习ML
- [java-ml 学习笔记(一)] Start
- Andrew Ng机器学习(ML)入门学习笔记(一)
- ML学习笔记_day1_introduction
- ML学习笔记-决策树
- DL&ML基础学习一
- opencv学习笔记--ml 【1】
- 不定期更新ML学习笔记
- ML学习笔记-朴素贝叶斯
- Spark ML PipeLine学习笔记
- [机器学习] Coursera ML笔记
- [机器学习] Coursera ML笔记
- spark ml 随机森林源码笔记一
- MIT ML 听课笔记(一)
- spark ml 推荐源码笔记一
- spark ml 聚类源码笔记一
- ML--SVM学习小结(一)
- 提问的智慧,大致看了一下,很多点没消化,要多看几遍,多理解。感谢作者分享!
- Problem D: C语言习题5.25--文件操作2
- mysql配置优化
- 使用 RMI + ZooKeeper 实现远程调用框架
- 1.2字符串包含
- ML学习笔记(一):naive bayas
- 第17章 网络编程
- 高性能服务器架构思路
- Android touch冲突解决小记
- LINQ中ForEach方法的使用
- Android中LruCache到底是如何配合LinkedHashMap实现LRU算法
- 新菜鸟的诞生
- C语言基础 for循环计算1到100的累加和
- 面向对象数据库