线性模型之Logistic和Softmax回归
初中就开始学习线性回归,并且可以根据最小二乘法,计算出线性回归系数,进而利用线性回归进行数据的简单预测。
线性模型是机器学习中最简单、应用最广泛的模型,指通过样本特征的线性组合来进行预测的模型。给定一个d维样本[x1, · · · , xd].T,其线性组合函数为
其中w = [w1, · · · , wd].T 为d维的权重向量,b为偏置。
线性回归就是典型的线性模型,直接用f(x, w)来预测输出目标y = f(x, w)。在分类问题中,由于输出目标 y 是一些离散的标签,而 f(x, w) 的值域为实数,因此无法直接用 f(x, w) 来进行预测,需要引入一个非线性的决策函数g(·)来预测输出目标
对于两类分类问题,g(·)可以是符号函数
当f(x, w) = 0时不进行预测,这里定义了一个简单的二分类问题。结构:
很想神经网络中的一个神经元,g(.)在神经网络中叫激活函数。
两类与多类分类
一个线性分类模型(Linear Classification Model)或线性分类器(LinearClassifier),是由一个(或多个)线性的判别函数f(x, w) =w.T * x + b和非线性的决策函数g(·)组成。
两类分类
两类分类(Binary Classification)的类别标签y 只有两种取值,通常可以设为{+1, −1}。
在两个分类中,我们只需要一个线性判别函数f(x, w) = w.T * x + b。特征空间Rd 中所有满足f(x, w) = 0的点组成用一个分割超平面(hyperplane),称为决策边界(decision boundary)或决策平面(decisionsurface)。决策边界将特征空间一分为二,划分成两个区域,每个区域对应一个类别。
所谓“线性分类模型”就是指其决策边界是线性超平面。在特征空间中,决策平面与权重向量 w 正交(平面上任取一点X,W.T * X + b = 0,故正交)。特征空间中每个样本点到决策平面的有向距离为
下图给出了一个两维数据的线性决策边界示例,其中样本特征向量 x =[x1, x2],权重向量w = [w1, w2]。
线性模型试图找到参数w,使得
那么,损失函数为:
其中 I(·) 为指示函数。但 0-1 损失函数的数学性质不好,其关于 w 的导数为 0,从而导致无法优化w。
多类分类
多类分类(Multi-class Classification)问题是指分类的类别数C 大于2。多类分类一般需要多个线性判别函数,但设计这些判别函数有很多种方式。
从上面定义可以,如果数据集可以多类线性可分的,那么一定存在一个“argmax”方式的线性分类器可以将它们正确分开。
Logistic 分类
Logistic回归(Logistic Regression,LR)是一种常用的处理两类分类问题的线性模型。在logistic回归中,我们使用logistic函数来作为激活函数。标签y = 1的后验概率为
即,激活函数为:
那么标签y = 0的概率就是1 - p(y = 1)。那么,logistic函数长啥样呢?
该函数的定义域是(-∞,+∞),而值域却是(0,1),所以我们可以根据计算出来的概率值来进行对样本进行分类:
现在,只需要将w权重向量训练出来,即可。这需要损失函数。
Logistic 回归采用交叉熵作为损失函数,并使用梯度下降法来对参数进行优化。关于交叉熵概念,可以看前面写的基础知识:
N个样本,用logistic 回归模型对每个样本x(n)进行预测,并用输出x(n) 的标签为1的后验概率,记为yˆ(n),
使用交叉熵损失函数:
风险函数R(w)关于参数w的偏导数为:
采用梯度下降法,logistic回归的训练过程为:初始化w0 ← 0,然后通过下式来迭代更新参数。
其中α是学习率。
找到,Wt+1与Wt的关系了,有些代码基础的同学,都能通过递归或者循环的手段,将w训练出来。
Softmax 分类
softmax其实是Logistic的推广到多类别分类应用中,不必建立多个二分类分类器来实现多类别分类。softmax分类器的思想很简单,对于一个新的样本,softmax回归模型对于每一类都先计算出一个分数,然后通过softmax函数得出一个概率值,根据最终的概率值来确定属于哪一类。
对于每一类都有一个权重参数θ,根据下式子计算样本的分数:
通过下公式来计算并归一化之后就是输出的概率值:
σ为激活函数softmax,s(x)为加权分数,第k类,除以总的K类得到的值,就是第k类的概率值,一个样本属于不同类的概率不同,分类为取值最大的概率对应的那个类别。
同样,softmax回归使用交叉熵损失函数来学习最优的参数矩阵W。
采用梯度下降法,softmax回归的训练过程为:初始化W0 ← 0,然后通过下式进行迭代更新。
其中α是学习率,yˆ(n)是当参数为Wt 时,softmax回归模型的输出。
要注意的是,softmax 回归中使用的 C 个权重向量是冗余的,即对所有的权重向量都减去一个同样的向量 v,不改变其输出结果。因此,softmax往往需要使用正则化来约束其参数。此外,我们可以利用这个特性来避免计算softmax函数时在数值计算上溢出问题。
猜你可能喜欢