当前位置:首页 » 《随便一记》 » 正文

AI遮天传 DL-回归与分类

5 人参与  2022年07月26日 08:33  分类 : 《随便一记》  评论

点击全文阅读


本文主要介绍Logistic回归和Softmax回归

一、回归与分类回忆

给定数据点集合 x^{n}\epsilon R^{n} 和相应的标签 t^{n}\epsilon \Omega,对于一个新的数据点x,预测它的标签(目标是找到一个映射 f:R^{m}\rightarrow \Omega):

如果\Omega是一个连续的集合,称其为回归(regression)

如果\Omega是一个离散的集合,称其为分类(classfication)

多项式回归 

考虑一个回归问题,输入x和输出y都是标量。寻找一个函数  f:\mathbb{R}\rightarrow \mathbb{R} 来拟合数据

f(x)=wx+b

f(x)=w_{1}x+w_{2}x^2+b

f(x) = \sum_{i=1}^{n}w_{i}x^{i} + b

 

无论是线性回归还是非线性回归,我们一般都是通过一些成本函数如最小均方误差(MSE),作为损失函数,来确定 f 的参数。

线性回归

f(x)是线性的

f(x) = w^{T}x+b

        其中w\epsilon R^{m},\, b\epsilon R,\:b(偏置/残差/误差项)可以融入\theta并且得到f(x) = \theta ^{T}x 

设均方误差(MSE)为成本函数

E=\frac{1}{2N}\sum_{n=1}^{N}(f(x^{(n)})-t^{(n)})^2 = \frac{1}{2N}\sum_{n=1}^{N}(w^{t}x^{(n)}+b-t^{(n)})^2

通过最小化成本函数来找到最优的w和b

        如最小二乘法、梯度下降法使得损失函数最小来求解参数。 

 AI遮天传 ML-回归分析入门

利用回归进行二分类

在特征空间,一个线性分类器对应一个超平面

两种典型的线性分类器:

感知机SVM(AI遮天传 ML-SVM入门)

回归 - 预测连续的 y=f(x)分类  - 预测 y=\left\{\begin{matrix} 1 & f(x)\geq 0.5\\ 0& f(x)< 0.5 \end{matrix}\right.

利用线性回归进行二分类: 

假定t\epsilon \left \{0,1 \right \},考虑一维特征的情况

假定t\epsilon \left \{0,1 \right \},考虑高维特征的情况 

使用非线性回归进行二分类

f(x) 可以是非线性函数,如:logisitic sigoid function

同理我们可以用训练线性回归模型的方法训练非线性回归,只不过原来的 f(x) = w^{T}x+b

变成了  f(x) = h(w^{T}+b) 

注:这里的h是一个函数如 logisitic sigoid function

从概率的角度看问题

假设标签服从均值为 f(x) = h(w^{T}+b) 的正态分布,则其极大似然估计等同于最小化:

对于回归问题(t是连续的),正态分布假设是自然的。对于分类问题(t是离散的),正态分布假设会很奇怪。对于二分类问题的数据分布有更适合的假设 ----> 伯努利分布

为什么伯努利分布更适合二分类问题呢?

二、Logistic回归

对于一个二分类任务,一个0-1单元足以表示一个标签

尝试学习条件概率(已经将b融入\theta,x为输入,t为标签)

P(t=1|x) = \frac{1}{1+exp(-\theta ^{T}x)}\overset{\Delta }{=}h(x)P(t=0|x) = 1-P(t=1|x)=1-h(x)

我们的目标是寻找一个\theta 值使得概率  P(t=1|x)=h(x)

当x属于类别1时,取很大的值如0.99999。

当x属于类别2时,取很小的值如0.00001 (因此 P(t=0|x) 取很大的值) 

我们实质上是在用另一个连续函数 h 来 “回归” 一个离散的函数 (x -> t)

交叉熵误差函数(CSE)

对于伯努利分布,我们最大化条件数据似然,得到等同于最小化:

得到新的损失函数(CSE)  E(\theta) = -\frac{1}{N}\sum_{n=1}^{N}(t^{(n)}ln(h(x^{(n)}))-(1-t^{(n)})ln(1-h(x^{(n)})))  

我们拿出其中一项:E(\theta )^{(n)} = -t^{(n)}ln(h(x^{(n)}))-(1-t^{(n)})ln(1-h(x^{(n)}))

可见,如果t=1, 则E = -ln(h)

如果t=0, 则E = -ln(1-h)

可见河里。 

训练和测试

二分类问题总结

三、SoftMax回归

我们上面讲解了一维和多维二分类,其实对于多分类,只是增加了函数个数作为维度。 

如上图,比如对于一个x,三个函数的结果为1.2、4.1、1.9,那么便可根据后续操作对其进行回归或者分类。这三个函数可能是线性的,也可能是非线性的,如logistic回归。

选择均方误差(MSE)作为损失函数

E = \frac{1}{2N}\sum_{n=1}^{N}\sum_{k=1}^{K}(f_{k}(x^{(n)})-t_{k}^{(n)})^{2}

对其使用最小二乘法/梯度下降法进行计算得出参数。 

标签类别的表示  

对于分类问题,即经过一个映射f 输出是一个离散的集合,我们有两种表示标签的方法:

对于第一种方法,类别之间有了远近的关系,因此我们一般使用第二种表示法。 每一个维度只有0-1两种结果。

我们只需看输出的某个点里哪一类代表的点更近即可进行分类。

概率角度:

我们上面提到,对于二分类任务,伯努利分布更加适合,因此我们引入了logistic回归。

而当面对多分类任务(K>2)时,我们选择 统筹 multinoulli/categorical 分布

回顾统筹 multinoulli/categorical 分布 

统筹分布学习:

 令 P(t_{k}=1|x) 采取以下形式:

P(t_{k}=1|x)=\frac{exp(\theta ^{(k)T}x)}{\sum_{j=1}^{K}exp(\theta ^{(j)T}x)}\overset{\Delta }{=}h(x)

        明显地,h_{k}(x)\epsilon (0,1) 并且 \sum_{k=1}^{K}h_{k}(x)=1

给定一个测试输入x,对每一个k=1,2,...,K,估计 P(t_{k}=1|x)

        - 当x属于第K个类时,取很大的值

        - 当x属于其他类时,取很小的值

由于 h_{k}(x) 是一个(连续的)概率,我们需要将它转换为符合分类的离散值

Softmax函数

P(t_{k}=1|x)=\frac{exp(\theta ^{(k)T}x)}{\sum_{j=1}^{K}exp(\theta ^{(j)T}x)}\overset{\Delta }{=}h(x)

下列函数被称为Softmax函数:

\psi (x_{i})=\frac{exp(z_{i})}{\sum_{j}^{}exp(z_{i})}=\frac{exp(z_{i})}{exp(z_{i})+\sum_{j\neq i}^{}exp(z_{i})}\, \epsilon \, (0,1)

如果 z_{i} > z_{j } 对于所有 j\neq i 都成立,则对于所有的 j\neq i 有 \psi (z_{i})>\psi (z_{j}) 但其值小于1。如果 z_{i} > z_{j } 对于所有 j\neq i 都成立,则对于所有的 j\neq i有  \psi (z_{i})\rightarrow 1,\: \: \psi (z_{j})\rightarrow 0

同样,我们最大条件似然得到交叉熵误差函数

E(\theta )=-\frac{1}{N}lnP(t^{(1)},...,t^{(N)})=-\frac{1}{N}\sum_{n=1}^{N}\sum_{k=1}^{K}t_{k}^{(n)}ln\frac{exp(\theta ^{(k)T}x^{(n)})}{\sum_{j=1}^{K}exp(\theta ^{(j)T}x^{(n)})}

注:

\sum_{k=1}^{K}\frac{exp(\theta ^{(k)T}x^{(n)})}{\sum_{j=1}^{K}exp(\theta ^{(j)T}x^{(n)})}   对于每个K,只有一个非0项(因为如(0,0,0,1,0,0))

计算梯度

向量-矩阵形式 

训练和测试

随机梯度下降

在整个训练集中,最小化成恨函数的计算开销非常大,我们通常将训练集划分为较小的子集或 minibatches 然后在单个 minibatches (xi,yi)上优化成本函数,并取平均值。

引入偏置bias

到目前为止,我们已经假设 h_{k}(x)=P(t_{k}=1|x)=\frac{exp( u_{k}^{(n)})}{\sum_{j=1}^{K}exp( u_{j}^{))n})}

其中 u_{k}^{(n)}=\theta ^{(k)T}x^{(n)}

有时偏置项可以引入到 u_{k}^{(n)} 中,参数成为{w,b}

u_{k}^{(n)}=w^{(k)T}x^{(n)}+b^{(k)}

得到

正则化通常只应用在w上

J(W,b)=E(W,b)+\lambda \begin{Vmatrix} W \end{Vmatrix}^{2}/2

Softmax过度参数化

有假设 P(t_{k}=1|x)=\frac{exp(\theta ^{(k)T}x)}{\sum_{j=1}^{K}exp(\theta ^{(j)T}x)} =\frac{exp((\theta ^{(k)}-\phi )^{T}x)}{\sum_{j=1}^{K}exp((\theta ^{(k)}-\phi )^{T}x)}

新的参数 \widehat{\theta }^{(k)}\equiv \theta ^{(k)}-\phi 会得到同样的预测结果

最小化交叉熵函数可以有无限多个解,因为:

E(\theta )=-\frac{1}{N}\sum_{n=1}^{N}\sum_{k=1}^{K}t_{k}^{(n)}ln\frac{exp(\theta ^{(k)T}x^{(n)})}{\sum_{j=1}^{K}exp(\theta ^{(j)T}x^{(n)})}=E(\theta -\phi )

其中 \phi = (\phi_{1},\phi_{2},\phi_{3}...)

四、Softmax回顾和logistic回顾的关系

Softmax回归中,令K=2

h_{1}(x)=P(t_{1}=1|x)=\frac{exp(\theta ^{(1)T}x)}{exp(\theta ^{(1)T}x)+exp(\theta ^{(2)T}x)} = g(\theta ^{(1)}-\theta ^{(2)})

h_{2}(x)=P(t_{1}=1|x)=\frac{exp(\theta ^{(2)T}x)}{exp(\theta ^{(1)T}x)+exp(\theta ^{(2)T}x)} = 1-g(\theta ^{(1)}-\theta ^{(2)})

其中h是softmax函数 g 是logistic函数 

如果定义一个新的变量 \widehat{\theta }\equiv \theta ^{(1)}- \theta ^{(2)} 那么就和logistic回归是相同的

五、总结

一般意义的交叉熵


点击全文阅读


本文链接:http://zhangshiyu.com/post/43814.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1