极大似然估计与逻辑斯谛回归
极大似然估计
一般来说,在有一组样本X1,X2,X3,…,Xn;取值x1,x2,…,xn。
我们不知道这些样本所属总体服从的具体分布,但是我们知道他们和未知参数结合的形式——比如上述样本的概率分别为p(x1,θ1,θ2,…,θn),p(x2,θ1,θ2,…,θn),…,p(xn,θ1,θ2,…,θn).
那么现在如何对未知的参数θ1,θ2,…,θn进行估计以确定样本的函数?
那就是将这些样本对应的分布乘起来构建似然函数,再通过对似然函数求极大值,获得各个参数的取值。
这个思想不是凭空出现的,比如扔色子,我们扔了10次色子,出现了6次1点,1次2点,1次3点,1次4点,而6点一次都没有掷到。那么我们会很自然地判断这个骰子也许并不是均匀的,也许概率分布本来就倾向于1,我们扔到1的概率本来就大。会不会这个色子根本就没有6点?
通过极大似然函数来估计分布中的参数也是同样的道理,现在这些样本已经出现了——我们有理由认为这些已经出现的样本值的概率更大。因此他们的联合分布的极大值得到的参数θ1,θ2,…,θn也是最贴近总体分布中的参数的。
逻辑回归
逻辑回归虽然带有“回归”二字,但是他是实实在在的分类模型。
以二分类为例,对于上图这样一组数据集假设数据集线性可分,我们可不可以通过一条直线将数据集中的“×”和“⭕”完全分开?
事实上,逻辑回归就是利用现有数据对分类边界建立回归公式,比如,Z= WX+b(均为向量),以此进行分类。
sigmoid函数
首先要引入sigmoid函数概念。
Sigmoid函数是一个在生物学中常见的S型函数,也称为S型生长曲线。 [1] 在信息科学中,由于其单增以及反函数单增等性质,Sigmoid函数常被用作神经网络的**函数,将变量映射到0,1之间。
sigmoid函数也叫Logistic函数,用于隐层神经元输出,取值范围为(0,1),它可以将一个实数映射到(0,1)的区间,可以用来做二分类。在特征相差比较复杂或是相差不是特别大时效果比较好。
为什么提到这个函数?首先在二分类问题中(比如我们将两类分别标记为0,1),我们会很自然的想到一个阶跃函数:
但是这个阶跃函数不可微,因此虽然它很理想,但是却不是最好的。而将sigmoid函数的横坐标尺度放的足够大时,我们也能得到一个类似于阶跃函数的性质。
因此,用sigmoid函数代替阶跃函数的想法是很合理的。同时,sigmoid函数也有很好的性质,他无限逼近于0和1,是不是很像我们的概率分布函数?
当x位于sigmoid函数以右时,说明1类别出现的概率大于0.5,因此我们将他划分到正类1中去,否则,划分到另一类0中去。
逻辑回归和极大似然估计有什么关系?
1.首先看几率和对数几率的概念。
一个事件的几率是该事件发生概率与不发生概率的比值,假如事件发生的概率为p,那么该事件的几率为:
对数几率,顾名思义,就是对几率求对数:
2.逻辑斯谛回归模型
二项逻辑回归模型是如下的条件概率:
这两项加起来为1,因为是概率之和。注意w,x均为向量,
输出Y=1的对数几率如下
我们得到了一个线性函数的形式,而从另一个角度讲,我们也可以将一个线性函数转化为概率:
当 接近于正无穷时,的值越接近于1,否则就越接近于0.
当然,此时我们并不知道参数w的各分量取值,因此,我们需要设
然后构建一个似然函数,通过求极值来找到参数。
我们再看回最初的那张图:
事实上,直线z=w·x和P(Y=1|x)的概率应该存在一定的关系。当z趋向于正无穷时,P(Y=1|x)=1,样本远离决策边界(位于决策边界的右上方);
当z趋向于负无穷时,P(Y=1|x)=0,而P(Y=0|x)=1,样本远离决策边界(位于决策边界的左下方)。
参考:
1.https://zhuanlan.zhihu.com/p/74874291
2.https://baike.baidu.com/item/%E4%BC%BC%E7%84%B6%E5%87%BD%E6%95%B0/6011241?fr=aladdin
3.《机器学习实战》
4.《统计学习方法》