多类逻辑回归 (Multinomial Logistic Regression)

您所在的位置:网站首页 mnl模型是什么 多类逻辑回归 (Multinomial Logistic Regression)

多类逻辑回归 (Multinomial Logistic Regression)

#多类逻辑回归 (Multinomial Logistic Regression)| 来源: 网络整理| 查看: 265

多类逻辑回归 (Multinomial Logistic Regression) 基本概念解释与数学背景知识 回归分析(regression analysis)

在统计学中,回归分析(regression analysis)指的是确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法。

有各种各样的回归技术用于预测。这些技术主要有三个度量(自变量的个数,因变量的类型以及回归线的形状)

在大数据分析中,回归分析是一种预测性的建模技术,它研究的是因变量(目标)和自变量(预测器)之间的关系。这种技术通常用于预测分析,时间序列模型以及发现变量之间的因果关系。 //例如,司机的鲁莽驾驶与道路交通事故数量之间的关系,最好的研究方法就是回归。

网上资料: 概率论知识

随机变量

随机变量在不同的条件下由于偶然因素影响,其可能取各种随机变量不同的值,具有不确定性和随机性,但这些取值落在某个范围的概率是一定的,此种变量称为随机变量。随机变量可以是离散型的,也可以是连续型的。

随机变量分为离散型随机变量与连续型随机变量两种

激活函数

在计算网络中, 一个节点的激活函数定义了该节点在给定的输入或输入的集合下的输出。标准的计算机芯片电路可以看作是根据输入得到开(1)或关(0)输出的数字电路激活函数。这与神经网络中的线性感知机的行为类似。然而,只有非线性激活函数才允许这种网络仅使用少量节点来计算非平凡问题。 在人工神经网络中,这个功能也被称为传递函数。

为什么需要激活函数 激活函数是用来加入非线性因素的,解决线性模型所不能解决的问题。

形象解释

常用激活函数(激励函数)理解与总结

Sigmoid函数 (Logistic函数)

其实logistic函数也就是经常说的sigmoid函数,它的几何形状也就是一条sigmoid曲线(S型曲线)。A logistic function or logistic curve is a common “S” shape (sigmoid curve). 也就是说,sigmoid把一个值映射到0-1之间。

Softmax函数

在数学,尤其是概率论和相关领域中,Softmax函数,或称归一化指数函数,是逻辑函数的一种推广。它能将一个含任意实数的K维的向量z的“压缩”到另一个K维实向量σ(z) 中,使得每一个元素的范围都在(0,1)之间,并且所有元素的和为1。

![ # 多类逻辑回归 (Multinomial Logistic Regression)

基本概念解释与数学背景知识 回归分析(regression analysis)

在统计学中,回归分析(regression analysis)指的是确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法。

有各种各样的回归技术用于预测。这些技术主要有三个度量(自变量的个数,因变量的类型以及回归线的形状)

在大数据分析中,回归分析是一种预测性的建模技术,它研究的是因变量(目标)和自变量(预测器)之间的关系。这种技术通常用于预测分析,时间序列模型以及发现变量之间的因果关系。 //例如,司机的鲁莽驾驶与道路交通事故数量之间的关系,最好的研究方法就是回归。

网上资料: 概率论知识

随机变量

随机变量在不同的条件下由于偶然因素影响,其可能取各种随机变量不同的值,具有不确定性和随机性,但这些取值落在某个范围的概率是一定的,此种变量称为随机变量。随机变量可以是离散型的,也可以是连续型的。

随机变量分为离散型随机变量与连续型随机变量两种

激活函数

在计算网络中, 一个节点的激活函数定义了该节点在给定的输入或输入的集合下的输出。标准的计算机芯片电路可以看作是根据输入得到开(1)或关(0)输出的数字电路激活函数。这与神经网络中的线性感知机的行为类似。然而,只有非线性激活函数才允许这种网络仅使用少量节点来计算非平凡问题。 在人工神经网络中,这个功能也被称为传递函数。

为什么需要激活函数 激活函数是用来加入非线性因素的,解决线性模型所不能解决的问题。

形象解释

常用激活函数(激励函数)理解与总结

Sigmoid函数 (Logistic函数)

其实logistic函数也就是经常说的sigmoid函数,它的几何形状也就是一条sigmoid曲线(S型曲线)。A logistic function or logistic curve is a common “S” shape (sigmoid curve). 也就是说,sigmoid把一个值映射到0-1之间。

Softmax函数

在数学,尤其是概率论和相关领域中,Softmax函数,或称归一化指数函数,是逻辑函数的一种推广。它能将一个含任意实数的K维的向量z的“压缩”到另一个K维实向量σ(z) 中,使得每一个元素的范围都在(0,1)之间,并且所有元素的和为1。

image

在多项逻辑回归和线性判别分析中,函数的输入是从K个不同的线性函数得到的结果,而样本向量 x 属于第 j 个分类的概率为

image

这可以被视作K个线性函数x→xTw1,...,→xTwKSoftmax函数的复合(xTwxw)

在逻辑回归中为什么选择Sigmoid函数而不是其他函数作为激活函数?

Sigmoid函数和正态分布函数的积分形式形状非常类似。但计算正态分布的积分函数,计算代价非常大,而Sigmoid的形式跟它相似,却由于其公式简单,计算量非常的小,因此被选为替代函数

大多数情况下,并没有办法知道未知事件的概率分布形式,而在无法得知的情况下,正态分布是一个最好的选择,因为它是所有概率分布中最可能的表现形式。

参看网址 Sigmoid函数总结

逻辑回归

随机梯度下降法(SGD)

梯度下降法(英语:Gradient descent)是一个一阶最优化算法,通常也称为最速下降法。 要使用梯度下降法找到一个函数的局部极小值,必须向函数上当前点对应梯度(或者是近似梯度)的反方向的规定步长距离点进行迭代搜索。如果相反地向梯度正方向迭代进行搜索,则会接近函数的局部极大值点;这个过程则被称为梯度上升法。

这里的E被称作“误差函数”。M表示错误分类的集合。为了最小误差函数,人们引入了梯度下降,也叫最速下降法,它是一种使用梯度递减方式寻找局部最小值的优化算法。 这里的n是学习速率,它是一个调整学习速率的通用算法优化参数、k表示算法中的步骤数。一般而言,学习速率(或简称“学习率”)越小,算法越容易取得局部最小值,因为这时模型无法覆盖旧的值。如果学习率很大,这种情况下,模型的参数无法收敛,因为计算的结果波动太大。因此,在实际操作中,学习率在最开始时被设置成一个比较大的值,随着每个迭代,不断地变小另一方面,使用感知器时,如果数据是可以线性划分,算法的收敛就与学习率没有太大关系了,因此,这种情况下学习率被设置为1。 //P37

损失函数(loss function)

损失函数(loss function)或代价函数(cost function)是将随机事件或其有关随机变量的取值映射为非负实数以表示该随机事件的“风险”或“损失”的函数。在应用中,损失函数通常作为学习准则与优化问题相联系,即通过最小化损失函数求解和评估模型。例如在统计学和机器学习中被用于模型的参数估计(parameteric estimation)

损失函数例子

某个工厂人员的产出,以每小时多少元来计算,而损失函数所显示的,是产出以室内通风条件而改变的情形。厂内工作的每个人,都有自己的损失函数。为了简化说明,假设每个人的损失函数均为一条抛物线,其底部一点代表产出值最大时的通风条件,把所有人员的损失函数进行叠加,公司整体的损失函数也必然是一条抛物线。如果通风条件偏离这个最佳水准,就会有额外损失发生。该抛物线与横轴相切时,切点的左右各有一小段与横轴几近重合。也就是说,有最适点偏离一小短距离,损失小到可以忽略不计。因此,当室内通风条件稍稍偏离均衡点,发生的损失可以忽略不计。但是远离均衡点时,总是有人必须支付这损失。如果我们能够导出有具体数字的损失函数,我们就可以计算出最优均衡点,在均衡点中最适合的通风条件如何,以及达到要求的费用支出是多少

机器学习的损失函数是人为设计的,用于评判模型好坏(对未知的预测能力)的一个标准、尺子,就像去评判任何一件事物一样,从不同角度看往往存在不同的评判标准,不同的标准往往各有优劣,并不冲突。唯一需要注意的就是最好选一个容易测量的标准,不然就难以评判了。

其次,既然不同标准并不冲突,那使用最小二乘作为逻辑回归的损失函数当然是可以,那这里为什么不用最小二乘而用最大似然呢?

常见的损失函数,负对数似然函数。

逻辑回归的损失函数不是定义出来的,而是根据最大似然估计推导而来的。

如你所见,这个公式中,需要进行优化的参数不仅是网络权重w,还包括偏差b,现在需要做的是最大化似然函数,不过这种计算量让人担忧,因为函数存在乘法计算。为了简化计算,我们对似然函数取对数除此之外,我们对符号进行了替换,目的是最小化似然函数的负对数结果。由于对数函数是单调递增的,所以原函数的关 系不会发生变化

准确率表示所有数据中正确分类的数据所占比率,精确度表示的是预测为正例的 所有数据中实际为正例的数据所占的比率,召回率是预测为正例的数据占实际正例

//P43

常用的几种损失函数: 损失函数 举例 定义 0-1损失 用于分类,例如感知机 [图片上传失败...(image-86b252-1557936442193)] 预测值和目标值不相等为1,否则为0 绝对值损失 [图片上传失败...(image-4f418f-1557936442193)] 平方损失 Linear Regression [图片上传失败...(image-e776a9-1557936442193)] 使得所有点到回归直线的距离和最小 对数损失 Logistic Regression [图片上传失败...(image-1880ef-1557936442193)] 常用于模型输出为每一类概率的分类器 Hinge损失 SVM [图片上传失败...(image-2ad5c8-1557936442193)] 用于最大间隔分类 指数损失 AdaBoost [图片上传失败...(image-ce3dc5-1557936442193)]

Logistic Regression 为什么用极大似然函数

混淆矩阵

混淆矩阵也称误差矩阵,是表示精度评价的一种标准格式,用n行n列的矩阵形式来表示。具体评价指标有总体精度、制图精度、用户精度等,这些精度指标从不同的侧面反映了图像分类的精度。 [1] 在人工智能中,混淆矩阵(confusion matrix)是可视化工具,特别用于监督学习,在无监督学习一般叫做匹配矩阵。在图像精度评价中,主要用于比较分类结果和实际测得值,可以把分类结果的精度显示在一个混淆矩阵里面。混淆矩阵是通过将每个实测像元的位置和分类与分类图像中的相应位置和分类相比较计算的。

简单说来,混淆矩阵就是一个N x N的表格,用来展示一个N元分类器的预测结果。

混淆矩阵是对分类模型进行性能评价的重要工具。

接下来,我们需要使用测试数据评判该模型的预测效果。这部分内容比较复杂,可能需要更进一步解释才可以理解。通常而言,机器学习方法效果的判断指标是基于混矩阵的准确率(Accuracy)精确度(Precision)以及召回率(Recall)。混淆矩阵对矩阵中预测正确的类和预测错 //P41

主要解决问题:分类问题---二分类问题

如果需要解决多分类问题--- softmax 回归

逻辑回归的应用背景,什么是分类?

分类是监督学习的一个核心问题,在监督学习中,当输出变量Y取有限个离散值时,预测问题便成为分类问题。这时,输入变量X可以是离散的,也可以是连续的。监督学习从数据中学习一个分类模型或分类决策函数,称为分类器。分类器对新的输入进行输出的预测,称为分类。

与线性回归的区别:线性回归预测输出的是(-∞,+∞)

而逻辑回归输出的是{0,1},这里面0我们称之为负例,1称之为正例。

如果分类器用的是回归模型,并且已经训练好了一个模型,可以设置一个阈值:

如果 image

,则预测 image ,既y属于正例

如果 image

,则预测 image ,既y属于负例

但是对于二分类问题来说,线性回归模型的输出值 image

可以大于1也可以小于0,所以我们需要一个函数,将输出转换到0和1之间。这里我们引入一个函数,sigmoid函数

image

这里g代表的就是这个函数:

image

图像如下:

image

这个函数的导数: image

2. 逻辑回归

逻辑回归的数学表达模型:

image

其中 image

是参数,输出的直观解释:

image

对于给定的输入 image

, image 时估计的概率

例如:对于肿瘤问题(恶性/良性),输入变量为肿瘤的大小 image

,表示的是病人的肿瘤有70%的可能是恶性的。

较正式的说法可以如下表示:

给定输入 image

,参数化的 image (参数空间), image 时的概率。数学上可以如下表示: image

2.1 损失函数

这里我们选择对数似然损失函数作为逻辑回归的损失函数

损失函数为:

image

前面的 image

可以去掉,化简为:

image

注意中括号中的公式正是对逻辑回归进行最大似然估计中的最大似然函数

image

将两个合在一起

image

有了这个我们可以求出逻辑回归的最大似然函数

image

对数似然函数为:

image

对数似然取最大值等价于损失函数取最小值

2.2 梯度下降法

算法流程:

(1)初始化 image

(随机初始化)

(2)进行迭代,新的 image

能够使得 image 更小

(3)如果 image

能够继续减小,返回(2)

image

其中, image

称为学习率或步长

这其中最主要的就是求解 image

的梯度,即梯度方向

image

注意,这个算法和线性回归里的梯度下降算法几乎是一致的,除了 image

的表示不同。

2.3 为什么损失函数不用最小二乘

也就是损失函数为什么不应平方损失而是选择用交叉熵。原因是平方损失在训练的时候会出现一定的问题。当预测值与真实值之间的差距过大时,这时候参数的调整就需要变大,但是如果使用平方损失,训练的时候可能看到的情况是预测值和真实值之间的差距越大,参数调整的越小,训练的越慢。

如果使用平方损失作为损失函数,损失函数如下

image

其中 image

表示真实值, image 表示预测值。

对参数求梯度

image

由此可以看出,参数 image

除了跟真实值与预测值之间的差距有关外,还和激活函数的该点的导数有关,跟激活函数的梯度成正比,常见的激活函数是 image

函数,当这个点越靠近上边或者下边的时候梯度会变得非常小,这样会导致当真实值与预测值差距很大时,参数变化的非常缓慢,与我们的期望不符合。

而使用交叉熵损失在更新参数的时候,当误差越大时,梯度也就越大,参数调整也能更大更快。

似然函数 定义

统计学中,似然函数是一种关于统计模型参数的函数。给定输出x时,关于参数θ的似然函数L(θ|x)(在数值上)等于给定参数θ后变量X的概率:L(θ|x)=P(X=x|θ)。 似然函数在推断统计学(Statistical inference)中扮演重要角色,尤其是在参数估计方法中。在教科书中,似然常常被用作“概率”的同义词。但是在统计学中,二者有截然不同的用法。概率描述了已知参数时的随机变量的输出结果;似然则用来描述已知随机变量输出结果时,未知参数的可能取值。例如,对于“一枚正反对称的硬币上抛十次”这种事件,我们可以问硬币落地时十次都是正面向上的“概率”是多少;而对于“一枚硬币上抛十次”,我们则可以问,这枚硬币正反面对称的“似然”程度是多少。

具体例子

数学分析步骤与机器学习算法比较与理解 确定变量 ——大量数据

明确预测的具体目标,也就确定了因变量。如预测具体目标是下一年度的销售量,那么销售量Y就是因变量。通过市场调查和查阅资料,寻找与预测目标的相关影响因素,即自变量,并从中选出主要的影响因素。

建立预测模型 ——选择哪个算法或者类型

依据自变量和因变量的历史统计资料进行计算,在此基础上建立回归分析方程,即回归分析预测模型。

进行相关分析 ——选择激活函数

回归分析是对具有因果关系的影响因素(自变量)和预测对象(因变量)所进行的数理统计分析处理。只有当自变量与因变量确实存在某种关系时,建立的回归方程才有意义。因此,作为自变量的因素与作为因变量的预测对象是否有关,相关程度如何,以及判断这种相关程度的把握性多大,就成为进行回归分析必须要解决的问题。进行相关分析,一般要求出相关关系,以相关系数的大小来判断自变量和因变量的相关的程度。

计算预测误差 ——由激活函数推导出似然函数|最大化似然函数,推导出误差函数|对计算机模型参数w权重和偏差b的梯度进行优化-随机梯度下降算SGD

回归预测模型是否可用于实际预测,取决于对回归预测模型的检验和对预测误差的计算。回归方程只有通过各种检验,且预测误差较小,才能将回归方程作为预测模型进行预测。

确定预测值 ——对模型进行评估(工具:混淆矩阵),找出精确率、召回率

利用回归预测模型计算预测值,并对预测值进行综合分析,确定最后的预测值。 ](https://upload-images.jianshu.io/upload_images/1531909-dce21c9503ddee4d.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/378/format/webp)

在多项逻辑回归和线性判别分析中,函数的输入是从K个不同的线性函数得到的结果,而样本向量 x 属于第 j 个分类的概率为

image

这可以被视作K个线性函数x→xTw1,...,→xTwKSoftmax函数的复合(xTwxw)

在逻辑回归中为什么选择Sigmoid函数而不是其他函数作为激活函数?

Sigmoid函数和正态分布函数的积分形式形状非常类似。但计算正态分布的积分函数,计算代价非常大,而Sigmoid的形式跟它相似,却由于其公式简单,计算量非常的小,因此被选为替代函数

大多数情况下,并没有办法知道未知事件的概率分布形式,而在无法得知的情况下,正态分布是一个最好的选择,因为它是所有概率分布中最可能的表现形式。

参看网址 Sigmoid函数总结

逻辑回归

随机梯度下降法(SGD)

梯度下降法(英语:Gradient descent)是一个一阶最优化算法,通常也称为最速下降法。 要使用梯度下降法找到一个函数的局部极小值,必须向函数上当前点对应梯度(或者是近似梯度)的反方向的规定步长距离点进行迭代搜索。如果相反地向梯度正方向迭代进行搜索,则会接近函数的局部极大值点;这个过程则被称为梯度上升法。

这里的E被称作“误差函数”。M表示错误分类的集合。为了最小误差函数,人们引入了梯度下降,也叫最速下降法,它是一种使用梯度递减方式寻找局部最小值的优化算法。 这里的n是学习速率,它是一个调整学习速率的通用算法优化参数、k表示算法中的步骤数。一般而言,学习速率(或简称“学习率”)越小,算法越容易取得局部最小值,因为这时模型无法覆盖旧的值。如果学习率很大,这种情况下,模型的参数无法收敛,因为计算的结果波动太大。因此,在实际操作中,学习率在最开始时被设置成一个比较大的值,随着每个迭代,不断地变小另一方面,使用感知器时,如果数据是可以线性划分,算法的收敛就与学习率没有太大关系了,因此,这种情况下学习率被设置为1。 //P37

损失函数(loss function)

损失函数(loss function)或代价函数(cost function)是将随机事件或其有关随机变量的取值映射为非负实数以表示该随机事件的“风险”或“损失”的函数。在应用中,损失函数通常作为学习准则与优化问题相联系,即通过最小化损失函数求解和评估模型。例如在统计学和机器学习中被用于模型的参数估计(parameteric estimation)

损失函数例子

某个工厂人员的产出,以每小时多少元来计算,而损失函数所显示的,是产出以室内通风条件而改变的情形。厂内工作的每个人,都有自己的损失函数。为了简化说明,假设每个人的损失函数均为一条抛物线,其底部一点代表产出值最大时的通风条件,把所有人员的损失函数进行叠加,公司整体的损失函数也必然是一条抛物线。如果通风条件偏离这个最佳水准,就会有额外损失发生。该抛物线与横轴相切时,切点的左右各有一小段与横轴几近重合。也就是说,有最适点偏离一小短距离,损失小到可以忽略不计。因此,当室内通风条件稍稍偏离均衡点,发生的损失可以忽略不计。但是远离均衡点时,总是有人必须支付这损失。如果我们能够导出有具体数字的损失函数,我们就可以计算出最优均衡点,在均衡点中最适合的通风条件如何,以及达到要求的费用支出是多少

机器学习的损失函数是人为设计的,用于评判模型好坏(对未知的预测能力)的一个标准、尺子,就像去评判任何一件事物一样,从不同角度看往往存在不同的评判标准,不同的标准往往各有优劣,并不冲突。唯一需要注意的就是最好选一个容易测量的标准,不然就难以评判了。

其次,既然不同标准并不冲突,那使用最小二乘作为逻辑回归的损失函数当然是可以,那这里为什么不用最小二乘而用最大似然呢?

常见的损失函数,负对数似然函数。

逻辑回归的损失函数不是定义出来的,而是根据最大似然估计推导而来的。

如你所见,这个公式中,需要进行优化的参数不仅是网络权重w,还包括偏差b,现在需要做的是最大化似然函数,不过这种计算量让人担忧,因为函数存在乘法计算。为了简化计算,我们对似然函数取对数除此之外,我们对符号进行了替换,目的是最小化似然函数的负对数结果。由于对数函数是单调递增的,所以原函数的关 系不会发生变化

准确率表示所有数据中正确分类的数据所占比率,精确度表示的是预测为正例的 所有数据中实际为正例的数据所占的比率,召回率是预测为正例的数据占实际正例

//P43

常用的几种损失函数: 损失函数 举例 定义 0-1损失 用于分类,例如感知机 [图片上传失败...(image-f68b-1557936439952)] 预测值和目标值不相等为1,否则为0 绝对值损失 [图片上传失败...(image-bbfee9-1557936439952)] 平方损失 Linear Regression [图片上传失败...(image-33f0d6-1557936439952)] 使得所有点到回归直线的距离和最小 对数损失 Logistic Regression [图片上传失败...(image-53d702-1557936439952)] 常用于模型输出为每一类概率的分类器 Hinge损失 SVM [图片上传失败...(image-5c134a-1557936439952)] 用于最大间隔分类 指数损失 AdaBoost [图片上传失败...(image-36bfb6-1557936439951)]

Logistic Regression 为什么用极大似然函数

混淆矩阵

混淆矩阵也称误差矩阵,是表示精度评价的一种标准格式,用n行n列的矩阵形式来表示。具体评价指标有总体精度、制图精度、用户精度等,这些精度指标从不同的侧面反映了图像分类的精度。 [1] 在人工智能中,混淆矩阵(confusion matrix)是可视化工具,特别用于监督学习,在无监督学习一般叫做匹配矩阵。在图像精度评价中,主要用于比较分类结果和实际测得值,可以把分类结果的精度显示在一个混淆矩阵里面。混淆矩阵是通过将每个实测像元的位置和分类与分类图像中的相应位置和分类相比较计算的。

简单说来,混淆矩阵就是一个N x N的表格,用来展示一个N元分类器的预测结果。

混淆矩阵是对分类模型进行性能评价的重要工具。

接下来,我们需要使用测试数据评判该模型的预测效果。这部分内容比较复杂,可能需要更进一步解释才可以理解。通常而言,机器学习方法效果的判断指标是基于混矩阵的准确率(Accuracy)精确度(Precision)以及召回率(Recall)。混淆矩阵对矩阵中预测正确的类和预测错 //P41

主要解决问题:分类问题---二分类问题

如果需要解决多分类问题--- softmax 回归

逻辑回归的应用背景,什么是分类?

分类是监督学习的一个核心问题,在监督学习中,当输出变量Y取有限个离散值时,预测问题便成为分类问题。这时,输入变量X可以是离散的,也可以是连续的。监督学习从数据中学习一个分类模型或分类决策函数,称为分类器。分类器对新的输入进行输出的预测,称为分类。

与线性回归的区别:线性回归预测输出的是(-∞,+∞)

而逻辑回归输出的是{0,1},这里面0我们称之为负例,1称之为正例。

如果分类器用的是回归模型,并且已经训练好了一个模型,可以设置一个阈值:

如果 image

,则预测 image ,既y属于正例

如果 image

,则预测 image ,既y属于负例

但是对于二分类问题来说,线性回归模型的输出值 image

可以大于1也可以小于0,所以我们需要一个函数,将输出转换到0和1之间。这里我们引入一个函数,sigmoid函数

image

这里g代表的就是这个函数:

image

图像如下:

image

这个函数的导数: image

2. 逻辑回归

逻辑回归的数学表达模型:

image

其中 image

是参数,输出的直观解释:

image

对于给定的输入 image

, image 时估计的概率

例如:对于肿瘤问题(恶性/良性),输入变量为肿瘤的大小 image

,表示的是病人的肿瘤有70%的可能是恶性的。

较正式的说法可以如下表示:

给定输入 image

,参数化的 image (参数空间), image 时的概率。数学上可以如下表示: image

2.1 损失函数

这里我们选择对数似然损失函数作为逻辑回归的损失函数

损失函数为:

image

前面的 image

可以去掉,化简为:

image

注意中括号中的公式正是对逻辑回归进行最大似然估计中的最大似然函数

image

将两个合在一起

image

有了这个我们可以求出逻辑回归的最大似然函数

image

对数似然函数为:

image

对数似然取最大值等价于损失函数取最小值

2.2 梯度下降法

算法流程:

(1)初始化 image

(随机初始化)

(2)进行迭代,新的 image

能够使得 image 更小

(3)如果 image

能够继续减小,返回(2)

image

其中, image

称为学习率或步长

这其中最主要的就是求解 image

的梯度,即梯度方向

image

注意,这个算法和线性回归里的梯度下降算法几乎是一致的,除了 image

的表示不同。

2.3 为什么损失函数不用最小二乘

也就是损失函数为什么不应平方损失而是选择用交叉熵。原因是平方损失在训练的时候会出现一定的问题。当预测值与真实值之间的差距过大时,这时候参数的调整就需要变大,但是如果使用平方损失,训练的时候可能看到的情况是预测值和真实值之间的差距越大,参数调整的越小,训练的越慢。

如果使用平方损失作为损失函数,损失函数如下

image

其中 image

表示真实值, image 表示预测值。

对参数求梯度

image

由此可以看出,参数 image

除了跟真实值与预测值之间的差距有关外,还和激活函数的该点的导数有关,跟激活函数的梯度成正比,常见的激活函数是 image

函数,当这个点越靠近上边或者下边的时候梯度会变得非常小,这样会导致当真实值与预测值差距很大时,参数变化的非常缓慢,与我们的期望不符合。

而使用交叉熵损失在更新参数的时候,当误差越大时,梯度也就越大,参数调整也能更大更快。

似然函数 定义

统计学中,似然函数是一种关于统计模型参数的函数。给定输出x时,关于参数θ的似然函数L(θ|x)(在数值上)等于给定参数θ后变量X的概率:L(θ|x)=P(X=x|θ)。 似然函数在推断统计学(Statistical inference)中扮演重要角色,尤其是在参数估计方法中。在教科书中,似然常常被用作“概率”的同义词。但是在统计学中,二者有截然不同的用法。概率描述了已知参数时的随机变量的输出结果;似然则用来描述已知随机变量输出结果时,未知参数的可能取值。例如,对于“一枚正反对称的硬币上抛十次”这种事件,我们可以问硬币落地时十次都是正面向上的“概率”是多少;而对于“一枚硬币上抛十次”,我们则可以问,这枚硬币正反面对称的“似然”程度是多少。

具体例子

数学分析步骤与机器学习算法比较与理解 确定变量 ——大量数据

明确预测的具体目标,也就确定了因变量。如预测具体目标是下一年度的销售量,那么销售量Y就是因变量。通过市场调查和查阅资料,寻找与预测目标的相关影响因素,即自变量,并从中选出主要的影响因素。

建立预测模型 ——选择哪个算法或者类型

依据自变量和因变量的历史统计资料进行计算,在此基础上建立回归分析方程,即回归分析预测模型。

进行相关分析 ——选择激活函数

回归分析是对具有因果关系的影响因素(自变量)和预测对象(因变量)所进行的数理统计分析处理。只有当自变量与因变量确实存在某种关系时,建立的回归方程才有意义。因此,作为自变量的因素与作为因变量的预测对象是否有关,相关程度如何,以及判断这种相关程度的把握性多大,就成为进行回归分析必须要解决的问题。进行相关分析,一般要求出相关关系,以相关系数的大小来判断自变量和因变量的相关的程度。

计算预测误差 ——由激活函数推导出似然函数|最大化似然函数,推导出误差函数|对计算机模型参数w权重和偏差b的梯度进行优化-随机梯度下降算SGD

回归预测模型是否可用于实际预测,取决于对回归预测模型的检验和对预测误差的计算。回归方程只有通过各种检验,且预测误差较小,才能将回归方程作为预测模型进行预测。

确定预测值 ——对模型进行评估(工具:混淆矩阵),找出精确率、召回率

利用回归预测模型计算预测值,并对预测值进行综合分析,确定最后的预测值。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3