类别不平衡(class-imbalance)

当不同类别的训练样本数目差别很大,则会对学习过程造成困扰。如有998个反例,但正例只有2个。

从线性分类器的角度讨论,用\(y=w^Tx+b\)对新样本\(x\)进行分类时,事实上是在用预测出的\(y\)值与一个阈值进行比较。如通过在\(y>0.5\)时判别为正例,否则为反例。几率\(\frac{y}{1-y}\)则反映了正例可能性与反例可能性之比值。阈值设为0.5表明分类器认为真实正、反例可能性相同。即
\[if\ \frac{y}{1-y}>1\ then\ is\ position\]
当训练集中正、反例数目不同时,令\(m^{+}\)表示正例数目,\(m^-\)表示反例数目。假设训练集是真实样本总体的无偏采样,分类器决策规则为:
\[if\ \frac{y}{1-y}>\frac{m^+}{m^-}\ then\ is\ position\]
需对其预测值进行再缩放(rescaling):
\[\frac{y'}{1-y'}=\frac{y}{1-y}\times \frac{m^-}{m^+}\]
___

Softmax回归模型

是logistic回归模型在多分类问题伤的推广。

适用场景:MNIST手写数字分类。

对于给定的测试输入\(x\),用假设函数针对每一个类别\(j\)估算出概率值\(p(y=j|x)\),即估计\(x\)的每一种分类结果出现的概率。因此,假设函数为:
\[h_\theta(x^{(i)})=\begin{bmatrix}
p(y^{(i)}=1|x^{(i)};\theta)\\
p(y^{(i)}=2|x^{(i)};\theta)\\
\vdots \\
p(y^{(i)}=k|x^{(i)};\theta)
\end{bmatrix}=\frac{1}{\sum_{j=1}^k}\begin{bmatrix}
e^{\theta_1^Tx^{(i)}}\\
e^{\theta_2^Tx^{(i)}}\\
\vdots\\
e^{\theta_k^Tx^{(i)}}
\end{bmatrix}\]

在Softmax回归中,将\(x\)分类为类别\(j\)的概率为:
\[p(y^{(i)}=j|x^{(i)};\theta)=\frac{e^{\theta_j^Tx^{(i)}}}{\sum_{l=1}^ke^{\theta_l^Tx^{(i)}}}\]

其代价函数为:
\[J(\theta)=-\frac{1}{m}[\sum_{i=1}^m\sum_{j=0}^kI\{y^{(i)}=j\}log\frac{e^{\theta_j^Tx^{(i)}}}{\sum_{l=1}^ke^{\theta_l^Tx^{(i)}}}]\]
其中,\(I\{\cdot\}\)是示性函数。

对于\(J(\theta)\)的最小化问题,使用迭代的优化算法(梯度下降法、L-BFGS)。经求导,其梯度为:
\[\triangledown _{\theta_j}J(\theta)=-\frac{1}{m}\sum_{i=1}^m[x^{(i)}(I\{y^{(i)}=j\}-p(y^{(i)}=j|x^{(i)};\theta))]\]
其中,\(\triangledown _{\theta_j}J(\theta)\)本身是一个向量,它的第\(l\)个元素\(\frac{\partial J(\theta)}{\partial \theta_{jl}}\)是\(J(\theta)\)对\(\theta_j\)的第\(l\)个分量的偏导数。

每一次迭代,需进行如下的更新:
\[\theta_j:=\theta_j-\alpha \bigtriangledown _{\theta_j}J(\theta),\ \ \ j=1,\cdots,k\]
___

引入权重衰减(weight decay)项

衰减项会惩罚过大的参数值,代价函数为:
\[J(\theta)=-\frac{1}{m}[\sum_{i=1}^m\sum_{j=0}^kI\{y^{(i)}=j\}log\frac{e^{\theta_j^Tx^{(i)}}}{\sum_{l=1}^ke^{\theta_l^Tx^{(i)}}}]+\frac{\lambda}{2}\sum_{i=1}^k\sum_{j=0}^n\theta_{ij}^2\]
其中,\(\lambda>0\),此时代价函数变成严格的凸函数。使用优化算法,得到新函数\(J(\theta)\)的导数:
\[\triangledown _{\theta_j}J(\theta)=-\frac{1}{m}\sum_{i=1}^m[x^{(i)}(I\{y^{(i)}=j\}-p(y^{(i)}=j|x^{(i)};\theta))]+\lambda \theta_j\]
通过最小化\(J(\theta)\),就能实现一个可用Softmax回归模型。


Softmax回归 VS. k个二元分类器

如开发一个音乐分类的应用,需对\(k\)种类型的音乐进行识别。根据类别之间是否互斥来进行选择。

  • 如四个类别的音乐分别为:古典音乐、乡村音乐、摇滚乐、爵士乐。

此时,每个训练样本只会被打上一个标签,应使用类别数\(k=4\)的Softmax回归。

  • 如四个类别的音乐分别为:人声音乐、舞曲、影视原声、流行歌曲。

此时,类别之间不是互斥的。使用4个二分类的logistic回归分类更为合适。

类别不平衡问题和Softmax回归的更多相关文章

  1. 机器学习之线性回归---logistic回归---softmax回归

    在本节中,我们介绍Softmax回归模型,该模型是logistic回归模型在多分类问题上的推广,在多分类问题中,类标签 可以取两个以上的值. Softmax回归模型对于诸如MNIST手写数字分类等问题 ...

  2. 《转》Logistic回归 多分类问题的推广算法--Softmax回归

    转自http://ufldl.stanford.edu/wiki/index.php/Softmax%E5%9B%9E%E5%BD%92 简介 在本节中,我们介绍Softmax回归模型,该模型是log ...

  3. 从Softmax回归到Logistic回归

    Softmax回归是Logistic回归在多分类问题上的推广,是有监督的. 回归的假设函数(hypothesis function)为,我们将训练模型参数,使其能够最小化代价函数: 在Softmax回 ...

  4. Softmax回归 softMax回归与logistic回归的关系

    简介 在本节中,我们介绍Softmax回归模型,该模型是logistic回归模型在多分类问题上的推广,在多分类问题中,类标签  可以取两个以上的值. Softmax回归模型对于诸如MNIST手写数字分 ...

  5. Softmax回归——logistic回归模型在多分类问题上的推广

    Softmax回归 Contents [hide] 1 简介 2 代价函数 3 Softmax回归模型参数化的特点 4 权重衰减 5 Softmax回归与Logistic 回归的关系 6 Softma ...

  6. 逻辑回归,多分类推广算法softmax回归中

    转自http://ufldl.stanford.edu/wiki/index.php/Softmax%E5%9B%9E%E5%BD%92 简介 在本节中,我们介绍Softmax回归模型,该模型是log ...

  7. 机器学习——softmax回归

    softmax回归 前面介绍了线性回归模型适用于输出为连续值的情景.在另一类情景中,模型输出可以是一个像图像类别这样的离散值.对于这样的离散值预测问题,我们可以使用诸如 softmax 回归在内的分类 ...

  8. Logistic回归(逻辑回归)和softmax回归

    一.Logistic回归 Logistic回归(Logistic Regression,简称LR)是一种常用的处理二类分类问题的模型. 在二类分类问题中,把因变量y可能属于的两个类分别称为负类和正类, ...

  9. Softmax回归(Softmax Regression)

    转载请注明出处:http://www.cnblogs.com/BYRans/ 多分类问题 在一个多分类问题中,因变量y有k个取值,即.例如在邮件分类问题中,我们要把邮件分为垃圾邮件.个人邮件.工作邮件 ...

随机推荐

  1. 深度学习入门实战(一):像Prisma一样算法生成梵高风格画像

    本文由云+社区发表 作者:董超 导语:现在人工智能是个大热点,而人工智能离不开机器学习,机器学习中深度学习又是比较热门的方向,本系列文章就从实战出发,介绍下如何使用MXnet进行深度学习~ 既然是实战 ...

  2. Zabbix监控原理及架构

    什么是Zabbix? Zabbix是一个用于网络,操作系统和应用程序的开源监控软件,它旨在监视和跟踪各种网络服务,服务器和其他网络硬件的状态. 为什么需要对各类系统进行监控? 在系统构建时的正常流程中 ...

  3. 用C#写的一个OA类的APP, ios、Android都能跑,有源代码

    这是一个用C#写的OA类APP,功能包含请假.报销.部门管理.签到.IM.文件上传等功能 话不多说,先看视频 视频地址:http://v.youku.com/v_show/id_XMzUwMjQ1Mz ...

  4. (摘)Entity Framework Core 2.1带来更好的SQL语句生成方案

    微软发布了Entity Framework Core2.1,为EF开发者带来了很多期待已久的特性.EF Core 2.1增加了对SQL GROUP BY的支持,支持延迟加载和数据种子等. EF Cor ...

  5. 15 , CSS 背景与列表

    1.CSS 中背景的使用 2.CSS 中列表的使用 15.1 CSS 中背景的使用 属性名称 属性值 说明 background-attachment scroll 设置背景图像会随视窗滚动 条的移动 ...

  6. 使用 CODING 进行 Spring Boot 项目的集成

    本文作者:CODING 用户 - 高文 持续集成 (Continuous integration) 是一种软件开发实践,即团队开发成员经常集成他们的工作,通过每个成员每天至少集成一次,也就意味着每天可 ...

  7. 虚拟机下centos7.x简易命令大全与试玩体验

    OS: liunxversion: centos7.xdate: 2019-01-18 1. cd  /                               : 进入服务器根目录2. cd . ...

  8. Android 为TV端助力

    记录两次事情: 第一个给view添加动画效果,需要保证view是可以获取焦点的 第二个给listview,GridView设置选择器 listselector时,要保证他的子item无背景,否则选择器 ...

  9. virtual table for class

    虚函数表 说起虚函数,相信你我都可以自然而然的想到“多态”,因为多态的实现就依赖于虚函数的继承和重写(覆盖).那么,class又或者是object是如何来管理虚函数的呢?你我又会想到虚函数表. 虚函数 ...

  10. 2019Java查漏补缺(二)

    查看了公众号:java之间的整理的集和文章,文章地址 总结和搜索了一下网络知识,总结了一下: 1.String 的hashcode()方法 2.switch总结: 3.如何实现克隆 1.String ...