【CS229-lectue4】生成模型算法

本文目的:总结与巩固所学内容,如有不正之处,欢迎批评指正,也欢迎一起交流讨论

1.生成模型算法

判别模型:

由数据直接学习决策函数f(x)或条件概率分布p(y|x),将其作为预测的模型。判别模型关心给定输入X,应该预测什么样的输出Y,直接建立输出输入X与输出Y的映射(map),其结果是找到一条直线(曲线),将两个样本区分开来。判别模型包括: 

1、k近邻

2、感知机

3、决策树

4、Logistic回归

5、最大熵模型

6、支持向量机

7、提升方法

8、条件随机场

生成模型:

区别于判别模型,生成模型还原联合概率分布P(X,Y),生成模型主要有朴素贝叶斯与隐马尔可夫模型。以贝叶斯模型为例,根据训练样本的输入X与Y,P(X|Y)与一定的先验P(Y),应用贝叶斯理论。

区别于判别模型,生成模型还原联合概率分布P(X,Y),以贝叶斯根据训练样本的输入X与Y,P(X|Y)与一定的先验P(Y),应用贝叶斯理论。

$$P(y|x) = \frac{P(x|y)P(y)}{P(x)}$$

构建模型,当对一个新的样本,我们将其代入生成的模型中,最终的分类结果是选择后验概率最大的y

\begin{align*}
& \arg\underset{y}{max}=\arg\underset{y}{max}\frac{P(x|y)P(y)}{P(x)} \\
&  = \arg\underset{y}{max}{P(x|y)P(y)} \\
\end{align*}

    1 Gaussian discriminant analysis (GDA)

    1.1 The multivariate normal distribution

    1.2 The Gaussian Discriminant Analysis model

      输出连续随机变量x,使用GDA建立p(x|y)模型

\begin{align*}
&  y\sim Bernoulli(\phi)\\
&  x|y = 0\sim\mathbb{N}(\mu_{0},\Sigma )\\
&  x|y = 1\sim\mathbb{N}(\mu_{1},\Sigma ) \\ 
\end{align*}


\begin{align*}
& P(y)= \phi^{y}(1-\phi)^{1-y}& \\ P(x|y = 0) = \frac{1}{2\pi^{n/2}\left |\Sigma \right |^{1/2}}exp(\frac{1}{2}(x-\mu_{0})^{T\Sigma^{-1}}(x-\mu^{0})) \\ 
& P(x|y = 1) = \frac{1}{2\pi^{n/2}\left |\Sigma \right |^{1/2}}exp(\frac{1}{2}(x-\mu_{1})^{T\Sigma^{-1}}(x-\mu^{1}))
\end{align*}  

     其似然函数

\begin{align*}
& \ell (\phi,\mu_{0},\mu_{1},\Sigma)= log\sum_{i=1}^{m}p(x^{(i)},y^{(i)};\phi,\mu_{0},\mu_{1},\Sigma) \\ 
& log\sum_{i=1}^{m}p(x^{(i)}|y^{(i)};\phi,\mu_{0},\mu_{1},\Sigma)p(y^{(i)};\phi) \\
\end{align*}

      对似然函数求最大值,得参数:

\begin{align*}
& \phi = \frac{1}{m}\sum_{i=1}^{m}1\left \{ y^{(i)}=1 \right \}x^{(i)} \\ 
& \mu_{0} = \frac{\sum_{i=1}^{m}1\left \{ y^{(i)}=0 \right \}x^{(i)}}{\sum_{i=1}^{m}1\left \{ y^{(i)}=0 \right \}} \\
&  \mu_{1} = \frac{\sum_{i=1}^{m}1\left \{ y^{(i)}=1 \right \}x^{(i)}}{\sum_{i=1}^{m}1\left \{ y^{(i)}=1 \right \}} \\
& \Sigma = \frac{1}{m}\sum_{i=1}^{m}(x^{(i)}-\mu_{(y^{(i)})})(x^{(i)}-\mu_{(y^{(i)})})^{T}  \\
\end{align*}

        将其结果画图

        直线所在位置即为决策边界(y=1|x) = 0.5。

      1.3 Discussion: GDA and logistic regression

        将GDA模型的改写为x的函数,得到

\begin{align*}
& \\ \ell(\phi_{y},\phi_{i|y=0},\phi_{i|y=1}) = \prod_{i=1}^{m}p(x^{(i)},y^{(i)})
\end{align*}

        GDA和逻辑回归对于相同的数据集,通常会给出不同的分界,我们应该如何选取模型? 

        假如输入p(x|y)符合高斯分布,那么p(x|y)一定可以用逻辑回归表示,反之则不成立。因为logistic并不能说明p(x|y)符合高斯分布。因此GDA是一个更强的假设,相比于logistic。因此当我们假设数据符合高斯分布,且假设正确是,拟合效果会非常好,GDA将是渐进高效率(asymptotically effcient)。而且,满足这个设定的情况下,即使是小样本的训练数据,我们也通常认为GDA模型更好;反之,如果数据不严格满足我们的假设,即不是高斯分布,那么逻辑回归模型对不正确的模型假设,有更好的鲁棒性和更低的敏感度。

        总结:GDA模型具有更强的假设和更高的数据使用效率(即需要训练样本更少),但是需要模型的假设准确,或是接近于准确;而logistic对模型假设较  弱,因此对模型假设的鲁棒性更好,即对模型假设的依赖度更低。因此在大样本训练数据的情况下,logistic比GDA具有更好的表现。


     2.Naive Bayes

        2.1 贝叶斯分类器

        贝叶斯假设(强假设):对于模型p(x|y),假设x在y条件下独立同分布(IDD),这一假设使得贝叶斯法变得简单,但是有时会牺牲一定准确率

        假设在某封邮件中,x2087{0,1}表示邮件中是否有'buy',x39831{0,1}表示邮件中是否有'price',则p(x2087|y) = p(x2087|y,x39831),x2087x39381在y条件下独立,但是 p(x2087) = p(x2087|x39831)不一定成立。

        因此,贝叶斯假设的似然函数:

\begin{align*}
& \\ \ell(\phi_{y},\phi_{i|y=0},\phi_{i|y=1}) = \prod_{i=1}^{m}p(x^{(i)},y^{(i)})
\end{align*}

        似然概率最大化,

\begin{align*}
& \phi_{j|y=1}=\frac{\sum_{i=1}^{m}1\left \{ x_{j}^{(i)}=1\land y^{(i)}=1 \right \}}{\sum_{i=1}^{m}1 \left \{ y^{(i)}=1\right \}} \\ 
& \phi_{j|y=0}=\frac{\sum_{i=1}^{m}1\left \{ x_{j}^{(i)}=1\land y^{(i)}=0 \right \}}{\sum_{i=1}^{m}1 \left \{ y^{(i)}=0\right \}} \\
& \phi_{y}= \frac{\sum_{i=1}^{m}1 \left \{ y^{(i)}=1\right \}}{m} \\
\end{align*}

        假设损失函数为0-1损失函数,则期望风险函数由联合分布P(X,Y)取得,为使期望风险最小化,对每个X=x求最小化,则期望风险最小化即为后验概率最大化,

\begin{align*}
&  f(x)= \arg \min_{y\in Y}\sum_{k=1}^{K}\ell(\phi_{y},\phi_{i|y=0},\phi_{i|y=1}) P(y|X)\\
& = \arg \min_{y\in Y}\sum_{k=1}^{K}P(y\ne c_{k}|X) \\ 
& = \arg \min_{y\in Y}\sum_{k=1}^{K}(1-P(y= c_{k}|X)) \\ 
&  = \arg \max_{y\in Y}\sum_{k=1}^{K}P(y= c_{k}|X) \\ 
\end{align*}

        因此,对于给定的x,选取最大后验概率所在的类别,即为分类结果。

\begin{align*}
& p(y=1|x)=\frac{p(x|y=1)p(y=1)}{p(x)}  \\ 
& =\frac{(\prod_{i=1}^{n}p(x_{i}|y=1)p(y=1))}{(\prod_{i=1}^{n}p(x_{i}|y=1)p(y=1))+(\prod_{i=1}^{n}p(x_{i}|y=0)p(y=0))} \\ 
\end{align*}

        另外,当原始数据是连续变量时,对数据进行分段,能更好的适用贝叶斯分类器:

       

        2.2 拉普拉斯平滑(Laplace smoothing)

       拉普拉斯针对明天太阳有多大概率升起提出的优化,在统计学上,大概率事件不等于必然事件。假如邮件中有一个新词NIPS分类器从来没见过,则根据分类模型,

\begin{align*}
& \phi_{35000|y=1}=\frac{sum_{i=1}^{m}1\left\{x_{35000}^{(i)}=1\land y^{(i)}=1\right \}}{\sum_{i=1}^{m}1\left\{y^{(i)}=1\right\}}=0 \\ 
& \phi_{35000|y=0}=\frac{sum_{i=1}^{m}1\left\{x_{35000}^{(i)}=1\land y^{(i)}=0\right \}}{\sum_{i=1}^{m}1\left\{y^{(i)}=0\right\}}=0 \\
\end{align*} 

        因此,为了避免出现样本中没有的数据,导致后验概率出现0/0无法求后验概率的情况,我们引入Laplace smoothing。引入该方法后的参数计算如下: 

\begin{align*}
& \\ \phi_{j}=\frac{sum_{i=1}^{m}1\left\{z^{(i)}=j\right \}+1}{m+k}
\end{align*}

        k为标签y所有可能的取值个数,在Spam Filter分类器中y{0,1}。

        2.3 Event models for text classication

       上述的贝叶斯模型中,对于每个特征xi{0,1}对应于字典里有与没有两个状态,而无法通过词频判断,因此引入多元事件模型(multinomial event model),其似然函数,

 \begin{align*}
& \ell(\phi_{y},\phi_{i|y=0},\phi_{i|y=1}) = \prod_{i=1}^{m}p(x^{(i)},y^{(i)})  \\
&  =\prod_{i=1}^{m}(\prod_{j=1}^{n_{i})}p(x_{j}^{(i)}|y;\phi_{i|y=0},\phi_{i|y=1})p(y^{(i)};\phi_{y}) \\
\end{align*}

           似然概率最大化,

\begin{align*}
&\phi_{k|y=1}=\frac{\sum_{i=1}^{m} 1\left \{ x_{j}^{(i)}=k\land y^{(i)}=1 \right \}}{\sum_{i=1}^{m} 1\left \{ y^{(i)}=1\right \}n_{i}} \\ 
& \phi_{k|y=0}=\frac{\sum_{i=1}^{m} 1\left \{ x_{j}^{(i)}=k\land y^{(i)}=0 \right \}}{\sum_{i=1}^{m}1 \left \{ y^{(i)}=0\right \}n_{i}} \\
& \phi_{y}= \frac{\sum_{i=1}^{m} 1\left \{ y^{(i)}=1\right \}}{m} \\
\end{align*}

          经过拉普拉斯平滑后,

\begin{align*}
& \phi_{k|y=1}=\frac{\sum_{i=1}^{m} \sum_{j=1}^{n_{i}}1\left \{ x_{j}^{(i)}=k\land y^{(i)}=1 \right \}+1}{\sum_{i=1}^{m} 1\left \{ y^{(i)}=1\right \}n_{i}+|V|} \\ 
& \phi_{k|y=0}=\frac{\sum_{i=1}^{m} \sum_{j=1}^{n_{i}}1\left \{ x_{j}^{(i)}=k\land y^{(i)}=0 \right \}+1}{\sum_{i=1}^{m} 1\left \{ y^{(i)}=0\right \}n_{i}+|V|} \\ 
\end{align*}
            |V|为y能取值的个数。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值