关于最大似然与交叉熵损失函数和最小二乘法的思考

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010223750/article/details/52747895

引言

渣硕学习机器学习也有一段日子了,平时也是把最大似然、交叉熵、最小二乘法当做最常见的方法用了,久而久之,已经不太关注其来源。最近师兄们在忙着找工作,然后其中一个X姓师兄就在组会上提出说面试中问到为什么logistic回归的损失函数使用到的交叉熵而不是最小二乘,突然一下子懵逼了,平时使用的最多的方法,包括在神经网络中也是使用的是交叉熵的方法,也习惯了其所以然,却没有考虑过其之所以然的问题,这就很尴尬了。师兄说了一些原因,归咎起来,有几点:1,交叉熵方法更多的是用于分类,而最小二乘更多的是用于回归;1,方便计算。确实有这些方面的原因,后来回来之后,自己仔细思索了一下,回想起研一开始看过的为数不多的几集Andrew NG的斯坦福课程视频,突然有了些灵感,也觉得有些心得分享一下(PS:大神请让道,数学符号可能有些许不规范,在此为本渣硕的数学功底又捏了一把汗)。

从极大似然说去

极大似然是机器学习里面最基础的概念了,就轻微的再复述一下:
假设X的概率分布满足一个分布 f(x;θ) ,也就是在给定 θ 的情况下,x的分布情况,给定一串观测结果 x1,x2...xn ,我们现在是要估计参数 θ ,使得 P(θ|X=xn) 最大,根据贝叶斯公式 P(A|B)=P(B|A)P(A) 我们可以通过使 P(X=xn|θ) 最大来实现,这里 | 并不严格指的是条件概率,而是在给定的 θ 的情况下, P(X=xn) 的概率。而这个式子就是似然函数 ι(θ) 。通过极大化似然函数,然后求取参数 θ 就能得到模型结果。

关于指数分布家族和广义线性模型GLM(General Linear Model)

因为这一部分涉及一些公式推导,而这些推导也只是一些简单的数学变换,所以这一部分直接引用的是牛顿方法&指数族分布&GLM的文章,在这里向原作者表示感谢。指数族分布的公式为:

P(y;η)=b(y)exp(ηTT(y)a(η))

其中, η 成为分布的自然参数(nature parameter); T(y) 是充分统计量(sufficient statistic),通常 T(y)=y 。当参数 a、b、T 都固定的时候,就定义了一个以η为参数的函数族。为什么要使用这种模式,WIKIPEDIA给出了一些原因,就不在这儿赘述了,读者可以自己去搜索,总之其有很多统计学方面的好处。
关于下面两种分布:

  1. 伯努利分布
    伯努利分布式对于0、1问题建模的, Bernoulli(φ),p(y=1;φ)=φ;p(y=0;φ)=1φ 下面将其推导成指数分布族形式:

    P(y;θ)=exp(ylog(φ1φ)+log(1φ))
    对应于指数族的分布,可以得到:
    b(y)=1
    T(y)=y
    η=log(φ1φ)φ=11+eη
    a(η)=log(1φ)

  2. 高斯分布
    下面对高斯分布进行推导,推导公式如下(为了方便计算,我们将方差 σ设置为1):
    高斯分布的公式以及推导如下:

    N(μ,1)=12π(12exp(12(yμ)2))=12πexp(12y2)exp(μy12u2)
    对比可知:
    b(y)=12πexp(12y2)
    η=μ
    a(η)=12μ2

广义线性模型

指数族分布主要是为了导出广义线性模型,仔细观察伯努利分布和高斯分布的指数分布族形式中的η变量。可以发现,在伯努利的指数分布族形式中,η与伯努利分布的参数φ是一个logistic函数(下面会介绍logistic回归的推导)。此外,在高斯分布的指数分布族表示形式中,η与正态分布的参数μ相等,下面会根据它推导出普通最小二乘法(Ordinary Least Squares)。通过这两个例子,我们大致可以得到一个结论,η以不同的映射函数与其它概率分布函数中的参数发生联系,从而得到不同的模型,广义线性模型正是将指数分布族中的所有成员(每个成员正好有一个这样的联系)都作为线性模型的扩展,通过各种非线性的连接函数将线性函数映射到其他空间,从而大大扩大了线性模型可解决的问题。

下面我们看 GLM 的形式化定义,GLM 有三个假设:
(1) y|x;θExponentialFamily(η) ;给定样本x与参数 θ ,样本分类y 服从指数分布族中的某个分布;
(2) 给定一个 x,我们需要的目标函数为 hθ(x)=E[T(y)|x] ;
(3) η=θTx
依据这三个假设,我们可以推导出logistic模型与普通最小二乘模型。首先根据伯努利分布推导Logistic模型,推导过程如下:

hθ(x)=E[T(y)|x]=E[y|x]=p(y=1|x;θ)=φ=11+eη=11+eθTx(1)
公式第一行来自假设(2),公式第二行通过伯努利分布计算得出,第三行通过伯努利的指数分布族表示形式得出,然后在公式第四行,根据假设三替换变量得到。
同样,可以根据高斯分布推导出普通最小二乘,如下:
hθ(x)=E(T(y)|x)=E[y|x]=μ=η=θTx(2)
公式第一行来自假设(2),第二行是通过高斯分布 N(μ,σ2) 计算得出,第三行是通过高斯分布的指数分布族形式表示得出,第四行即为假设(3)。

最大似然-交叉熵-最小二乘 的关系思考

上面的铺陈完毕,然后来看一看标题中提到的三者的关系。
首先看二项分布的概率:

P(y;φ)=φy(1φ)(1y)(3)
其实该式子就是极大似然,为了使之能够满足指数家族分布,我们得到了
φ=11+eθTx(4)
这也是上一part提到的logistic分布,(3)其对数似然函数是:
l(φ)=ylog(1φ)+(1y)log(1φ)(5)
,而对于logistic回归,其交叉熵损失函数是: l(φ) ,因此当寻找参数是交叉熵损失函数最小的时候,其实也是在求原来的分布 P(y;w,x) 似然函数值最大的过程。
同样对于高斯分布,似然函数为
L(y;σ=1,θ,x)=12π(12exp(12(yμ)2))(6)
μ=θTx(7)
我们假设在线性回归问题中, y x 符合高斯分布,我们使用最小二乘法 min(yθTx)2 来估计参数的过程,其实也就是求取似然函数(6)的极大值。这样,这两个损失函数就都找到了其似然函数的根据。
另一方面,我们来看下广义线性模型的假设的第二条 hθ(x)=E[T(y)|x] ;在对(5)和(6)求最大似然参数估计之后,那么 P(y;w,x) 就确定了,对于(5)式,当求出参数估计之后,代入y=1其实就求出了 P(y=1;w,x) 了也就是(4)式,而这就是其似然函数的期望(4)。同样,对于(6)式,求出最大似然参数估计之后,那么 P(y;w,x) 也就确定了,但是在线性回归问题中,我们需要知道y的确切值,而不是概率值,因此对于 P(y;w,x) 这个高斯分布,当参数w和x确定之后,我们想要得到y的值很自然的就想到的是使其概率最大的那个y值,而根据高斯分布规律知道,就是(7)式。经过上述分析,我们可以看出,当求出极大似然函数的参数估计之后,其对应的需要求取的值都知道了,而且等于期望,而且求取(5)和(6)的参数估计的也就是求取(4)和(7)的参数估计,而且我们需要的结果正好就是(4)(7)式,所以我们通过求取(4)(7)的参数估计不仅能够求出最大似然估计,而且能够直接得到我们需要的结果,所以对(4)式求最小交叉熵和对(7)式求取最小二乘的时候就等于求出了(5)(6)的极大似然参数估计,而且求出参数之后直接代入(5)(7)就能直接求出结果。
再来看一下广义线性模型的假设的第二条 hθ(x)=E[T(y)|x] ,就能更加明白期望的含义,所谓期望就是在当前条件下使该事情发生最大概率的那个值。

总结

通过一些过程的思考,感觉慢慢的了解了机器学习中很多的细节,文中相关概率符号可能有些错误,再次致歉,另外第一次在markdown编辑器中使用LaTeX函数,感觉还是很好用的,棒棒的 。10月7日于北京。

参考文献

机器学习-牛顿方法&指数分布&GLM
LaTeX一些符号

猜你喜欢

转载自blog.csdn.net/u010223750/article/details/52747895
今日推荐