线性模型之Logistic和Softmax回归

640?wx_fmt=jpeg

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

线性模型是机器学习中最简单、应用最广泛的模型,指通过样本特征的线性组合来进行预测的模型。给定一个d维样本[x1, · · · , xd].T,其线性组合函数为

640?wx_fmt=png

其中w = [w1, · · · , wd].T 为d维的权重向量,b为偏置。

线性回归就是典型的线性模型,直接用f(x, w)来预测输出目标y = f(x, w)。在分类问题中,由于输出目标 y 是一些离散的标签,而 f(x, w) 的值域为实数,因此无法直接用 f(x, w) 来进行预测,需要引入一个非线性的决策函数g(·)来预测输出目标

640?wx_fmt=png

对于两类分类问题,g(·)可以是符号函数

640?wx_fmt=png

当f(x, w) = 0时不进行预测,这里定义了一个简单的二分类问题。结构:

640?wx_fmt=png

很想神经网络中的一个神经元,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,故正交)。特征空间中每个样本点到决策平面的有向距离为

640?wx_fmt=png

下图给出了一个两维数据的线性决策边界示例,其中样本特征向量 x =[x1, x2],权重向量w = [w1, w2]。

640?wx_fmt=png

线性模型试图找到参数w,使得

640?wx_fmt=png

那么,损失函数为:

640?wx_fmt=png

其中 I(·) 为指示函数。但 0-1 损失函数的数学性质不好,其关于 w 的导数为 0,从而导致无法优化w。

多类分类

多类分类(Multi-class Classification)问题是指分类的类别数C 大于2。多类分类一般需要多个线性判别函数,但设计这些判别函数有很多种方式。

640?wx_fmt=png

640?wx_fmt=png

从上面定义可以,如果数据集可以多类线性可分的,那么一定存在一个“argmax”方式的线性分类器可以将它们正确分开。 

Logistic 分类

Logistic回归(Logistic Regression,LR)是一种常用的处理两类分类问题的线性模型。在logistic回归中,我们使用logistic函数来作为激活函数。标签y = 1的后验概率为

640?wx_fmt=png

即,激活函数为:

640?wx_fmt=png

那么标签y = 0的概率就是1 - p(y = 1)。那么,logistic函数长啥样呢?

640?wx_fmt=png

该函数的定义域是(-∞,+∞),而值域却是(0,1),所以我们可以根据计算出来的概率值来进行对样本进行分类:

640?wx_fmt=png

现在,只需要将w权重向量训练出来,即可。这需要损失函数。

Logistic 回归采用交叉熵作为损失函数,并使用梯度下降法来对参数进行优化。关于交叉熵概念,可以看前面写的基础知识:

N个样本,用logistic 回归模型对每个样本x(n)进行预测,并用输出x(n) 的标签为1的后验概率,记为yˆ(n),

640?wx_fmt=png

使用交叉熵损失函数:

640?wx_fmt=png

风险函数R(w)关于参数w的偏导数为:

640?wx_fmt=png

采用梯度下降法,logistic回归的训练过程为:初始化w0 ← 0,然后通过下式来迭代更新参数。

640?wx_fmt=png

其中α是学习率。

找到,Wt+1与Wt的关系了,有些代码基础的同学,都能通过递归或者循环的手段,将w训练出来。

Softmax 分类

softmax其实是Logistic的推广到多类别分类应用中,不必建立多个二分类分类器来实现多类别分类。softmax分类器的思想很简单,对于一个新的样本,softmax回归模型对于每一类都先计算出一个分数,然后通过softmax函数得出一个概率值,根据最终的概率值来确定属于哪一类。

对于每一类都有一个权重参数θ,根据下式子计算样本的分数:

640?wx_fmt=png

通过下公式来计算并归一化之后就是输出的概率值:

640?wx_fmt=png

σ为激活函数softmax,s(x)为加权分数,第k类,除以总的K类得到的值,就是第k类的概率值,一个样本属于不同类的概率不同,分类为取值最大的概率对应的那个类别。

同样,softmax回归使用交叉熵损失函数来学习最优的参数矩阵W。

640?wx_fmt=png

采用梯度下降法,softmax回归的训练过程为:初始化W0 ← 0,然后通过下式进行迭代更新。

640?wx_fmt=png

其中α是学习率,yˆ(n)是当参数为Wt 时,softmax回归模型的输出。

要注意的是,softmax 回归中使用的 C 个权重向量是冗余的,即对所有的权重向量都减去一个同样的向量 v,不改变其输出结果。因此,softmax往往需要使用正则化来约束其参数。此外,我们可以利用这个特性来避免计算softmax函数时在数值计算上溢出问题。

猜你可能喜欢

640?wx_fmt=jpeg

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大数据技术派

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值