机器学习入门笔记4
Part 4. 生成学习演算法(Generative Learning algorithms)
1.GDA(Gaussian discriminant analysis)
1.1先了解一下高斯分布:
前面已经了解到一维高斯分布:
现在了解一下多维高斯分布:
由以上图示可知,μ 决定图像的位置,σ 和 Σ 决定图像的形状。
1.2 GDA model
log-likelihood:
参数为: φ, Σ, μ0 and μ1
由极大似然估计,得:
模型如图:
直线表示等概率分界,直线两边的等高线图形相同,因为Σ相同。
1.3 GDA和logistic regression
GDA模型可以写成对数几率回归模型:
GDA VS. logistic regression:
GDA的条件更强,因此当训练集数据满足高斯分布时,GDA模型更好。但是当训练集数据不满足高斯分布,则对数几率回归比较好(泛化)。一般情况下,用对数几率回归。此处回答了part 2的问题:为什么选logistic function?
2.Naive Bayes
GDA的特征向量x是连续的,在NB中向量x是离散化的(每个元素用0,1表示)
以邮件过滤器为例,假设垃圾邮件有关键字:buy,price… 用一个特征向量表示(0,0,…,1,0,…)。向量维度为辞汇表大小,0表示非关键字,1表示关键字。假设辞汇表有5000个单词,那共有2^5000(指数级)个特征向量,同样,需要这么多的参数来拟合。
为此,我们假设在y条件下,x特征向量相互独立(这是一个强条件)即
第一个等号是根据条件概率公式,第二个等号是根据我们做出的条件独立性假设。
因此,我们的参数数量就减少到O(n)级,有: φi|y=1 = p(xi = 1|y = 1), φi|y=0 = p(xi = 1|y = 0), and φy = p(y = 1).
极大似然估计,得:
其实很好理解,如,φj|y=1 表示的就是出现单词 j 时垃圾文件占得比例。
当GDA模型不适用时,将特征向量离散化,用朴素贝叶斯法。
2.1Laplace smoothing
仍以邮件过滤器为例,当出现一个之前从未出现的单词,如nip,排在第3500个,就会出现 φ3500无论如何都等于0的情况。因为
所以,
为此,我们引入laplace smoothing,将 φ定义为
这样永远不会等于0.
其中,k为y的可能取值数量,即分类数目,
这样,原来邮件过滤器的参数改为:
推荐阅读: