逻辑斯蒂回归——深入剖析逻辑斯蒂回归和最大熵模型、条件随机场,他们到底有啥关系?(一)

深入剖析逻辑斯蒂回归和最大熵模型、条件随机场,他们到底有啥关系?(一)

  • 1. 逻辑斯蒂回归
    • 1.1 线性回归
    • 1.2分类问题
    • 1.3 如何学习theta?
    • 1.4 从对数几率来看LR
  • 2. 条件随机场
  • 3. 最大熵模型

1. 逻辑斯蒂回归

  LR模型是机器学习的入门第一课,不过很多同学一直学到很久都没有搞清楚过这个模型,懵懵懂懂,为什么这个模型是广义线性模型?为什么叫最大化后验概率?为什么这个模型又和最大熵模型扯上了关系?废话少说,开始。

1.1 线性回归

  线性回归我们都十分清楚,比如用最小二乘法做线性回归,是为了尽可能地拟合数据,并对未知取值的数据进行预测,如下图是也。
逻辑斯蒂回归——深入剖析逻辑斯蒂回归和最大熵模型、条件随机场,他们到底有啥关系?(一)_第1张图片
  这里我们就不讨论如何利用梯度下降等方法找到这条直线了,不是本文的重点,总之我们利用均方差损失函数MSE+梯度下降是可以找到一组参数来拟合这些点。
当然推广到多维也是一样的:
逻辑斯蒂回归——深入剖析逻辑斯蒂回归和最大熵模型、条件随机场,他们到底有啥关系?(一)_第2张图片)
   θ \theta θ就是要学习的参数。

1.2分类问题

  然后我们发现,好像一些问题是分类的,那么我们可不可以用线性回归来拟合数据,然后设置一个阈值来进行实现分类任务呢?
逻辑斯蒂回归——深入剖析逻辑斯蒂回归和最大熵模型、条件随机场,他们到底有啥关系?(一)_第3张图片)
   如这样的一组数据,好像是很OK的,我们预测的值假设是大于0.5的,我们分类就判别为正类,否则负类。但是这个方法的鲁棒性不好,如果数据不乖呢,这个模型就会被拉得很偏,比如这样:
逻辑斯蒂回归——深入剖析逻辑斯蒂回归和最大熵模型、条件随机场,他们到底有啥关系?(一)_第4张图片)
  那想想,如果数据异常值很多,那这个模型岂不是跑偏到不知道哪里去了?所以我们考虑一下,如果异常值很大的话,我们有没有一种数学方式,可以缓和这种异常?简而言之就是,数据再偏,总得有个度吧,嘻嘻,刚好我们有这样一个函数:sigmoid!
逻辑斯蒂回归——深入剖析逻辑斯蒂回归和最大熵模型、条件随机场,他们到底有啥关系?(一)_第5张图片)
  这个函数即使x取到正负无穷到天涯海角,你的y都是在0到1的区间内的,那岂不是很美滋滋的嘛。
  那么我们就要继续思考了,我们所谓的分类任务,其实是不是都是想要找到一个decision boundary决策边界?希望这个边界一边,函数输出一种值,边界另一边,函数输出另一种值?
逻辑斯蒂回归——深入剖析逻辑斯蒂回归和最大熵模型、条件随机场,他们到底有啥关系?(一)_第6张图片)
  高中数学只是,对于上面的样本点,带入直线x1+x2-3=0,大于零则在直线上方,小于零在直线下边,没问题吧?好的,那可不可以就以这个输出的大于或小于0的值作为预测结果,然后和0比较大小,来进行分类呢,不是不可以,但不够好玩,所以你猜我们会怎么做:我们在这个结果外面套了一个sigmoid函数,那么所有的预测结果,是不是都会归一化到0到1的区间内?然后我们以0.5为边界,将样本点就可以分开呀,如这个式子:
在这里插入图片描述)
  其中g(x) 就是sigmoid函数,而且这样的好处是,我们可以用输出的这个结果作为预测为正类的概率!直观去想:离决策边界更近的,我们对于它是哪类的信心不是很够,所以概率会在0.5附近,而离决策边界远的,我们会比较确信它是其中的一类,所以概率会趋近与0或1。
  什么?你觉得太简单,是的,逻辑回归就是这么简单,下面我们看看非线性的边界如何处理:
逻辑斯蒂回归——深入剖析逻辑斯蒂回归和最大熵模型、条件随机场,他们到底有啥关系?(一)_第7张图片)
  我们发现这个分类可以用一个圆分开,那么样本点同样是带进去会得到大于或小于0的数,然后套上sigmoid函数,得到概率值,没有问题。
  那么我们现在是否可以这样表述,我们输出的其实是给定样本特征x,然后求分类y的概率,即后验概率P(y|x)。

1.3 如何学习theta?

  问题来了,说得轻松,你倒是告诉我们theta怎么得来呢?也就是说怎么选损失函数呢?可不可以考虑像线性回归的一样,用MSE来作为损失函数,即预测的值与真实的label做mse,不是不行,但是不好,因为发现得到不是一个凸函数,很难用梯度下降去做:
逻辑斯蒂回归——深入剖析逻辑斯蒂回归和最大熵模型、条件随机场,他们到底有啥关系?(一)_第8张图片)
  那我们就要重新选一个数学特性好的损失函数了,我们考虑如下情况:
  如果真实类别是1,我们希望预测的概率h(xi)越大越好;
  如果真实的类别是0,我们希望预测的概率越小越好,即1 - h(xi)越大越好。
  然后考虑每个样本都要照顾到,那么就是极大似然估计了,把每个样本预测正确的概率相乘:
L ( θ ) = ∏ i = 1 N P ( y i ∣ x i ; θ ) = ∏ [ ( h ( x i ) ) y i ( 1 − h ( x i ) ) 1 − y i ] L(θ)=∏_{i=1}^NP(y_i |x_i;θ)=∏[(h(x_i ))^{y_i } (1-h(x_i ))^{1-y_i } ] L(θ)=i=1NP(yixi;θ)=[(h(xi))yi(1h(xi))1yi]
  我们一般把连乘变连加会比较好求导数,因此:
逻辑斯蒂回归——深入剖析逻辑斯蒂回归和最大熵模型、条件随机场,他们到底有啥关系?(一)_第9张图片)
  看到了吗,这个式子是否很熟悉,不就是二元的交叉熵损失吗?或者我们叫它对数损失,当然正则化是为了防止过拟合,就是对参数的平方和进行惩罚而已。(上面公式的左中括号应在sigma后面,是原大神作者寒小阳老师的笔误)
  好了,这个思路是从线性回归的角度来推导的LR,我们从另外的一个角度来看看。

1.4 从对数几率来看LR

  我们经常听说,LR就是广义的线性模型,奇了怪了,线性就线性,非线性就非线性,你来一个广义的线性,是什么意思,且听我慢慢道来。
对于一个样本来说,是正样本的概率为P,是负样本的概率为1-P,P/(1-P)叫正样本的几率,那么对正样本来说,我们肯定是希望预测为正的几率越大越好,而负样本希望这个几率越小越好。
  补充一点东西,我们说这个是线性回归:
y = θ T x y=θ^T x y=θTx
  而如果y前面加上对数,就是对数线性回归,相当于是以y的对数为目标,进行回归。
l n ⁡ y = θ T x ln⁡y=θ^T x lny=θTx
  好了,现在我们把y替换成几率,就成了对数几率的线性回归:
l n p ( y = 1 ∣ x ) p ( y = 0 ∣ x ) = θ T x ln \frac{p(y=1|x)}{p(y=0|x)}=θ^T x lnp(y=0x)p(y=1x)=θTx
  得到这个式子有什么用呢?发现简单代换之后,变成了:
p ( y = 1 │ x ) = e θ T x 1 + e θ T x p(y=1│x)= \frac{e^{θ^T x}}{1+e^{θ^Tx}} p(y=1x)=1+eθTxeθTx
p ( y = 0 │ x ) = 1 1 + e θ T x p(y=0│x)= \frac{1}{1+e^{θ^T x} } p(y=0x)=1+eθTx1
p ( y = 0 │ x ) = 1 1 + e θ T x p(y=0│x)= \frac{1}{1+e^{θ^T x} } p(y=0x)=1+eθTx1啊老哥!!,这个是什么玩意,不就是我们之前推导的  线性回归外面套上sigmoid吗,巧了吗不是,可能一些同学看我宛如智障一样。其实是这样的,不要小看了这个式子,这个式子可有了趣了。
欲知后事如何,且听下回分解!

2. 条件随机场

传送门!biu biu biu~~
条件随机场——深入剖析逻辑斯蒂回归和最大熵模型、条件随机场,他们到底有啥关系?(二)

3. 最大熵模型

你可能感兴趣的:(机器学习)