课程概要:

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

2.神经网络

3.支持向量机

一、朴素贝叶斯多项式事件模型

在上一篇中提到过的朴素贝叶斯中,主要是二元值,即以0,1标示邮件中的词是否在词典中出现。这个最基本的NB模型也被称为多元伯努利事件模型(NB-MBEN),而这一篇要讲的为多项式事件模型(NB-MEN)。

NB-MBEN与NB-MEN的区别

首先,NB-MEM 改变了特征向量的表示方法。在 NB-MBEM 中,特征向量的每个分量代表词典中该 index 上的词语是否在文本中出现过,

其取值范围为{0,1},特征向量的长度为词典的大小。

而在 NB-MEM 中,特征向量中的每个分量的值是文本中处于该分量的位置的词语在词典中的索引,其取值范围是{1,2,…,|V|},|V|是词典的大小,

特征向量的长度为相应样例文本中词语的数目。
举例来说,在NB-MBEM 中,一篇文档的特征向量可能如下所示:

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

在 NB-MEM 中,假设文本的生成过程如下:
确定文本的类别,比如是否为垃圾文本、是财经类还是教育类等;

遍历文本的各个位置,以相同的多项式分布生成各个词语,生成词语时相互独立。

由上面的生成过程可知,NB-MEM 假设文本类别服从多项式分布或伯努利
布,而词典中所有的词语服从多项式分布。生成过程还可如下解释,即先在类
所服从的多项式分布中选取类别,然后遍历整个文本,在词语所服从的多项式
布中选取词语,放到文本中相应的位置上。
于是,NB-MEM 的参数如下所示:

上述式子含义分别为垃圾邮件频率,当为垃圾邮件时在词典中k位置的词出现频率,和当为非垃圾邮件时在词典中k位置的词出现频率。(而在NB-MBEN中标示的是当为垃圾邮件或非垃圾邮件时词典中某词是否出现的频率)

所以参数在训练集上的极大似然估计为:

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

上面第一个式子,分子的意思是,对所有标签为1的邮件求和,之后对垃圾邮件中的词k(词典中第k个位置的词)求和,所以分子实际上就是训练集中所有垃圾邮件中词k出现的次数。分母是训练集中所有垃圾邮件的长度。比值的含义就是所有垃圾邮件中,词k占的比例。表示生成垃圾邮件时选择词k的频率。第二个式子的含义和第一个差不多,只是垃圾邮件变成了非垃圾邮件。第三个式子的含义为垃圾邮件在所有邮件中的比例。

应用Laplace平滑,分子加1,分母加总词数(字典大小,xi可能取值的数目):

二、神经网络

之前介绍的无论是感知器算法还是逻辑斯蒂回归还是刚才所介绍的朴素贝
叶斯模型(朴素贝叶斯算法是前置假设是多项式分布的多项式模型,所以也属于

逻辑斯蒂回归模型),其最终结果反映在数据上都是一条直线或一个超平面,但
如果数据并不是线性可分的话,这些模型的性能会变差。针对该问题,涌现出很
多对非线性可分数据进行分类的算法,神经网络(neural network)是其中最早出
现的一种。

对于逻辑斯蒂回归模型,可以将其表示为下图所示:

其中,xi 是输入的特征向量的各个分量,sigmoid 是计算单元,output 是函
数输出。而神经网络则是将这样的计算单元组合起来,如下所示:

将之前画的小单元拼在一起,得到神经网络。特征输入到若干个sigmoid单元,再输入到另外一个sigmoid单元,

得到输出。中间节点的输出值设为a1,a2,a3(sigmoid单元参数)。这些中间节点称为隐藏层,神经网络可以有多个隐藏层。

神经网络算法的一大特点就在于不知道隐藏层计算的东西的意义,另一个特点在于神经网络有比较多的局
部最优值,可以通过多次随机设定初始值然后运行梯度下降算法获得最优值。

四个sigmoid单元之间的参数关系如下式:

学习这些参数需要用到成本函数比如:

这是第一次视频里就提到的二次成本函数(quadratic cost function),可以使
用梯度下降方法最小化成本函数来求得参数,在神经网络中的梯度下降算法有一
个专门的名称叫做反向传播算法(back propagation)。

三、支持向量机铺垫--函数间隔与几何间隔

要理解支持向量机(Support  Vector  Machine,SVM),必须先了解函数间隔(functional margin)与几何间隔(geometric margin) 。

考虑logistic回归:
预测1等价于等价于越大,就越大,就越高的程度预测1,也就是可以说如果,那么y=1. 类似地,如果那么y=0.
如果能够找到参数使得当y(i)=1时,,而当y(i)=0时有. 那么这个预测对训练集很好的.

为了接下来SVM的讨论,需要变换一下符号,类别 y可取值由{0,1}变为{-1,1},假设函数g为

而目标函数 h也由:

变为:

函数间隔

由公式 16,我们得知,w,b可以唯一的确定一个超平面。一个点(x(i),y(i))到由w,b决定的超平面的函数间隔是:

如果y(i)=1,为了获得较大的函数间隔,需要令wTx(i)+b >> 0;

如果y(i)=-1,为了获得较大的函数间隔,需要令wTx(i)+b << 0;

如果y(i)(wTx(i)+b) > 0,意味着分类结果正确

一个超平面(w,b)和整个训练集的函数间隔定义为:

即相对于整个训练集的函数间隔定义为所有相对于样本的函数间隔的最坏情形(因为距离越远越好)。

函数间隔的问题在于只要成倍增大 w,b,就能是函数间隔变大。为了解决这个问题,就有了几何间隔的定义。

几何间隔

几何距离定义为:一个训练样本对应的点到由超平面确定的分隔线的距离。如下图A到分隔线的距离AB就是几何距离。

和分隔线垂直的单位向量表示为:w/||w||,AB这段距离表示为γ(i),γ上有小三角表示函数间隔,没有表示几何间隔。若A点表示x(i),那么点B表示为:

由于点B在分隔线上,它应该还满足:

可以解出:

上式说明,对于一个训练样本x(i),到由参数w和b确定的分隔平面之间的距离,可以由上式得到。

由于上述一直假设对样本进行了正确的分类,所以更一般的,将几何间隔定义为:

这个定义和函数间隔很相似,不同点是对向量w进行了标准化。同样,希望几何间隔也是越大越好。

结论:如果||w||=1,函数间隔等于几何间隔。更一般的,几何间隔等于函数间隔除以||w||。

一个超平面(w,b)和整个训练集的几何间隔定义为:

和函数间隔类似,取样本中最小的几何间隔。

最大间隔分类器可以看做是支撑向量机的前身,是一种学习算法,选择特定的w和b,使几何间隔最大化。最大分类间隔是下述这样的优化问题:

即选择γ,w,b是γ最大,同时满足条件:所选取的最大几何间隔必须保证每个样本的结合间隔至少为γ。

几何间隔与函数间隔的意义在于为根据训练集合得到的模型增添了一个指标,使得模型不仅保证分类结果的正确性,更要进一步保证分类结果的确定性。

参考:

斯坦福ML公开课笔记

http://blog.csdn.net/maverick1990/article/details/16115077

斯坦福大学公开课机器学习课程(Andrew Ng)六朴素贝叶斯算法相关推荐

  1. 斯坦福大学公开课机器学习:Neural Networks,representation: non-linear hypotheses(为什么需要做非线性分类器)...

    如上图所示,如果用逻辑回归来解决这个问题,首先需要构造一个包含很多非线性项的逻辑回归函数g(x).这里g仍是s型函数(即 ).我们能让函数包含很多像这的多项式,当多项式足够多时,那么你也许能够得到可以 ...

  2. 斯坦福大学公开课机器学习:advice for applying machine learning | learning curves (改进学习算法:高偏差和高方差与学习曲线的关系)...

    绘制学习曲线非常有用,比如你想检查你的学习算法,运行是否正常.或者你希望改进算法的表现或效果.那么学习曲线就是一种很好的工具.学习曲线可以判断某一个学习算法,是偏差.方差问题,或是二者皆有. 为了绘制 ...

  3. 斯坦福大学公开课 :机器学习课程(Andrew Ng)——1、整体看一看

    ============================================================================[课程综述]================== ...

  4. 斯坦福大学公开课 :机器学习课程

    共20讲 在网易公开课上有视频全集,难能可贵的是配带中英文字幕 斯坦福大学公开课 :机器学习课程 在JerryLead的blog中可以下到他的学习笔记以及讲义原稿. 感谢Andrew Ng, 感谢Je ...

  5. 【斯坦福大学公开课CS224W——图机器学习】三、节点和图嵌入

    [斯坦福大学公开课CS224W--图机器学习]三.节点和图嵌入 文章目录 [斯坦福大学公开课CS224W--图机器学习]三.节点和图嵌入 1. 节点嵌入 1.1 编码器与解码器 1.2 节点嵌入的游走 ...

  6. 【斯坦福大学公开课CS224W——图机器学习】五、消息传递和节点分类

    [斯坦福大学公开课CS224W--图机器学习]五.消息传递和节点分类 文章目录 [斯坦福大学公开课CS224W--图机器学习]五.消息传递和节点分类 1. Message Passing and No ...

  7. 斯坦福大学公开课:iPhone开发教程2010年冬

    2019独角兽企业重金招聘Python工程师标准>>> 斯坦福大学公开课:iPhone开发教程2010年冬 http://v.163.com/special/opencourse/i ...

  8. 斯坦福大学公开课:iOS 8开发

    斯坦福大学公开课:iOS 8开发: http://open.163.com/special/opencourse/ios8.html

  9. SCI论文如何写--斯坦福大学公开课-Writing in the Sciences

    SCI论文如何写--斯坦福大学公开课-Writing in the Sciences 链接:https://pan.baidu.com/s/1McDHMLqhs-KbpKRDNRNQTQ 提取码:12 ...

  10. 【CS231n】斯坦福大学李飞飞视觉识别课程笔记(六):线性分类笔记(上)

    [CS231n]斯坦福大学李飞飞视觉识别课程笔记 由官方授权的CS231n课程笔记翻译知乎专栏--智能单元,比较详细地翻译了课程笔记,我这里就是参考和总结. [CS231n]斯坦福大学李飞飞视觉识别课 ...

最新文章

  1. 算法设计思想(4)— 分治法
  2. 与C#中的typedef等效
  3. Vim命令行模式调用shell命令方式(笔记)
  4. MongoDB学习笔记——Master/Slave主从复制
  5. [android] 切换按钮-自定义控件-拖动效果
  6. stm32跑马灯实验
  7. 在Python中的无参装饰器和有参装饰器
  8. WSCRIPT与CScript区别解释
  9. Java解析XMl文件之SAX和DOm方法
  10. linux软链接上传svn,svn 软链接问题
  11. json 文件打读取
  12. python真的可以减少工作强度_用Python写几行代码,一分钟搞定一天工作量,同事直呼:好家伙!...
  13. Golang 【大字符串相加,求和】
  14. 并行计算课程上机作业
  15. cvs数据格式 gps_全站仪和GPS数据格式的转化方法
  16. iOS更新系统服务器出错,iPhone 更新失败怎么办?更新 iOS 常见的错误代码及解决方法...
  17. win10安装无法创建新分区也找不到现有分区问题
  18. Nature:给研究生的四条金玉良言;颜宁:写的真好,相见恨晚
  19. c语言青蛙游戏,c语言:一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法?...
  20. 一对一python培训班多少钱

热门文章

  1. 一文看懂外汇风险准备金率调整为 20%的含义
  2. Java——TCP/IP超详细总结
  3. 科普一下: 关于C语言中的运算符优先级
  4. c语言编程中每个指令含义,C语言编程中我们会遇见一些指令,在这里列了一些出来...
  5. mac关于 E45: ‘readonly‘ option is set (add ! to override)
  6. MySQL 根据字段的不同值进行升序和降序排序
  7. P2882 [USACO07MAR]Face The Right Way G 【贪心 + 差分】
  8. 如何删除Mac电脑中的第三方字体?
  9. APQ:联合搜索网络架构、剪枝和量化
  10. 【历史上的今天】11 月 8 日:为开源献身的互联网之子;卷积神经网络 LeNet-5 问世;特斯拉发明遥控器