Stanford大学机器学习公开课(五):生成学习算法、高斯判别、朴素贝叶斯
(一)生成学习算法
使得后验概率最大的类别y即是新样例的预测值:
(二)高斯判别分析
vector)μ和协方差矩阵(convariance matrix)
其中,|Σ|是行列式的值。
协方差矩阵由协方差函数Cov得到: 其中,cov的计算过程为:
介绍完多变量正态分布,就正式进入GDA模型的介绍。GDA模型针对的是输入特征为连续值时的分类问题。这个模型的基本假设是目标值y服从伯努利分布,条件概率p(x|y)服从正态分布。于是,他们的概率密度为:
于是,数据集的极大似然函数的对数如下所示:
对极大似然函数对数最大化,就得到了GDA模型的各参数的极大似然估计,即得到了如何使用GDA算法的方法。各参数的极大似然估计如下:
一个二维的GDA模型例子如下图所示:
注意到两个二维高斯分布分别对两类数据进行拟合;他们使用相同的协方差矩阵;但却有不同的均值;在直线所示的部分,p(y=1|x)=p(y=0|x)=0.5。
实际上,它可以被表示成逻辑分布的形式:
其中,θ是参数φ,μ0,μ1,Σ某种形式的函数。GDA的后验分布可以表示成逻辑分布形式的合理性,在此没有证明,有兴趣的可以自己证明。下面只给出一个例子用于说明GDA模型与logistic模型的联系。
Bayes,NB)则针对的是特征向量x为离散值时的问题。
space
model,VSM)来表示文本。何为VSM?首先,我们需要有一个词典,词典的来源可以是现有的词典,也可以是从数据中统计出来的词典,对于每个文本,我们用长度等于词典大小的向量表示,如果文本包含某个词,该词在词典中的索引为index,则表示文本的向量的index出设为1,否则为0。
朴素贝叶斯假设在文本分类问题上的解释是文本中出现某词语时不会影响其它词语在文本中的概率。
于是,我们就得到了NB方法的极大似然估计的对数函数:
其中,n为词典的大小。最大化该函数,我们得到参数的极大似然估计:
Smoothing)又被称为加1平滑,是比较常用的平滑方法。平滑方法的存在是为了解决零概率问题。
使用Laplace平滑后,计算公式变为:
即在分母上加上取值范围的大小,在分子加1。
Stanford大学机器学习公开课(五):生成学习算法、高斯判别、朴素贝叶斯的更多相关文章
- Stanford大学机器学习公开课(六):朴素贝叶斯多项式模型、神经网络、SVM初步
(一)朴素贝叶斯多项式事件模型 在上篇笔记中,那个最基本的NB模型被称为多元伯努利事件模型(Multivariate Bernoulli Event Model,以下简称 NB-MBEM).该模型有多 ...
- Stanford大学机器学习公开课(二):监督学习应用与梯度下降
本课内容: 1.线性回归 2.梯度下降 3.正规方程组 监督学习:告诉算法每个样本的正确答案,学习后的算法对新的输入也能输入正确的答案 1.线性回归 问题引入:假设有一房屋销售的数据如下: 引 ...
- Stanford大学机器学习公开课(四):牛顿法、指数分布族、广义线性模型
(一)牛顿法解最大似然估计 牛顿方法(Newton's Method)与梯度下降(Gradient Descent)方法的功能一样,都是对解空间进行搜索的方法.其基本思想如下: 对于一个函数f(x), ...
- Stanford大学机器学习公开课(三):局部加权回归、最小二乘的概率解释、逻辑回归、感知器算法
(一)局部加权回归 通常情况下的线性拟合不能很好地预测所有的值,因为它容易导致欠拟合(under fitting).如下图的左图.而多项式拟合能拟合所有数据,但是在预测新样本的时候又会变得很糟糕,因为 ...
- LR 算法总结--斯坦福大学机器学习公开课学习笔记
在有监督学习里面有几个逻辑上的重要组成部件[3],初略地分可以分为:模型,参数 和 目标函数.(此部分转自 XGBoost 与 Boosted Tree) 一.模型和参数 模型指给定输入xi如何去 ...
- AI学习---分类算法[K-近邻 + 朴素贝叶斯 + 决策树 + 随机森林 ]
分类算法:对目标值进行分类的算法 1.sklearn转换器(特征工程)和预估器(机器学习) 2.KNN算法(根据邻居确定类别 + 欧氏距离 + k的确定),时间复杂度高,适合小数据 ...
- 机器学习算法实践:朴素贝叶斯 (Naive Bayes)(转载)
前言 上一篇<机器学习算法实践:决策树 (Decision Tree)>总结了决策树的实现,本文中我将一步步实现一个朴素贝叶斯分类器,并采用SMS垃圾短信语料库中的数据进行模型训练,对垃圾 ...
- CS229 Lesson 5 生成学习算法
课程视频地址:http://open.163.com/special/opencourse/machinelearning.html 课程主页:http://cs229.stanford.edu/ 更 ...
- Python机器学习笔记:朴素贝叶斯算法
朴素贝叶斯是经典的机器学习算法之一,也是为数不多的基于概率论的分类算法.对于大多数的分类算法,在所有的机器学习分类算法中,朴素贝叶斯和其他绝大多数的分类算法都不同.比如决策树,KNN,逻辑回归,支持向 ...
随机推荐
- DLUTOJ #1306 Segment Tree?
Description 有一个N个整数的序列(每个数的初值为0).每个数都是整数.你有M次操作.操作有两种类型: ——Add Di Xi 从第一个数开始每隔Di 个位置增加Xi ——Query L ...
- HDU 1060 Left-most Digit
传送门 Leftmost Digit Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Other ...
- UVA12563Jin Ge Jin Qu hao(01背包)
紫书P274 题意:输入N首歌曲和最后剩余的时间t,问在保证能唱的歌曲数目最多的情况下,时间最长:最后必唱<劲歌金曲> 所以就在最后一秒唱劲歌金曲就ok了,背包容量是t-1,来装前面的歌曲 ...
- easyUI框架之学习1--框架
<!DOCTYPE html><html> <head > <link href="~/Scripts/easyUI/themes/default/ ...
- Effective Java之避免创建不必要的对象
Effective Java中有很多值得注意的技巧,今天我刚开始看这本书,看到这一章的时候,我发现自己以前并没有理解什么是不必要的对象,所以拿出来跟大家探讨一下,避免以后犯不必要的错误! 首先书中对不 ...
- ios 正则邮箱
- (BOOL) isEmail { NSString *emailRegEx = @"(?:[a-z0-9!#$%\\&'*+/=?\\^_`{|}~-]+(?:\\.[a-z0- ...
- 拆分Spring配置文件
把一个applicationContext.xml拆分(还可以再分出action部分和tx事务部分) 1.dao部分 <!-- 配置DAO --> <bean id="em ...
- fatl exception occurred异常/错误的一种可能情况
如果,有可能是 java.lang.ClassLoader类内部出错,请自行检查
- Linux中用st_mode判断文件类型
Linux中用st_mode判断文件类型 2012-12-11 12:41 14214人阅读 评论(4) 收藏 举报 分类: Linux(8) C/C++(20) 版权声明:本文为博主原创文章, ...
- http 超文本传输协议
超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议.所有的WWW文件都必须遵守这个标准.设计HTTP最初的目的是为了提供一种发布和接 ...