查看原文
其他

线性模型之Logistic和Softmax回归

ikeguang.com 大数据技术派 2022-10-15


初中就开始学习线性回归,并且可以根据最小二乘法,计算出线性回归系数,进而利用线性回归进行数据的简单预测。

线性模型是机器学习中最简单、应用最广泛的模型,指通过样本特征的线性组合来进行预测的模型。给定一个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函数时在数值计算上溢出问题。


猜你可能喜欢

mysql必知必会知识点

R语言(绘图入门)

几种经典的排序算法,你都能写出来吗?

程序员必备的一些数学基础知识

交了3年的女朋友不理我了,她说我连SVM都不会?

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存