Stanford大学机器学习公开课(六):朴素贝叶斯多项式模型、神经网络、SVM初步
(一)朴素贝叶斯多项式事件模型
其在NB-MEM中的向量表示则如下所示:
在NB-MEM中,假设文本的生成过程如下:
于是,我们可以得到参数在训练集上的极大似然估计:
在φk|y=1和φk|y=0
上使用Laplace平滑,得到公式如下:
其中,|V|为词典的大小。
分子的意思是对所有标签为1的邮件求和,即只考虑垃圾邮件,之后对垃圾邮件中的所有词求和,它加起来应该是词k出现在垃圾邮件中的次数。
假如邮件中只有a,b,c这三个词,他们在词典的位置分别是1,2,3,前两封邮件都只有两个词,后两封有3个词。
假如新来一封邮件为b,c,那么特征表示为{2,3}
那么该邮件是垃圾邮件概率是0.6。
,而朴素贝叶斯里面针对每个特征求的φxj=1|y=1
,而且这里的特征值维度是参差不齐的。
其中,xi是输入的特征向量的各个分量,sigmoid是计算单元,output是函数输出。sigmoid计算单元有参数θ,其函数形式为:
而神经网络则是将这样的计算单元组合起来,如下图所示:
其中,a1,a2,a3是中间单元的输出。可以看到,该图所示的神经网络有四个参数,分别为四个sigmoid单元的参数。这些参数之间的关系如下式所述:
这是第一次视频里就提到的二次成本函数(quadratic cost
function),可以使用梯度下降方法最小化成本函数来求得参数,在神经网络中的梯度下降算法有一个专门的名称叫做反向传播算法。
layer),与输出直接项链的称为输出层(output
layer)。神经网络算法的一大特点就在于不知道隐藏层计算的东西的意义,另一个特点在于神经网络有比较多的局部最优值,可以通过多次随机设定初始值然后运行梯度下降算法获得最优值。
LeCun,他以字符识别与卷积神经网络而著名。另外一个应用则是NETtalk神经网络,使用神经网络来阅读文本,作者是Terry
J.Sejnowski。
Machine),必须先了解函数间隔与几何间隔。一下假设数据集是线性可分的。
而目标函数h也由:
变为:
其中,公式15中x,θ εRn+1
,且x0=1。而在公式16中,x,ω εRn
,b取代了公式15中x0的作用。
公式17还有一个性质,即对于正确分类的数据点,函数间隔不小于0。
Stanford大学机器学习公开课(六):朴素贝叶斯多项式模型、神经网络、SVM初步的更多相关文章
- Andrew Ng机器学习公开课笔记 -- 朴素贝叶斯算法
网易公开课,第5,6课 notes,http://cs229.stanford.edu/notes/cs229-notes2.pdf 前面讨论了高斯判别分析,是一种生成学习算法,其中x是连续值 这里要 ...
- Stanford大学机器学习公开课(五):生成学习算法、高斯判别、朴素贝叶斯
(一)生成学习算法 在线性回归和Logistic回归这种类型的学习算法中我们探讨的模型都是p(y|x;θ),即给定x的情况探讨y的条件概率分布.如二分类问题,不管是感知器算法还是逻辑回归算法,都是在解 ...
- Stanford大学机器学习公开课(四):牛顿法、指数分布族、广义线性模型
(一)牛顿法解最大似然估计 牛顿方法(Newton's Method)与梯度下降(Gradient Descent)方法的功能一样,都是对解空间进行搜索的方法.其基本思想如下: 对于一个函数f(x), ...
- Stanford大学机器学习公开课(三):局部加权回归、最小二乘的概率解释、逻辑回归、感知器算法
(一)局部加权回归 通常情况下的线性拟合不能很好地预测所有的值,因为它容易导致欠拟合(under fitting).如下图的左图.而多项式拟合能拟合所有数据,但是在预测新样本的时候又会变得很糟糕,因为 ...
- Stanford大学机器学习公开课(二):监督学习应用与梯度下降
本课内容: 1.线性回归 2.梯度下降 3.正规方程组 监督学习:告诉算法每个样本的正确答案,学习后的算法对新的输入也能输入正确的答案 1.线性回归 问题引入:假设有一房屋销售的数据如下: 引 ...
- LR 算法总结--斯坦福大学机器学习公开课学习笔记
在有监督学习里面有几个逻辑上的重要组成部件[3],初略地分可以分为:模型,参数 和 目标函数.(此部分转自 XGBoost 与 Boosted Tree) 一.模型和参数 模型指给定输入xi如何去 ...
- 【机器学习】文本分类——朴素贝叶斯Bayes
朴素贝叶斯主要用于文本分类.文本分类常见三大算法:KNN.朴素贝叶斯.支持向量机SVM. 一.贝叶斯定理 贝叶斯公式思想:利用已知值来估计未知概率.已知某条件概率,如何得到两个事件交换后的概率,也就是 ...
- 机器学习算法实践:朴素贝叶斯 (Naive Bayes)(转载)
前言 上一篇<机器学习算法实践:决策树 (Decision Tree)>总结了决策树的实现,本文中我将一步步实现一个朴素贝叶斯分类器,并采用SMS垃圾短信语料库中的数据进行模型训练,对垃圾 ...
- 机器学习---用python实现朴素贝叶斯算法(Machine Learning Naive Bayes Algorithm Application)
在<机器学习---朴素贝叶斯分类器(Machine Learning Naive Bayes Classifier)>一文中,我们介绍了朴素贝叶斯分类器的原理.现在,让我们来实践一下. 在 ...
随机推荐
- JAVA中的数组是对象吗?
public class Main{ public static void main(String[] args) { int a[]={1,9}; //Object obj=new int[10]; ...
- Nagios安装部署和介绍(一)
一.软件版本下载 Nagios版本下载地址: http://prdownloads.sourceforge.net/sourceforge/nagios/ http://sourceforge.net ...
- 初学structs2,结果类型简单示例
一.自定义结果处理类,structs.xml中package节点下加result-types节点,在result-types节点下配置result-type的属性.然后在配置的action中的resu ...
- MSF溢出实战教程
1. 进入终端,开启MSF相关服务 2. 连接数据库 3. 主机扫描 发现如果有MS08_067漏洞,就可以继续渗透 4. 开始溢出 溢出成功的话 sessions -l 查看 ...
- windows2008R2安全加固
一.更改终端默认端口号 步骤: 1.运行regedit 2.[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\W ...
- html空格小结
按下space键产生的空格.在HTML中,如果你用空格键产生此空格,空格是不会累加的(只算1个).要使用html实体表示才可累加,该空格占据宽度受字体影响明显而强烈. 它叫“半角空格”, 透明 ...
- c语言的头文件-不是c++类的头文件?
下面的概述是参考的这篇文章:http://blog.csdn.net/bingxx11/article/details/7771437 c语言编程中也有,也需要头文件, 头文件不只是C++的类才需要! ...
- topo排序 + 用邻接表优化后的
输入数据: 4 61 21 32 33 42 44 2 4 61 21 32 33 42 41 2 topo排序为偏序: #include<stdio.h> #include<que ...
- HDU 4857 逃生 (优先队列+反向拓扑)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4857 解题报告:有n个点,有m个条件限制,限制是像这样的,输入a b,表示a必须排在b的前面,如果不 ...
- svn提交时强制添加注释 (转)
SVN提交时,如果没有注释,在查阅历史时,会非常不方便.因此我们需要有一个让程序员提交代码时,强制添加注释的规则.下面看看在SVN中怎么实现. 1. 推荐使用VisualSVN作为服务端(免费下载地址 ...