1 似然函数与极大似然估计
1.1 理解似然估计
“似然”用通俗的话来说就是可能性,极大似然就是最大的可能性
似然函数是关于统计模型中的一组概率的函数(这些概率的真实值我们并不知道),似然函数的因变量值表示了模型中的概率参数的似然性(可能性)
我们列出似然函数后,从真实事件中取得一批n个采样样本数据,最大似然估计会寻找基于我们的n个值的采样数据得到的关于的最可能的概率值(即在所有可能的概率取值中,寻找一组概率值使这n个值的采样数据的“可能性”最大化)
最大似然估计中采样需满足一个很重要的假设,就是所有的采样都是独立同分布的
1.2 伯努利分布
1.2.1 概念介绍
伯努利分布又名两点分布或0-1分布,介绍伯努利分布前首先需要引入伯努利试验。
伯努利试验是只有两种可能结果的单次随机试验,即对于一个随机变量X而言:
P ( X = 1 ) = p , P ( X = 0 ) = 1 − p P(X=1) = p,P(X=0)=1-p P(X=1)=p,P(X=0)=1−p
伯努利试验可以表达为“是或否”的问题。
如果试验E是一个伯努利试验,将E独立重复地进行n次,则称这一串重复的独立试验为n重伯努利试验。进行一次伯努利试验,成功概率为p,失败概率为1-p,则称随机变量X服从伯努利分布
。其概率质量函数为:
f ( x ) = p x ( 1 − p ) 1 − x f(x) = p^{x}(1-p)^{1-x} f(x)=px(1−p)1−x
伯努利分布的
E X = p , D X = p ( 1 − p ) EX=p,DX=p(1-p) EX=p,DX=p(1−p)
伯努利分布是一个离散型机率分布,是N=1时二项分布的特殊情况
1.2.2 伯努利分布下的最大似然估计推导出交叉熵损失函数
假设
P ( X = 1 ) = p , P ( X = 0 ) = 1 − p P(X=1) = p,P(X=0)=1-p P(X=1)=p,P(X=0)=1−p
则有概率质量函数为
P ( X ) = p X ( 1 − p ) 1 − X P(X) = p^{X}(1-p)^{1-X} P(X)=pX(1−p)1−X
因为我们只有一组采样数据集D,我们可以统计得到X和1-X的值,但p值(概率)未知。下面我们要建立对数似然函数,并根据采样数据集D求出P。
对数似然函数为
l o g P ( D ) = l o g ∏ i N P ( D i ) = ∑ i P ( D i ) = ∑ i ( D i l o g p + ( 1 − D i ) l o g ( 1 − p ) ) logP(D)=log \prod_{i}^{N} P(D_{i})= \sum_{i}^{} P(D_{i}) = \sum_{i}^{} (D_{i}logp + (1-D_{i})log(1-p)) logP(D)=logi∏NP(Di)=i∑P(Di)=i∑(Dilogp+(1−Di)log(1−p))
我们可以发现上式和深度学习模型中交叉熵损失函数的形式几乎相同。这个函数的值总是小于0的,而我们要做极大似然估计就是求其极大值,也就是说,这个函数的值在深度学习的梯度下降过程中从一个负数不断增大接近0(始终小于0)。为了与其他损失函数形式统一,我们在前面加上一个负号,这样就和其他损失函数一样是从一个大值不断降低向0接近了
深度学习模型中的交叉熵函数形式:
l o s s = − ∑ i ( D i l o g p + ( 1 − D i ) l o g ( 1 − p ) ) loss = -\sum_{i}^{} (D_{i}logp + (1-D_{i})log(1-p)) loss=−i∑(Dilogp+(1−Di)log(1−p))
现在我们再用求导得极小值点的方法来求其极大似然估计,首先将上式对p求导,并令导数为0
∑ i N ( D i 1 p + ( 1 − D i ) 1 p − 1 ) = 0 \sum_{i}^{N} (D_{i} \frac{1}{p} + (1-D_{i})\frac{1}{p-1}) = 0 i∑N(Dip1+(1−Di)p−11)=0
消去分母,得:
∑ i N ( p − D i ) = 0 \sum_{i}^{N} (p-D_{i}) = 0 i∑N(p−Di)=0
p = 1 N ∑ i N D i p = \frac{1}{N}\sum_{i}^{N} D_{i} p=N1i∑NDi
这就是伯努利分布下最大似然估计求出的P(本质是求均值,个人理解)
1.3 高斯分布
1.3.1 定义
其实就是正态分布,又叫高斯分布。
若随机变量X服从一个数学期望为 μ \mu μ、方差为 δ 2 \delta ^{2} δ2的正态分布,记为:
X ∼ N ( μ , δ 2 ) X \sim N( \mu ,\delta ^{2}) X∼N(μ,δ2)
其概率密度函数为:
f ( x ) = 1 δ 2 π e − ( x − μ ) 2 2 δ 2 f(x) = \frac{1}{\delta \sqrt[]{2\pi }} e^{-\frac{(x-\mu)^{2}}{2\delta ^{2}}} f(x)=δ2π1e−2δ2(x−μ)2
正态分布的期望值 μ \mu μ决定了其位置,其标准差 δ \delta δ决定了分布的幅度。当 μ \mu μ = 0, δ \delta δ = 1时的正态分布是标准正态分布。
1.3.2 高斯分布下的最大似然估计推导出均方误差损失函数
我们已经知道高斯分布的概率密度函数为:
f ( x ) = 1 δ 2 π e − ( x − μ ) 2 2 δ 2 f(x) = \frac{1}{\delta \sqrt[]{2\pi }} e^{-\frac{(x-\mu)^{2}}{2\delta ^{2}}} f(x)=δ2π1e−2δ2(x−μ)2
那么其对数似然函数为:
l o g P ( D ) = l o g ∏ i N P ( D i ) = ∑ i = 1 N ( − 1 2 l o g ( 2 π δ 2 ) − ( D i − μ ) 2 2 δ 2 ) = − N 2 l o g ( 2 π δ 2 ) − 1 2 δ 2 ∑ i = 1 N ( D i − μ ) 2 logP(D)=log \prod_{i}^{N} P(D_{i}) = \sum_{i=1}^{N}(-\frac{1}{2} log (2\pi \delta ^{2}) - \frac{(D_{i}-\mu)^{2}}{2 \delta ^{2}}) = -\frac{N}{2} log (2\pi \delta ^{2})-\frac{1}{2\delta^{2}} \sum_{i=1}^{N} (D_{i}-\mu)^{2} logP(D)=logi∏NP(Di)=i=1∑N(−21log(2πδ2)−2δ2(Di−μ)2)=−2Nlog(2πδ2)−2δ21i=1∑N(Di−μ)2
现在我们来求其极大似然估计,即求对数似然函数取极大值时函数的自变量的取值。
将上式对 μ \mu μ求导,并令导数为0,可得:
∂ l o g P ( D ) ∂ μ = − 1 δ 2 ∑ i = 1 N ( μ − D i ) = 0 \frac{\partial logP(D)}{\partial \mu} = - \frac{1}{\delta^{2}} \sum_{i=1}^{N} (\mu - D_{i}) = 0 ∂μ∂logP(D)=−δ21i=1∑N(μ−Di)=0
于是我们可得:
μ = 1 N ∑ i = 1 N D i \mu = \frac{1}{N} \sum_{i=1}^{N} D_{i} μ=N1i=1∑NDi
上式再对 δ 2 \delta ^{2} δ2求导,并令导数为0,可得:
∂ l o g P ( D ) ∂ δ 2 = − N 2 δ 2 + 1 2 δ 4 ∑ i = 1 N ( D i − μ ) 2 = 0 \frac{\partial logP(D)}{\partial \delta ^{2}} = - \frac{N}{2 \delta ^{2}} + \frac{1}{2 \delta ^{4}} \sum_{i=1}^{N} (D_{i}-\mu)^{2} = 0 ∂δ2∂logP(D)=−2δ2N+2δ41i=1∑N(Di−μ)2=0
于是我们可得:
δ 2 = − 1 N ∑ i = 1 N ( D i − μ ) 2 \delta ^{2}= - \frac{1}{N} \sum_{i=1}^{N} (D_{i}-\mu)^{2} δ2=−N1i=1∑N(Di−μ)2
可以发现高斯分布的对数似然函数,对 δ 2 \delta ^{2} δ2求导后,求出的 δ 2 \delta ^{2} δ2极大值其实就是均方误差损失函数
2 LR算法描述
Logistic Regression 虽然被称为回归,但其实际上是分类模型,并常用于二分类。Logistic Regression 因其简单、可并行化、可解释强深受工业界喜爱。
Logistic 回归的本质是:假设数据服从这个分布,然后使用极大似然估计做参数的估计
2.1 Logistic分布
Logistic 分布是一种连续型的概率分布,其分布函数和密度函数分别为:
其中,
μ
\mu
μ表示位置参数,
γ
\gamma
γ为形状参数。我们可以看下其图像特征:
Logistic 分布是由其位置和尺度参数定义的连续分布。Logistic 分布的形状与正态分布的形状相似,但是 Logistic 分布的尾部更长,所以我们可以使用 Logistic 分布来建模比正态分布具有更长尾部和更高波峰的数据分布。在深度学习中常用到的 Sigmoid 函数就是 Logistic 的分布函数在
μ
=
0
,
γ
=
1
\mu=0,\gamma=1
μ=0,γ=1 的特殊形式
2.2 Logistic Regression模型
之前说到 Logistic 回归主要用于分类问题,我们以二分类为例,对于所给数据集假设存在这样的一条直线可以将数据完成线性可分
决策边界可以表示为
w
1
x
1
+
w
2
x
2
+
b
=
0
w_{1}x_{1} + w_{2}x_{2} + b = 0
w1x1+w2x2+b=0,假设某个样本点
h
w
(
x
)
=
w
1
x
1
+
w
2
x
2
+
b
>
0
h_{w}(x) = w_{1}x_{1} + w_{2}x_{2} + b > 0
hw(x)=w1x1+w2x2+b>0,那么可以判断它的类别为 1,这个过程其实是感知机。
Logistic 回归还需要加一层,它要找到分类概率 P(Y=1) 与输入向量X的直接关系,然后通过比较概率值来判断类别
考虑二分类问题,给定数据集
考虑到
w
T
x
+
b
w^Tx + b
wTx+b取值是连续的,因此它不能拟合离散变量。可以考虑用它来拟合条件概率
p
(
Y
=
1
∣
X
)
p(Y=1|X)
p(Y=1∣X),因为概率的取值也是连续的
但是对于 w ≠ 0 w\neq 0 w=0(若等于零向量则没有什么求解的价值), w T x + b w^Tx+b wTx+b 取值为 R R R,不符合概率取值为 0 到 1,因此考虑采用广义线性模型。
(1)最理想的是单位阶跃函数,但是这个阶跃函数不可微