从线性到非线性模型-对数线性模型

这篇博客探讨了从线性模型过渡到非线性模型,重点介绍了Logistic回归和SoftMax回归。Logistic回归通过sigmoid函数将线性回归映射到概率空间,适合二分类问题。SoftMax回归是Logistic回归的多分类推广,利用概率向量表示多分类。两者都基于对数线性模型,并用对数损失函数进行优化。最大熵模型则以最大熵原理为基础,寻找满足特定约束条件的最不确定概率分布。
摘要由CSDN通过智能技术生成

从线性到非线性模型

1、线性回归,岭回归,Lasso回归,局部加权线性回归
2、logistic回归,softmax回归,最大熵模型
3、广义线性模型
4、Fisher线性判别和线性感知机
5、三层神经网络
6、支持向量机

code: https://github.com/myazi/myLearn

二、Logistic回归和SoftMax回归,最大熵模型

一、Logistic回归

分类问题可以看作是在回归函数上的一个分类。一般情况下定义二值函数,然而二值函数不易优化,一般采用sigmoid函数平滑拟合(当然也可以看作是一种软划分,概率划分):从函数图像我们能看出,该函数有很好的特性,适合二分类问题。至于为何选择Sigmoid函数,后面可以从广义线性模型推导出Sigmoid函数。

逻辑回归可以看作是在线性回归的基础上构建的分类模型,理解的角度有多种,最直接的理解是考虑逻辑回归是将线性回归值离散化。即一个二分类问题如下:(二值函数)

KaTeX parse error: No such environment: equation at position 8: \begin{̲e̲q̲u̲a̲t̲i̲o̲n̲}̲ \begin{split}…

sigmoid函数

g ( z ) = 1 1 + e − z , g ‘ ( z ) = g ( z ) ( 1 − g ( z ) ) g(z)=\frac{1}{1+e^{-z}},g^{‘}(z)=g(z)(1-g(z)) g(z)=1+ez1,g(z)=g(z)(1g(z))

二分类问题属于一种硬划分,即是与否的划分,而sigmoid函数则将这种硬划分软化,以一定的概率属于某一类(且属于两类的加和为1)。Sigmoid函数将线性回归值映射到 [ 0 , 1 ] [0,1] [0,1]区间,从函数图像我们能看出,该函数有很好的特性,适合二分类问题。 因此逻辑回归模型如下:

KaTeX parse error: No such environment: equation at position 8: \begin{̲e̲q̲u̲a̲t̲i̲o̲n̲}̲ \begin{split}…
这里对于目标函数的构建不再是最小化函数值与真实值的平方误差了,按分类原则来讲最直接的损失因该是0-1损失,即分类正确没有损失,分类错误损失计数加1。但是0-1损失难以优化,存在弊端。结合sigmoid函数将硬划分转化为概率划分的特点,采用概率$h_{\theta}(x^{(i)}) $的对数损失(概率解释-N次伯努利分布加最大似然估计),其目标函数如下:
KaTeX parse error: No such environment: equation at position 8: \begin{̲e̲q̲u̲a̲t̲i̲o̲n̲}̲ \begin{split} …

同样采用梯度下降的方法有:
KaTeX parse error: No such environment: equation at position 8: \begin{̲e̲q̲u̲a̲t̲i̲o̲n̲}̲ \begin{split} …
又:
KaTeX parse error: No such environment: equation at position 8: \begin{̲e̲q̲u̲a̲t̲i̲o̲n̲}̲ \begin{split} …
所以有:
θ j = θ j − α ( y ( i ) − h θ ( x ( i ) ) ) x \theta_{j}=\theta_{j}-\alpha \left(y^{(i)}-h_{\theta}(x^{(i)})\right)x θj=θjα(y(i)hθ(x(i)))x

概率解释

逻辑回归的概率解释同线性回归模型一致,只是假设不再是服从高斯分布,而是 p ( y ∣ x ; θ ) p\left ( y|x;\theta \right ) p(yx;θ)服从0-1分布,由于 ,假设随机变量y服从伯努利分布是合理的 。即:
KaTeX parse error: No such environment: equation at position 8: \begin{̲e̲q̲u̲a̲t̲i̲o̲n̲}̲ \begin{split} …
所以最大化似然估计有:
KaTeX parse error: No such environment: equation at position 8: \begin{̲e̲q̲u̲a̲t̲i̲o̲n̲}̲ \begin{split} …

logistic采用对数损失原因

采用对数损失的原因有二:

​ 1)从概率解释来看,多次伯努利分布是指数的形式。由于最大似然估计导出的结果是概率连乘,而概率(sigmoid函数)恒小于1,为了防止计算下溢,取对数将连乘转换成连加的形式,而且目标函数和对数函数具备单调性,取对数不会影响目标函数的优化值。

​ 2)从对数损失目标函数来看,取对数之后在求导过程会大大简化计算量。

二、SoftMax回归

Softmax回归可以看作是Logistic回归在多分类上的一个推广。考虑二分类的另一种表示形式:

[ k 1 , 1 − k 1 ] → [ k 1 k 2 ] \left [ k_{1},1-k_{1} \right ]\rightarrow \begin{bmatrix} k_{1}\\ k_{2} \end{bmatrix} [k1,1k1][k1k2]
当logistic回归采用二维表示的话,那么其损失函数如下:
KaTeX parse error: No such environment: equation at position 8: \begin{̲e̲q̲u̲a̲t̲i̲o̲n̲}̲ \begin{split} …
其中,在逻辑回归中两类分别为 k 1 k_{1} k1 1 − k 1 1-k_{1} 1k1,二在softmax中采用 k 1 , k_{1}, k1 k 2 k_{2} k2两个随机变量组成二维向量表示,当然隐含约束 k 1 + k 2 = 1 k_{1}+k_{2}=1 k1+k2=1.为了更好的表示多分类问题,将 y ∈ { 1 , 2 , . . K } y\in \left \{ 1,2,..K \right \} y{ 1,2,..K}(不一定理解为y的取值为k,更应该理解为y可以取k类)多分类问题进行如下表示。
T ( k ) = [ 0 0 . 1 . 0 ] T(k)=\begin{bmatrix} 0\\ 0\\ .\\ 1\\ .\\ 0 \end{bmatrix} T(k)=00.1.0
其中向量的第k位为1,其他位为0,也就是当 y = k y=k y=k 时将其映射成向量时对应第k位为1。采用多维表示之后,那么对于每一维就变成了一个单独的二分类问题了,所以softmax函数形式如下:
h θ ( x ( i ) ) = 1 ∑ k = 1 K e x p ( θ k T x ( i ) ) [ e x p ( θ k T x ( i ) ) e x p ( θ k T x ( i ) ) . e x p ( θ k T x ( i ) ) ] h_{\theta}(x^{(i)})=\frac{1}{\sum_{ k=1}^{K}exp\left ( \theta _{k}^{T}x^{(i)} \right )}\begin{bmatrix} exp\left ( \theta _{k}^{T}x^{(i)} \right )\\ exp\left ( \theta _{k}^{T}x^{(i)} \right )\\ .\\ exp\left ( \theta _{k}^{T}x^{(i)} \right ) \end{bmatrix} hθ(x(i))=k=1Kexp(θkTx(i))1exp(θkTx(i))exp(θkTx(i)).exp(θkTx(i))
其中函数值是一个 K K K维的向量,同样采用对数损失(多项式分布和最大似然估计),目标函数形式是logistic回归的多维形式。
KaTeX parse error: No such environment: equation at position 8: \begin{̲e̲q̲u̲a̲t̲i̲o̲n̲}̲ \begin{split} …
其中 y i k y^{ik} yik表示第 i i i个样本的标签向量化后第k维的取值0或者1.可以看出Softmax的损失是对每一类计算其概率的对数损失,而logistic回归是计算两类的回归,其本质是一样。Logistic回归和Softmax回归都是基于线性回归的分类模型,两者无本质区别,都是从二项分布和多项式分布结合最大对数似然估计。只是Logistic回归常用于二分类,而Softmax回归常用于多分类。而且Logistic回归在考虑多分类时只考虑n-1类。

概率解释

​ 二分类与多分类可以看作是N次伯努利分布的二项分布到多项分布的一个推广,概率解释同Logistic回归一致。详细解释放到广义线性模型中。

二分类转多分类思想

对于多分类问题,同样可以借鉴二分类学习方法,在二分类学习基础上采用一些策略以实现多分类,基本思路是“拆解法”,假设N个类别 C 1 , C 2 , . C i . , C n C_{1},C_{2},.C_{i}.,C_{n} C1,C2,.Ci.,Cn,经典的拆分算法有“一对一”,“一对多”,“多对多”,

一对一的基本思想是从所有类别中选出两类来实现一个两分类学习器,即学习出 C N 2 = N ( N − 1 ) / 2 C_{N}^{2}=N(N-1)/2 CN2=N(N1)/2个二分类器,然后对新样本进行预测时,对这 C N 2 C_{N}^{2} CN2个分类器进行投票最终决定属于那一类。

一对多的基本思想是把所有类别进行二分类,即属于 C i C_{i} Ci类和非 C i C_{i} Ci两类,这样我们就需要N个分类器,然后对新样本进行预测时,与每一个分类器比较,最终决定属于哪一类。这其实就是Softmax的思想,也是SVM多分类的思想。

//多对多的基本思想是

三、最大熵模型

​ 很奇怪,为什么会把最大熵模型放到这,原因很简单,它和Logistic回归和SoftMax回归实在是惊人的相似,同属于对数线性模型。

熵的概念

这里写图片描述

信息熵:熵是一种对随机变量不确定性的度量,不确定性越大,熵越大。若随机变量退化成定值,熵为0。均匀分布是“最不确定”的分布 。

假设离散随机变量X的概率分布为 P ( X ) P(X) P(X),则其熵为:
H ( X ) = − ∑ x P ( x ) l o g P ( x ) H(X)=-\sum_{x}P(x)logP(x) H(X)=x

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值