1.朴素贝叶斯的多项式事件模型:

    趁热打铁,直接看图理解模型的意思:具体求解可见下面大神给的例子,我这个是流程图。

    

  在上篇笔记中,那个最基本的NB模型被称为多元伯努利事件模型(Multivariate Bernoulli Event Model,以下简称 NB-MBEM)。该模型有多种扩展,一种是在上一篇笔记中已经提到的每个分量的多值化,即将p(xi|y)由伯努利分布扩展到多项式分布;还有一种在上一篇笔记中也已经提到,即将连续变量值离散化。本文将要介绍一种与多元伯努利事件模型有较大区别的NB模型,即多项式事件模型(Multinomial Event Model,一下简称NB-MBEM)。
  首先 ,NB-MEM改变了特征向量的表示方法。在 NB-MBEM中,特征向量的每个分量代表词典中该index上的词语是否在文本中出现过,其取值范围为{0,1},特征向量的长度为词典的大小。而在 NB-MEM中,特征向量中的每个分量的值是文本中处于该分量的位置的词语在词典中的索引,其取值范围是{1,2,...,|V|},|V|是词典的大小,特征向量的长度为相应样例文本中词语的数目。
形式化表示为:
m个训练样本表示为:{x(i),y(i);i=1,...,m}
 
x(i)=(x1(i),x2(i),...,xni(i))
表示第i个样本中,共有ni个词,每个词在字典的编号xj(i)。
举例来说,在NB-MBEM中,一篇文档的特征向量可能如下所示:

其在NB-MEM中的向量表示则如下所示


在NB-MEM中,假设文本的生成过程如下:

1、确定文本的类别,比如是否为垃圾文本、是财经类还是教育类;
2、遍历文本的各个位置,以相同的多项式分布生成各个词语,生成词语时相互独立。
由上面的生成过程可知,NB-MEM假设文本类别服从多项式分布或伯努利分布,而词典中所有的词语服从多项式分布。生成过程还可如下解释,即现在类别所服从的多项式分布中选取类别,然后遍历整个文本,在词语所服从的多项式分布中选取词语,放在文本中相应的位置上。
于是,NB-MEM的参数如下所示:
于是,我们可以得到参数在训练集上的极大似然估计:

极大化似然估计函数,可以得到各个参数的极大似然估计:

在φk|y=1和φk|y=0 上使用Laplace平滑,得到公式如下:
 
 
 
 
 
 
其中,|V|为词典的大小。
与以前的式子相比,分母多了个ni,分子由0/1变成了k。
对于式子



 分子的意思是对所有标签为1的邮件求和,即只考虑垃圾邮件,之后对垃圾邮件中的所有词求和,它加起来应该是词k出现在垃圾邮件中的次数。

换句话说,分子实际上就是对训练集合中的所有垃圾邮件中词k出现的次数进行求和。
分母的含义是对训练样本集合进行求和,如果其中的一个样本是垃圾邮件(y=1),那么就把它的长度加起来,所以分母的含义是训练集合中所有垃圾邮件的总长。
所以这个比值的含义就是在所有垃圾邮件中,词k所占的比例。
 
举个例子:
假如邮件中只有a,b,c这三个词,他们在词典的位置分别是1,2,3,前两封邮件都只有两个词,后两封有3个词。
Y=1是垃圾邮件。
那么,



假如新来一封邮件为b,c,那么特征表示为{2,3}

那么



那么该邮件是垃圾邮件概率是0.6。

注意这个公式与朴素贝叶斯的不同在于这里针对整体样本求的φk|y=1 ,而朴素贝叶斯里面针对每个特征求的φxj=1|y=1 ,而且这里的特征值维度是参差不齐的。

2.神经网络

  这就不说了,很早之前就已经推到过而且写过代码-->>http://www.cnblogs.com/wjy-lulu/p/6547542.html

3.支持向量机

  以前看过懂了,时间长不用又忘记了,这个等用到再看吧

  http://www.cnblogs.com/wjy-lulu/p/6979436.html

参考:http://blog.sina.com.cn/s/blog_8a951ceb0102wbbv.html(这里面说的例子很好,我感觉画示意图就行了,再写例子太浪费时间了)

StanFord ML 笔记 第五部分的更多相关文章

  1. StanFord ML 笔记 第三部分

    第三部分: 1.指数分布族 2.高斯分布--->>>最小二乘法 3.泊松分布--->>>线性回归 4.Softmax回归 指数分布族: 结合Ng的课程,在看这篇博文 ...

  2. StanFord ML 笔记 第八部分

    第八部分内容:  1.正则化Regularization 2.在线学习(Online Learning) 3.ML 经验 1.正则化Regularization 1.1通俗解释 引用知乎作者:刑无刀 ...

  3. StanFord ML 笔记 第一部分

    本章节内容: 1.学习的种类及举例 2.线性回归,拟合一次函数 3.线性回归的方法: A.梯度下降法--->>>批量梯度下降.随机梯度下降 B.局部线性回归 C.用概率证明损失函数( ...

  4. StanFord ML 笔记 第十部分

    第十部分: 1.PCA降维 2.LDA 注释:一直看理论感觉坚持不了,现在进行<机器学习实战>的边写代码边看理论

  5. StanFord ML 笔记 第九部分

    第九部分: 1.高斯混合模型 2.EM算法的认知 1.高斯混合模型 之前博文已经说明:http://www.cnblogs.com/wjy-lulu/p/7009038.html 2.EM算法的认知 ...

  6. StanFord ML 笔记 第六部分&&第七部分

    第六部分内容: 1.偏差/方差(Bias/variance) 2.经验风险最小化(Empirical Risk Minization,ERM) 3.联合界(Union bound) 4.一致收敛(Un ...

  7. StanFord ML 笔记 第四部分

    第四部分: 1.生成学习法 generate learning algorithm 2.高斯判别分析 Gaussian Discriminant Analysis 3.朴素贝叶斯 Navie Baye ...

  8. StanFord ML 笔记 第二部分

    本章内容: 1.逻辑分类与回归 sigmoid函数概率证明---->>>回归 2.感知机的学习策略 3.牛顿法优化 4.Hessian矩阵 牛顿法优化求解: 这个我就不记录了,看到一 ...

  9. Hadoop阅读笔记(五)——重返Hadoop目录结构

    常言道:男人是视觉动物.我觉得不完全对,我的理解是范围再扩大点,不管男人女人都是视觉动物.某些场合(比如面试.初次见面等),别人没有那么多的闲暇时间听你诉说过往以塑立一个关于你的完整模型.所以,第一眼 ...

随机推荐

  1. 代码编辑器之sublime text

    http://www.iplaysoft.com/sublimetext.html 1.特点: 中文乱码问题:另外,很多朋友反映表示打开中文会有乱码,其实是因为ST2本身只支持UTF-8编码,而我们常 ...

  2. PByte和PChar的关系

    作为指针是相同的, 解析的内容,稍微有点区别. var s:String;P:PChar;B:PByte;a:Integer;begin  s:='1234';  P:=PChar(s);//按chr ...

  3. Django--bug--ImproperlyConfigured: The SECRET_KEY setting must not be empty.

    Django配置Restframework后,建立用户模型,执行迁移的时候报如下错误: django.core.exceptions.ImproperlyConfigured: The SECRET_ ...

  4. RAMOS_XP制作教程

    RAMOS_XP制作教程1.为了防止做系统时出现意外,用Bootice把C盘MBR修改为Grub4dos,这样子系统如果失败,可以进入PE重做. 2.进入PE格式化C盘,格式化的时候勾选启用NTFS压 ...

  5. maven打包时跳过测试

    本文转载自:https://blog.csdn.net/thc1987/article/details/42458895 运行mvn install时跳过Test 方法一: <project&g ...

  6. Boost:shared_memory_object --- 共享内存

    什么是共享内存 共享内存是最快速的进程间通信机制.操作系统在几个进程的地址空间上映射一段内存,然后这几个进程可以在不需要调用操作系统函数的情况下在那段内存上进行读/写操作.但是,在进程读写共享内存时, ...

  7. P1106删数问题

    链接 题解: #include<iostream>#include<cstdio>#include<cstring>using namespace std;int ...

  8. YAML配置,spring boot 配置文件

    1 概念YAML是一种人们可以轻松阅读的数据序列化格式,并且它非常适合对动态编程语言中使用的数据类型进行编码.YAML是YAML Ain't Markup Language简写,和GNU(" ...

  9. asp.net控件拖不动。控件错误

    有一种可能是工程的存储路径名称不规范导致,更改命名空间及路径. 我的存储路径是C#文件夹下,去掉#完美解决

  10. Python写的链接数据库存取数据

    Python写的链接数据库存取数据 #!/usr/bin/python # -*- coding: UTF-8 -*- from __future__ import print_function im ...