前言

分类从结果的数量上可以简单的划分为:

二分类(Binary Classification)

多分类(Multinomial Classification)。

其中二分类是最常见且使用最多的分类场景,解决二分类的算法有很多,比如:

基本的KNN、贝叶斯、SVM

Online Ranking中用来做二分类的包括FM、FFM、GBDT、LR、XGBoost等

多分类中比如:

改进版的KNN、改进版的贝叶斯、改进版的SVM等

多类别的逻辑回归

啰嗦了这么多,其实就是为了说这个多分类的逻辑回归。

简介

在统计学里,多类别逻辑回归是一个将逻辑回归一般化成多类别问题得到的分类方法。用更加专业的话来说,它就是一个用来预测一个具有类别分布的因变量不同可能结果的概率的模型。

另外,多类别逻辑回归也有很多其它的名字,包括 polytomous LR,multiclass LR,softmax regression,multinomial logit,maximum entropy classifier,conditional maximum entropy model 。

在多类别逻辑回归中,因变量是根据一系列自变量(就是我们所说的特征、观测变量)来预测得到的。具体来说,就是通过将自变量和相应参数进行线性组合之后,使用某种概率模型来计算预测因变量中得到某个结果的概率,而自变量对应的参数是通过训练数据计算得到的,有时我们将这些参数成为回归系数。

模型分析

1、线性分类器

多分类逻辑回归使用的是跟线性回归一致的线性预测函数,其基本表达式如下:

其中i=[1,n]这里的k是一个回归系数,它表示的是第n个观测变量/特征对地n个结果的影响有多大。这里将1看做x0,我们可以得到上述公式的向量化形式:

这里kn是一个回归系数向量,表示的是观测向量x i 表示的观测数据对结果k的影响度,或者叫重要性。

2、逻辑回归

多分类逻辑回归是基于逻辑回归(Logistic Regression)来做的,逻辑回归的基本表示如下:

其中y=1时,f(x)的表达式为:

则y=0时,f(x)的表达式为:

3、k-1个独立二元逻辑回归到多分类逻辑回归的扩展

实现多类别逻辑回归模型最简单的方法是,对于所有K个可能的分类结果,我们运行K−1个独立二元逻辑回归模型,在运行过程中把其中一个类别看成是主类别,然后将其它K−1个类别和我们所选择的主类别分别进行回归。通过这样的方式,如果选择结果K作为主类别的话,我们可以得到以下公式。

其推导过程如下:

这里有个假设的前提:y=K-1和y=K的概率和为1,即:

将逻辑回归的表达式带入可得:

公式两边同时求ln,可得:

在公式(6)中已经引入了所有可能的回归系数集合,对公式(6)两边进行指数化处理,能够得到以下公式:

因为所有概率的和为1,所以可以得到:

这样我们就能计算出所有给定未预测样本情况下某个结果的概率,如下:

回归参数的估计

上面篇幅所涉及到的每一个权重向量 kn 中的未知系数我们可以通过最大后验估计(MAP)来计算,同时也可以使用其它方法来计算,例如一些基于梯度的算法。

二元逻辑回归对数模型到多分类逻辑回归的扩展

在上文中提到了由K-1个独立二元回归到多分类逻辑回归的扩展,这里介绍另外一种多分类逻辑回归的扩展——使用线性预测器和额外的归一化因子(一个配分函数的对数形式)来对某个结果的概率的对数进行建模。

这里用一个额外项 -ln(Z) 来确保所有概率能够形成一个概率分布,从而使得这些概率的和等于1。

然后将等式两边的进行指数化,我们可以得到以下公式:

由于上面说到,所有概率之和等于1,因此我们可以得到 Z 的推导公式:

通过上边的公式进行计算,可得:

综合以上的公式,我们最后可以得到每一个结果对应的概率公式:

仔细观察的话,我们可以发现,所有的概率都具有以下形式:

我们可以把具有以下形式的函数成为softMax函数:

这个函数能够将 x 1 ,...,x n 之间的差别放大,当存在一个 x k 比所有值中的最大值要小很多的话,那么它对应的softMax函数值就会区域0。相反,当 x k 是最大值的时候,除非第二大的值跟它很接近,否则的话softMax会趋于1。所以softmax函数可以构造出一个像是平滑函数一样的加权平均函数。

所以,我们可以把上面的概率公式写成如下softMax函数的形式:

至此,多分类的逻辑回归形式以及介绍完了,后续会进行最大似然函数的学习,敬请期待!

扫描关注【数据与算法联盟】,后台回复【 笔记 】,获得吴恩达老师的机器学习和深度学习的课程笔记。

其他推荐 :

逻辑回归二分类算法python_多分类逻辑回归 (Multinomial Logistic Regression)相关推荐

  1. 时间序列分类算法_时间序列分类算法简介

    时间序列分类算法 A common task for time series machine learning is classification. Given a set of time serie ...

  2. 逻辑回归二分类算法python_机器学习第七周--二分类算法逻辑回归

    一.Logistic分类算法 逻辑回归(Logistic Regression, LR)是传统机器学习中的一种分类模型,由于算法的简单和高效,解释性好以及容易扩展等优点,被广泛应用于点击率预估(CTR ...

  3. 实验二kNN算法之1NN分类

    k-NN处理分类问题,即分类:多数投票原则,先将数据集处理成OneHot矩阵,计算测试文本与每一个训练文本的距离,如果k = 1,则找到最小的距离,则测试文本的分类对应于该训练文本的分类.在用C++实 ...

  4. 桶分类 算法_桶分类算法

    桶分类 算法 桶分类 (Bucket Sort) Bucket sort is a sorting technique in which array is partitioned into the b ...

  5. Scikit-learn_分类算法_支持向量机分类

    一.描述 支持向量机的基本原理是找到一个将所有数据样本分隔成两部分的超平面,使所有样本到这个超平面的累计距离最短. 超平面是指n维线性空间中维度为n-1的子空间.例如,在二维平面中,一维的直线可以将二 ...

  6. java 鸢尾花分类算法_鸢尾花分类算法实现 java

    使用的贝叶斯分类算法实现的,编程语言为java.是我本学期修的数据库与数据挖掘的课程的期末课程作业,算法本身不难,思路理清楚了很简单. 先看看鸢尾花(Iris)数据集(下图为数据集的部分截图),鸢尾花 ...

  7. 神经网络属于分类算法吗,神经网络分类特点区别

    神经网络算法的三大类分别是? 神经网络算法的三大类分别是:1.前馈神经网络:这是实际应用中最常见的神经网络类型.第一层是输入,最后一层是输出.如果有多个隐藏层,我们称之为"深度"神 ...

  8. 机器学习分类算法_机器学习分类算法

    人们曾在自身的神经元得到启发,将机器学习中给出的特征输入与权重之积作为输出与阈值作比较,得到0或者1的输出. 这就是我们感知器的实现原理 感知器在实现过程中的步骤如下: ①将权值初始化称为一个很小的向 ...

  9. 编程实践--决策树分类算法--隐形眼镜材质分类

    第二个自己亲手敲出来的机器学习算法~ 任务描述: 数据集来自:<机器学习实战> 手写数字识别任务 决策树算法 思路: (1)计算信息增益,得到每一步的最好特征. (2)树结构. 数据集及代 ...

最新文章

  1. laravel php跨域请求,laravel开发中跨域的解决方案
  2. 随机邮箱_万豪随机发50美刀的礼券,看看你的邮箱有没有!英国航空BA里程缩水在即...
  3. 【做题记录】AtCoder AGC做题记录
  4. CodeForces - 1480D1 Painting the Array I(贪心)
  5. cassandra随机获取数据,Cassandra适合写入和少读,HBASE随机读取写入
  6. velocity模板的语法简要汇总
  7. Apache Camel 3只有2个月的路程
  8. 计算机报名忻州考点,2020山西省考忻州考区考点安排
  9. 大疆Onboard SDK开发中连接飞控后串口设置与开机自启动
  10. mysql到底可不可以使用join_《Mysql 到底可不可以使用 Join ?》
  11. CCF NOI100002 取数游戏
  12. Axis2联接WCF(比较完整的版本)
  13. 零基础计算机编程入门自学需要什么条件
  14. Linux命令注销电脑,Linux基本命令-注销、关机、重启
  15. 电子计算机一直在响,电脑硬盘一直响个不停怎么解决
  16. 安踏的搜索引擎营销_案例:从安踏看IP跨界营销的内在逻辑
  17. java ftp 上传失败,java ftp上传时,代码不报错,也上传不过去文件
  18. 3 非齐次线性微分方程与无量纲化
  19. 写给小白:AWS,开启新世界大门的钥匙
  20. CS294-112 深度强化学习 秋季学期(伯克利)NO.9 Learning policies by imitating optimal controllers...

热门文章

  1. 网速测试软件 mac,Internet Speed Test v3.1 Mac电脑网速测试工具
  2. Cert Manager 申请SSL证书流程及相关概念-二
  3. hls中ts流格式简介
  4. R语言read.csv乱码问题UTF-8 BOM X.U.FEFF
  5. 计算机项目化教学,计算机教学中项目化教学应用计算机教学论文计算机论文
  6. 虚拟机VMware的下载与安装教程
  7. java corn 定时任务调度,每分钟执行一次,每半个小时执行一次
  8. 自然语言处理——word2vec项目实战—— Word2VEec理论基础
  9. YUV444,YUV422P,YUVY,YUYV,UYVY,NV21,NV12
  10. 超市计算机主管总结报告,超市电脑员工作总结.doc