从最大似然估计的角度理解线性回归和逻辑回归

Posted Babyface Killer

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从最大似然估计的角度理解线性回归和逻辑回归相关的知识,希望对你有一定的参考价值。

写在前面的话

转眼学习数据分析和机器学习也有一年了,虽然上手了不少项目也实际应用过很多机器学习算法,但对于算法的原理和推导确实也还在一知半解的程度。为了知其然还要知其所以然,本篇文章就从最统计学最基础的最大似然估计来推导线性回归和逻辑回归的损失函数。

最大似然估计

通俗地来说,最大似然估计所要达成的目标就是找到一组参数\\Theta使得表达的概率分布能够在最大程度上拟合观测到的样本的联合概率分布。这句话用数学的语言表达就是:max P(X;\\Theta )或者max P(x_{1},x_{2},...x_{n};\\theta)。虽然在很多非正式场合概率和似然经常被混为一谈,但是这两个概念其实是不同的。概率表达的是给定模型参数,观察到样本的概率,而似然则表达的是给定观测值后描述分布的参数是否合理。因此对于上述的问题,其实更合理的表达应为max L(X;\\theta ),其中L表示的就是likelihood。虽然对于问题的定义很简洁,但是实际操作起来还是有一定的问题。样本的联合概率分布可以表达为:\\prod_{i=1}^{n} P(x_{i};\\theta ),其中每个样本在给定参数\\theta时观测到的概率一定小于1,将多个小概率连乘在实际应用中是非常不稳定的,因此可以利用log的性质将前式转化为\\sum_{i=1}^{n} log(P(x_{i};\\theta))。对于优化问题,常常将求最大值转化为求最小值(因为大部分常用的优化解法默认setup都是最小化问题),因此最大似然估计的问题就变为:min -\\sum_{i=1}^{n} log(P(x_{i};\\theta))

线性回归

对于有监督学习类的问题,因为样本有类别属性和目标值,因此对于观察到样本概率的表达也应转变为条件概率。且根据线性回归模型定义:\\hat{y}=\\omega ^Tx,因此最大似然估计在这里要通过改变w来最大化观测到样本的概率。于是对于线性回归问题,最大似然估计表达为:min-\\sum_{i=1}^{n}log(P(x_{i}|y_{i};\\omega ))。线性回归有一个重要假设就是误差项符合正态分布,即误差项的概率密度函数可表示为:f(\\varepsilon) =\\frac{1}{\\sigma \\sqrt{2\\pi }}e^{-\\frac{1}{2}(\\frac{\\varepsilon }{\\sigma })^{2}},其中误差项\\varepsilon可表示为\\varepsilon =y-\\hat{y}。将概率密度函数带入最大似然估计得到:      min-\\sum_{i=1}^{n}log(\\frac{1}{\\sigma \\sqrt{2\\pi }}e^{-\\frac{1}{2}(\\frac{\\varepsilon }{\\sigma })^{2}})=min-\\sum_{i=1}^{n}log(\\frac{1}{\\sigma \\sqrt{2\\pi}})-\\frac{1}{2\\sigma ^{2}}\\varepsilon ^2 =min-\\sum_{i=1}^{n}log(\\frac{1}{\\sigma \\sqrt{2\\pi}})-\\frac{1}{2\\sigma ^{2}}(y_{i}-\\hat{y}_{i}) ^2=min\\sum_{i=1}^{n}(y_{i}-\\hat{y}_{i}) ^2=min\\sum_{i=1}^{n}(y_{i}-\\omega x_{i})^2

看到这里应该大家都很熟悉了,在将最大似然估计层层化简后其优化问题的目标函数和最小二乘法如出一辙。接下来的问题就好办了,目标函数为标准的二次函数,性质为凸函数,使用梯度下降和牛顿法都可求解。

逻辑回归

逻辑回归和线性回归有相似之处,但在模型的输出上却大为不同。为了使逻辑回归的输出压缩到[0,1]的范围之内,逻辑回归使用的是广义线性模型,其中联系函数为g(p_{i})=ln(\\frac{p_{i}}{1-p_{i}})=\\omega^Tx_{i}。由此推到我们熟悉的logistic function的过程如下:

\\frac{p_{i}}{1-p_{i}}=e^{\\omega^Tx_{i}}=>p_{i}=(1-p_{i})e^{\\omega^Tx_{i}}=>(1+e^{\\omega^Tx_{i}})p_{i}=e^{\\omega^Tx_{i}}=>p_{i}=\\frac{e^{\\omega^Tx_{i}}}{1+e^{\\omega^Tx_{i}}}=\\frac{1}{1+e^{-\\omega^Tx_{i}}}

其中p_{i}表示样本目标值为1的概率而(1-p_{i})表示样本目标值为0的概率,即P(y_{i}|x_{i})=p_{i}^{y_{i}}(1-p_{i})^{1-y_{i}},将其带入最大似然估计可得:min-\\sum_{i=1}^{n}log(p_{i}^{y_{i}}(1-p_{i})^{1-y_{i}})=min-\\sum_{i=1}^{n}y_{i}log(p_{i})+(1-y_{i})log(1-p_{i})

这就是我们熟悉的cross-entropy loss了。

此函数依然是一个有完美性质的凸函数,可以使用梯度下降和牛顿法求解。

求解梯度过程:设z=\\omega^Txp=\\frac{1}{1+e^{-z}},目标函数为L

\\frac{\\partial L}{\\partial p}=\\sum_{i=1}^{n}-\\frac{y_{i}}{p_{i}}+\\frac{1-y_{i}}{1-p_{i}}

\\frac{\\partial p}{\\partial z}=\\sum_{i=1}^{n}\\frac{e^{-z_{i}}}{(1+e^{-z_{i}})^{2}}=p_{i}(1-p_{i})

\\frac{\\partial z}{\\partial \\omega }=\\sum_{i=1}^{n}x_{i}

\\frac{\\partial L}{\\partial \\omega }=\\frac{\\partial L}{\\partial p}\\cdot \\frac{\\partial p}{\\partial z}\\cdot \\frac{\\partial z}{\\partial \\omega }=\\sum_{i=1}^{n}(p_{i}-y_{i})x_{i}

写在最后的话

文中若有错误还请指正

转载请注明出处
 

以上是关于从最大似然估计的角度理解线性回归和逻辑回归的主要内容,如果未能解决你的问题,请参考以下文章

从最大似然估计的角度理解线性回归和逻辑回归

为什么说逻辑回归实质是最大似然估计,而线性回归实质是最小二乘法?

机器学习 | Logistic Regression(逻辑回归)中的损失函数

机器学习 | Logistic Regression(逻辑回归)中的损失函数

逻辑回归为啥用最大似然估计求解

机器学习理论基础学习2——线性回归