吴恩达“机器学习”——学习笔记四

生成学习算法

判别算法:进行P(y|x)的计算或者是进行h(x)(其中h只会是0与1)的计算。

生成学习算法:进行P(x|y)的建模,即给定类的条件下,某种特征显示的结果。同时也会对P(y)进行建模。

根据贝叶斯公式,我们可以得到,其中p(x) = p(x|y = 1)p(y = 1) + p(x|y = 0)p(y = 0)。实际上,如果我们计算P(y|x)进行预测,我们不必计算分母的值,因为x是独立于y的,所以argmax是当式子取到最大值时,对应参数的取值。

高斯判别分析

多元高斯分布

如果x服从多元高斯分布,那么参数为u(均值),sigma(协方差)

u的定义为,sigma的定义为Cov(Z) = E[(Z ? E[Z])(Z ? E[Z])T ]。

假设x是n维向量,并且是连续值。y取0或者1,同时p(x|y)是高斯分布。  那么

对其进行最大似然估计

,则参数的估计值为

高斯判别分析与logistics回归对比

两者建模的对象不同,但是都属于分类算法,logistics回归计算的是先验概率,高斯判别分析计算的是后验概率。

如果y取任何值的概率是相等的,即p(y)不变,那么,argmaxp(y|x)=argmaxp(x|y)。

如果先对不同类别进行建模,即y取不同值得时候,进行高斯判别分析。那么就会得到两个高斯函数曲线,此处y取0,1。在高斯函数曲线基础上进行现眼概率分析,那么回得到一条类似logistics回归曲线。

同时,如果一个模型的后验概率属于高斯判别分析,那么前验概率就属于logistics回归。但是反过来不成立,也就是说,高斯判别分析比logistics回归有更强的假设。那么就意味着如果模型的假设是正确的,高斯判别分析将更好的拟合数据,它就是一个更好的模型。对于一些小样本来说,高斯判别分析也更加适合。

然而,如果不确定x|y的分布情况,也就是高斯判别分析的假设不一定成立,那么使用logistics回归更有效,因为x|y服从泊松分布等其他分布的时候,也可以推出先验概率是logistics回归曲线。事实上,只要x|y服从指数分布族,那么p(y=1|x)都可以看成logistics。

所以这是判别算法和第一个生成学习算法的比较。

朴素贝叶斯算法(Naive Bayes)

朴素贝叶斯算法是第二个生成学习算法。典型特例是垃圾邮件识别。高斯判别分析中,x向量是一个连续值。在朴素贝叶斯中,x向量是不连续的。

通过训练样本来对垃圾邮件进行标识,即

如果该词出现,则标记为1,否则为0。此时要对p(x|y)和p(y)进行建模,假设字典中有5000个字,那么x就有2^5000中可能取值,对其建模的一种方式为多项式分布法(multinomial distribution),但是此时会有2^5000-1个参数。需要用到朴素贝叶斯算法。

假设对于给定的y,xi是条件独立的(conditionally independent),也就是说,如果一封邮件被标记为垃圾邮件,那么该邮件里面出现的单词是独立的(并不是说,两个单词是相互独立的,而是,在给定y的条件下,两者是独立的。其实事实上,垃圾邮件里面的单词并不独立,这里只是一种假设)那么根据概率的链式法则,我们可以得到,

那么对应的参数为

φi|y=1 = p(xi = 1|y = 1), φi|y=0 = p(xi = 1|y = 0),  φy = p(y = 1)。为了得到参数,进行最大似然估计

得到参数的估计值

于是对于给定的样本特征x,可以做出以下预测

如果在你的训练样本集中从未出现过一个词,比如说nips,并且这个词是x向量中的第3500个词。由于这个词在你的训练样本中从未出现。那么垃圾邮件分类器就会进行如下估计(在正常邮件中出现的概率和垃圾邮件中出现的概率都是0)

此处要使用Laplace smoothing进行修正,即

原文地址:https://www.cnblogs.com/xxp17457741/p/8353678.html

时间: 2024-10-09 13:45:15

吴恩达“机器学习”——学习笔记四的相关文章

吴恩达“机器学习”——学习笔记五

朴素贝叶斯算法(Naive Bayes)(续学习笔记四) 两个朴素贝叶斯的变化版本 x_i可以取多个值,即p(x_i|y)是符合多项式分布的,不是符合伯努利分布的.其他的与符合伯努利的情况一样.(同时也提供一种思路将连续型变量变成离散型的,比如说房间的面积可以进行离散分类,然后运用这个朴素贝叶斯算法的变形). 第二个朴素贝叶斯的变化形式专门用来处理文本文档,即对序列进行分类,被称为朴素贝叶斯的事件模型(event model).这将使用一种不同的方式将邮件转化为特征向量. 之前的特征向量是:向量

吴恩达“机器学习”——学习笔记二

定义一些名词 欠拟合(underfitting):数据中的某些成分未被捕获到,比如拟合结果是二次函数,结果才只拟合出了一次函数. 过拟合(overfitting):使用过量的特征集合,使模型过于复杂. 参数学习算法(parametric learning algorithms):用固定的参数进行数据的拟合.比如线性回归. 非参数学习算法(non-parametric learning algorithms):使用的参数随着训练样本的增多而增多. 局部加权回归(locally weighted r

吴恩达深度学习笔记(deeplearning.ai)之卷积神经网络(二)

经典网络 LeNet-5 AlexNet VGG Ng介绍了上述三个在计算机视觉中的经典网络.网络深度逐渐增加,训练的参数数量也骤增.AlexNet大约6000万参数,VGG大约上亿参数. 从中我们可以学习到: 随着网络深度增加,模型的效果能够提升. 另外,VGG网络虽然很深,但是其结构比较规整.每经过一次池化层(过滤器大小为2,步长为2),图像的长度和宽度折半:每经过一次卷积层,输出数据的channel数量加倍,即卷积层中过滤器(filter)的数量. 残差网络(ResNet) 由于存在梯度消

吴恩达深度学习笔记(deeplearning.ai)之循环神经网络(RNN)(一)

1. RNN 首先思考这样一个问题:在处理序列学习问题时,为什么不使用标准的神经网络(建立多个隐藏层得到最终的输出)解决,而是提出了RNN这一新概念? 标准神经网络如下图所示: 标准神经网络在解决序列问题时,存在两个问题: 难以解决每个训练样例子输入输出长度不同的情况,因为序列的长度代表着输入层.输出层的维度,不可能每训练一个样例就改变一次网络结构. 标准的神经网络不能共享从文本不同位置上学到的特征.举例说明:如果Harry作为人名位于一个训练例子中的第一个位置,而当Harry出现在其他例子的不

吴恩达 深度学习笔记+作业 (一)

1.1.2 Building basic functions with numpy 1.1.2.2 numpy.exp, sigmoid, sigmoid gradient import numpy as np def sigmoid(x): s = 1/(1+np.exp(-x)) return s # 设sigmoid为s, s' = s*(1-s) def sigmoid_derivative(x): s = 1/(1+np.exp(-x)) ds = s*(1-s) return ds

吴恩达深度学习:1.2什么是神经网络

写在开头的话,本博客内容全部来自吴恩达深度学习教学课程,插图均来自吴恩达课件,在此说明来处,不喜勿喷! 一.什么是神经网络 1.我们从一个房屋加个预测的例子开始,假设有一个6间房间的数据集,已知房屋的面积单位是平方米或者平方英尺,已知房屋加个,现在想要找到一个函数,根据房屋面积来预测房屋价格的函数.如果有机器学习的只是,可以用线性回归得到这样的一条直线: 但是我们知道,价格永远不可能为一个负值,所以用一个直线的线性回归进行预测不太合适,我们可以在size轴将预测线弯曲一点,让他结束于0,我们所要

【吴恩达机器学习】学习笔记——2.1单变量线性回归算法

1 回顾1.1 监督学习定义:给定正确答案的机器学习算法分类:(1)回归算法:预测连续值的输出,如房价的预测(2)分类算法:离散值的输出,如判断患病是否为某种癌症1.2 非监督学习定义:不给定数据的信息的情况下,分析数据之间的关系.聚类算法:将数据集中属性相似的数据点划分为一类. 2 单变量线性回归算法2.1 符号定义m = 训练样本的数量x = 输入变量y = 输出变量2.2 工作方式训练集通过学习算法生成线性回归函数hypothesis  hθ(x) = θ0 + θ1x 原文地址:http

【吴恩达机器学习】学习笔记——梯度下降

梯度下降算法能够帮助我们快速得到代价函数的最小值 算法思路: 以某一参数为起始点 寻找下一个参数使得代价函数的值减小,直到得到局部最小值 梯度下降算法: 重复下式直至收敛,其中α为学习速率,表示找到局部最小值的速率 并且各参数θ0,...,θn必须同时更新,即所有的θj值全部都计算得到新值之后才将参数值代入到代价函数中 数学原理:沿梯度方向,函数变化率/方向导数最大 原文地址:https://www.cnblogs.com/JJJanepp/p/8454599.html

【吴恩达机器学习】学习笔记——1.5无监督学习

1 无监督学习:在不知道数据点的含义的情况下,从一个数据集中找出数据点的结构关系. 2 聚类算法:相同属性的数据点会集中分布,聚集在一起,聚类算法将数据集分成不同的聚类.也就是说,机器不知道这些数据点具体是什么属性,到底是干什么的,但是可以将具有相同属性的数据点归为一类. 3 无监督学习的应用: 大型计算机集群:找出趋于协同工作的机器,将其放在一起将提高效率 社交网络分析:找出哪些人之间是好朋友的关系,哪些仅仅是认识 市场分割:将客户分类,找出细分市场,从而更有效的进行销售 天文数据分析:星系是