版权声明:本文为博主原创文章,采用“署名-非商业性使用-禁止演绎 2.5 中国大陆”授权。欢迎转载,但请注明作者姓名和文章出处。 https://blog.csdn.net/njit_77/article/details/84470555
看了一下斯坦福大学公开课:机器学习教程(吴恩达教授),记录了一些笔记,写出来以便以后有用到。笔记如有误,还望告知。
本系列其它笔记:
线性回归(Linear Regression)
分类和逻辑回归(Classification and logistic regression)
广义线性模型(Generalized Linear Models)
生成学习算法(Generative Learning algorithms)
生成学习算法(Generative Learning algorithms)
之前我们学习的算法
p(y∣x;θ)给定x的y的条件分布,我们称之为判别学习算法(discriminative learning algorithms);现在我们学习相反的算法
p(x∣y)(p(y)),称之为生成学习算法(generative
learning algorithms)。
使用贝叶斯定理,我们可以得到给定x后y的分布:
p(y∣x)=p(x)p(x∣y)p(y)p(x)=p(x∣y=1)p(y=1)+p(x∣y=0)p(y=0)
1 高斯判别分析(Gaussian discriminant analysis)
1.1 多元高斯分布(多元正态分布)
假设输入特征
x∈Rn,且是连续的;p(x|y)满足高斯分布。
假设z符合多元高斯分布
z∽N(μ
,Σ)
p(z)=(2π)2n∣Σ∣211exp(−21(x−μ)TΣ−1(x−μ))
1.2 高斯判别分析模型(The Gaussian Discriminant Analysis model)
y∽Bernoulli(ϕ)x∣y=0∽N(μ0,Σ)x∣y=1∽N(μ1,Σ)p(y)=ϕy(1−ϕ)1−yp(x∣y=0)=(2π)2n∣Σ∣211exp(−21(x−μ0)TΣ−1(x−μ0))p(x∣y=1)=(2π)2n∣Σ∣211exp(−21(x−μ1)TΣ−1(x−μ1))
ℓ(ϕ,μ0,μ1,Σ)=logi=1∏mp(x(i),y(i);ϕ,μ0,μ1,Σ)=logi=1∏mp(x(i)∣y(i);μ0,μ1,Σ)⋅p(y(i);ϕ)→joint Likelihood=i=1∑m(logp(x(i)∣y(i);μ0,μ1,Σ)+logp(y(i);ϕ))
∂ϕ∂ℓ(ϕ,μ0,μ1,Σ)=∂ϕ∂i=1∑m(logp(x(i)∣y(i);μ0,μ1,Σ)+logp(y(i);ϕ))=i=1∑m∂ϕ∂logp(y(i);ϕ)=i=1∑m∂ϕ∂(y(i)log(ϕ)+(1−y(i))log(1−ϕ))=i=1∑m(ϕ(1−ϕ)y(i)−ϕ)令 ∂ϕ∂ℓ(ϕ,μ0,μ1,Σ)=0⇒ϕ=m∑i=1my(i)=m1i=1∑m1{y(i)=1}
logistic回归中
ℓ(θ)=logi=1∏mp(y(i)∣x(i);θ)→conditional Likelihood
最大化
ℓ,得出下面结果:
ϕ=m1i=1∑m1{y(i)=1}μ0=∑i=1m1{y(i)=0}→标签为0的样本数目∑i=1m1{y(i)=0}x(i)→标签为0的所有样本x(i)求和μ1=∑i=1m1{y(i)=1}∑i=1m1{y(i)=1}x(i)Σ=m1i=1∑m(x(i)−μy(i))(x(i)−μy(i))T
得到
ϕ,μ0,μ1,Σ之后,我们需要预测给定x的情况下最可能的y
argmaxyP(y∣x)=argmaxyP(x)P(x∣y)P(y)=argmaxyP(x∣y)P(y)→P(x)独立于y,所以P(x)值不会变
argmaxy表达式→表达式中最大的y的值min(x−5)2=0→argminx(x−5)2=5
2 朴素贝叶斯(Naive Bayes)
假定给定y,
xi是条件独立的:
p(x1,x2,…,x50000∣y)=p(x1∣y)p(x2∣y,x1)p(x3∣y,x1,x2)…p(x50000∣y,x1,x2,…,x49999)=p(x1∣y)p(x2∣y)p(x3∣y)…p(x50000∣y)=i=1∏50000p(xi∣y)
模型参数:
ϕj∣y=1=p(xj=1∣y=1)ϕj∣y=0=p(xj=1∣y=0)ϕy=p(y=1)
joint likelihood:
ℓ(ϕy,ϕj∣y=0,ϕj∣y=1)=i=1∏mp(xi,yi)
参数推导过程
①、
L(ϕy,ϕj∣y=0,ϕj∣y=1)=i=1∏mp(x(i),y(i))=i=1∏m{j=1∏np(xj(i)∣y(i);ϕj∣y=0,ϕj∣y=1)}p(y(i);ϕy)
②、
ℓ(ϕy,ϕj∣y=0,ϕj∣y=1)=logL(ϕy,ϕj∣y=0,ϕj∣y=1)=logi=1∏m{j=1∏np(xj(i)∣y(i);ϕj∣y=0,ϕj∣y=1)}p(y(i);ϕy)=i=1∑m{log(j=1∏np(xj(i)∣y(i);ϕj∣y=0,ϕj∣y=1))+log(p(y(i);ϕy))}
③、
∂ϕy∂ℓ(ϕy,ϕj∣y=0,ϕj∣y=1)=i=1∑m∂ϕy∂log(p(y(i);ϕy)=i=1∑m∂ϕy∂log(ϕy1{y(i)=1}(1−ϕy)(1−1{y(i)=1})=i=1∑m∂ϕy∂{(1{y(i)=1}logϕy)+(1−1{y(i)=1})log(1−ϕy)}=i=1∑mϕy(1−ϕy)1{y(i)=1}−ϕy令∂ϕy∂ℓ(ϕy,ϕj∣y=0,ϕj∣y=1)=0⇒ϕy=m∑i=1m1{y(i)=1}
④、
最大化
ℓ,得出下面结果:
2.1 拉普拉斯平滑(Laplace smoothing)
2.2 文本分类的事件模型(Event models for text classi cation)
多项式事件模型(Multinomial Event Model)
对于第i个训练样本邮件,特征向量
x(i)=(x1(i),x2(i),…,xni(i)),ni=邮件中词的数量,特征向量的每个元素
xj={1,2,…,50000}字典中的一个索引。
生成模型
p(x,y)={∏i=1np(xi,y)}p(y)
模型参数
ϕk∣y=1=p(xj=k∣y=1)ϕk∣y=0=p(xj=k∣y=0)ϕy=p(y=1)
极大似然参数推导过程
①、
L(ϕy,ϕk∣y=0,ϕk∣y=1)=i=1∏mp(x(i),y(i))=i=1∏m{j=1∏nip(xj(i)∣y(i);ϕk∣y=0,ϕk∣y=1)}p(y(i);ϕy)
②、
ℓ(ϕy,ϕk∣y=0,ϕk∣y=1)=logL(ϕy,ϕk∣y=0,ϕk∣y=1)=logi=1∏m{j=1∏nip(xj(i)∣y(i);ϕk∣y=0,ϕk∣y=1)}p(y(i);ϕy)=i=1∑m{log(j=1∏nip(xj(i)∣y(i);ϕk∣y=0,ϕk∣y=1))+log(p(y(i);ϕy))}
③、
∂ϕy∂ℓ(ϕy,ϕk∣y=0,ϕk∣y=1)=i=1∑m∂ϕy∂log(p(y(i);ϕy)=i=1∑m∂ϕy∂log(ϕy1{y(i)=1}(1−ϕy)(1−1{y(i)=1})=i=1∑m∂ϕy∂{(1{y(i)=1}logϕy)+(1−1{y(i)=1})log(1−ϕy)}=i=1∑mϕy(1−ϕy)1{y(i)=1}−ϕy令∂ϕy∂ℓ(ϕy,ϕi∣y=0,ϕi∣y=1)=0⇒ϕy=m∑i=1m1{y(i)=1}
④、
使用Typora编辑好的md,直接复制过来无法使用。
1、\begin{align} \end{align}对齐功能无法使用
2、\and 无法使用
这两个问题如有哪位大神知道,还望告知