TensorFlow 学习(五) 二分类logistic回归模型

xiaoxiao2022-06-11  31

逻辑回归的损失函数是对数损失函数,对数损失函数的方程式与信息论中的熵测量密切相关。它也是似然函数的负对数(假设“y‘ ’” 属于伯努利分布)。实际上,最大限度地降低损失函数的值会生成最大的似然估计值。对数损失函数的方程式如下图

                                                               

其中:

(x,y)ϵD 是包含很多有标签样本 (x,y) 的数据集。“ y ” 是有标签样本中的标签。由于这是逻辑回归,因此 “y” 的每个值必须是 0 或 1。“ y' ” 是对于特征集“x”的预测值(介于 0 和 1 之间)

假设预测函数 hypothesis 在 0 和 1 之间 (概率):

                                                               

其中:

 是逻辑回归模型针对特定样本的输出。 是 b + w1x1 + w2x2 + … wNxN “w” 值是该模型学习的权重“b” 值是该模型学习的偏差。“x” 值是特定样本的特征值。

请注意, 该假设函数也称为对数几率

假设函数推理过程:

假设 函数, 服从伯努利分布,为正的概率为 p, 为负的概率为 1 - p.

逻辑回归中该样本为正的概率    为负的概率   

odds优势比是事件发生概率和不发生概率之间的比值: 

                                                                     

我们可以将[0,1]之间的任意数映射到[0,∞]之间的任意实数。但是,线性回归的输出还可以是负数,我们还需要另一步变换将[0,∞]的实数域映射到这个实数域R空间;

然后,在众多非线性函数中,log函数的值域为整个实数域且单调,因此,我们可以计算优势比的对数(ln 是log 底数为 e的数):

                                                         

求解过程, , 取消 ln底数

                                                                      

然后消除分子 p, 两边加 1

                                                                 

                                                                    

由上面可得

为负的概率 :                                            

为正的概率:                                             

需要的是为正的概率, 分子分母同除以 , 化简可得:

                                                                   

而    所以最终假设样本为正的概率为:

                                                    

 

极大对数似然推理(逻辑回归(0和1分类)):

假设有 M 个样本,样本值分别为 ,设    为给定条件下得到    的概率,

同样地,    的概率为  ,所以得到一个样本值的概率为,

注意,大写p(没有下标 i): 是函数形式,小写p(有小标 i): 是一个值(概率)

则取对数似然依据

运用对数运算和差            ,             = 

                                                 

                                                                                       

                                                                  

当模型是条件概率分布,损失函数是对数损失函数时,经验风险最小化就等价于极大似然估计。所以加个负号

                                                                   

又根据  p(即)  上面的公式     ,    

                                                                 

由于该极大似然函数无法直接求解,一般是进行梯度下降来不断接近最优解。

梯度下降有三种方式:

批梯度下降:   会获得全局最优解,缺点是在更新每个参数的时候需要遍历所有的数据,计算量会很大,并且会有很多的冗余计算,导致的结果是当数据量大的时候,每个参数的更新都会很慢。随机梯度下降: 以高方差频繁更新,优点是使得随机梯度会跳到新的和潜在更好的局部最优解,缺点是使得收敛到局部最优解的过程更加的复杂。小批量梯度下降:  结合了随机梯度下降和批梯度下降的优势,每次梯度更新的时候使用n个样本。减少了参数更新的次数,可以达到更加稳定收敛结果。(深度学习一般使用该方法优化)

TensorFlow 简单实现:

主要是这两个函数求解

源码参考GitHub地址:TensorFlow逻辑回归实现

转载请注明原文地址: https://www.6miu.com/read-4931409.html

最新回复(0)