一个神经网络结构,其中的一个神经网络层,本质就是一个逻辑回归模型
深度神经网络的本质就是多层逻辑回归模型互相连接或采用一定的特殊连接的方式连接在一起构成的。其中每一个层本质就是一个逻辑回归模型。
逻辑回归模型基本原理
逻辑回归(Logic)是一种广义线性回归模型(generalized linear model),其与多重线性回归有诸多的相同之处,但其实则是一个分类模型,属于有监督算法,主要用常见的二分类问题求解,是一种采用回归方法的分类模型。
逻辑回归的基本决策函数形态为:
其中的g(*)是可微函数,这类模型也被称为广义线性模型,函数映射关系f(x)被称作为联系函数link function,现今广泛熟知的逻辑回归就是诸多广义回归模型的其中一种。
在逻辑回归中,使用对数几率函数Logistic function作为g^-1(*).对数几率函数的表达式为:
对数几率函数叫做Sigmoid函数
Sigmoid函数是一个在生物学中常见的S型函数,也称作S行生长曲线。由于其单增以及反函数单增等特性,Sigmoid函数常被用作神经网络的激活函数,将变量映射到0-1之间。
利用这个对数几率函数,可以将z转化为一个(0,1)区间内的值。
对数几率函数重要的导数性质
如果将标签y表示分类结果,结合二分类赶驴模型可知,标签结果为正例反例的概率和为1
可以将y表示为出现正例的概率,将1-y表示为出现返利的概率
所以ln y/(1-y)中的y/(1-y)表示正反例出现概率的壁纸,这个比值称作几率,用来表示样本x出现正例的相对可能性。对几率继续取得对数,即ln y/(1-y)即称作对数几率。
上式实则是在利用线性回归模型的预测结果取得逼近真实标记的对数几率。
逻辑回归模型也称作对数几率模型。通过逻辑回归的决策函数给出证明,证明回归确实是一种专用于二分类问题求解的分类模型。
可以依据上述二分类场景进一步给出逻辑回归的损失函数。假设下述两个条件概率成立。
则逻辑回归的损失函数可以表达为关于待评估参数列向量w的似然函数:
当第i个样本的真实标签yi为1时,1-yi的结果就等于0,(1-yi的反^0=1,整体似然函数的极大值就与yi的反^yi有关,表示“预测的标签结果yi的反=1”的概率,如果这个概率能够为1(真实为1,预测为1),则其为必然事件,模型的效果就越好,损失函数就能达到极小化。
当第i个样本的真实标签yi为0时,1-yi的结果就等于1,(yi的反)^1=1,整体似然函数的极大值就与(1-yi的反)^(1-yi)有关,表示“预测的标签结果yi的反=1”的概率,如果这个概率能够为1(真实为0,预测为0),则其为必然事件,模型的效果越好,损失函数就能达到极小化。
对于每一条训练样本,如果总能保证yi的反^yi (1-yi的反)^(1-yi)总是达到最大值1,则构建的二分类模型必然是最想要的模型。
于是可以对每一条样本都来追求最大值1,于是将其连乘,求得的关于待估参数w的似然函数自然希望求得最大值,此时的模型就是一个最优模型。
对上述对数似然函数取负值,即得逻辑回归损失函数,
似然函数取得最大值时的待估参数即可取得最优解
对其取负值就表示:当似然函数取得最大值时,逻辑回归的损失函数将达到极小化
损失函数表达式即为神经网络模型中求解二分类问题时常采用的损失函数:二分类交叉熵损失函数
逻辑回归模型优点
逻辑回归模型可以直接对分类可能性进行建模,该模型不仅可以预测出标签所属的类别,还可以得到近似概率的预测,标签所属某类别的可能性,对于需要利用概率来辅助决策的场景很重要。
对数几率函数是任意阶均可导(知道n阶均可导,具有n阶可导行,因为:(e^x)'=e^x的凸函数,有很多数学相关性质,现有的很多数值优化算法都可直接用于其最优解的求解。
采用梯度下降法对其进行求解。
梯度下降法:数学:一元函数、多元函数微分、积分学章节中关于偏导数、方向导数、全微分及梯度的相关概念。数据挖掘算法:梯度下降法章节中关于梯度下降和梯度上升的相关概念。
逻辑回归模型的实现
借助Pytorch结合逻辑回归的决策函数及损失函数自行构建一个简单的逻辑回归模型。
导包
准备训练数据,暂不考虑数据集划分,构造一个假样本
实现逻辑回归模型对象
执行模型训练,观测模型训练过程,查看损失函数梯度下降过程
损失函数的值伴随迭代梯度下降过程在不断的趋近于极小化,表示模型的建模效果是正确的
逻辑回归模型与神经网络关系密切
逻辑回归的决策函数
决策函数可以看为一个矩阵的线性运算与一个非负函数的复合关系,最终输出y的反(开始更改名次称谓y的反之前称作标签,也即估计量,在此之后的神经网络中称为output layer)
yhat
单层感知机,是一种最简单的神经网络,其中的X即特征,在神经网络中一般称为输入层Input layer,w^T即参数(后续称作权重),Sigmod(w^T X+b)就是输出层output layer,Sigmod函数在神经网络中不再称作非线性函数,称为激活函数activate function
单层感知机引申:可以构建一种人工的类似神经元信息传递的过程,将输入层的数据逐层“传递”最终得到输出结果。使用多个人工神经元构建的多层感知机,就是一种最普遍的人工神经网络,在输入层与输出层之间加入隐藏层,隐藏层的层数可以任意。
深度学习是一种表征学习,要学习的是样本的特征,希望特征的学习更全面。
加入隐藏层的目的是:将特征通过隐藏层映射到更高维的空间,进行更高维的特征表达,能够将样本的特征表达的更清晰,模型学习的特征的效果也越好,最终所得输出层的结果也越符合模型建模方向。
单程感知机、多层感知机
————————————
仅用于本人学习
来源:网络