机器学习(四)------逻辑斯特回归

1.LR的原理:

逻辑回归模型

      虽然逻辑回归姓回归,不过其实它的真实身份是二分类器。介绍完了姓,我们来介绍一下它的名字,逻辑斯蒂。这个名字来源于逻辑斯蒂分布:

逻辑斯蒂分布

设X是连续随机变量,X服从逻辑斯蒂分布是指X具有下列的分布函数密度函数: 

                                                                 

上式中,μ表示位置参数,γ>0为形状参数。

有没有发现f(x)F(x)是啥?有图你就知道真相了:

此处输入图片的描述

有没有发现右边很熟悉?没错,就是sigmoid 曲线,只不过,这个曲线是以点( μ, 1/2) 为中心对称。从图中可以看出,曲线在中心附近增长速度较快,而形状参数 γ 值越小,曲线在中心附近增长越快,请自行脑补一下。

二项逻辑回归模型

之前说到,逻辑回归是一种二分类模型,由条件概率分布P(Y|X)P(Y|X) 表示,形式就是参数化的逻辑斯蒂分布。这里的自变量XX取值为实数,而因变量YY为0或者1。二项LR的条件概率如下:

                                                               

也就是说,输Y=1的对数几率是由输入xx的线性函数表示的模型,这就是 逻辑回归模型。当w⋅x的值越接近正无穷,P(Y=1|x) 概率值也就越接近1.

               

现在要求 w 使得L(w) 最大,有的人可能会有疑问:

      在机器学习领域,我们更经常遇到的是损失函数的概念,其衡量的是模型预测错误的程度。常用的损失函数有0-1损失,log损失,hinge损失等。通常是最小化损失函数,这里为啥求极大似然估计?

接下来就是对L(w)求极大值(也可认为是求J(w)的最小值),得到w的估计值。逻辑回归学习中通常采用的方法是梯度下降法 和 牛顿法

Long Valley: 
此处输入图片的描述

Beale’s Function:

此处输入图片的描述

Saddle Point:

此处输入图片的描述

向量化的推导:

Logistic回归是回归的一种方法,它利用的是Sigmoid函数阈值在[0,1]这个特性。Logistic回归进行分类的主要思想是:根据现有数据对分类边界线建立回归公式,以此进行分类。其实,Logistic本质上是一个基于条件概率的判别模型(Discriminative Model)。

所以要想了解Logistic回归,我们必须先看一看Sigmoid函数 ,我们也可以称它为Logistic函数。它的公式如下:

                                                              
                                         

                                                       

整合成一个公式,就变成了如下公式:

下面这张图片,为我们展示了Sigmoid函数的样子。

z是一个矩阵,θ是参数列向量(要求解的),x是样本列向量(给定的数据集)。θ^T表示θ的转置。g(z)函数实现了任意实数到[0,1]的映射,这样我们的数据集([x0,x1,…,xn]),不管是大于1或者小于0,都可以映射到[0,1]区间进行分类。hθ(x)给出了输出为1的概率。比如当hθ(x)=0.7,那么说明有70%的概率输出为1。输出为0的概率是输出为1的补集,也就是30%。

如果我们有合适的参数列向量θ([θ0,θ1,…θn]^T),以及样本列向量x([x0,x1,…,xn]),那么我们对样本x分类就可以通过上述公式计算出一个概率,如果这个概率大于0.5,我们就可以说样本是正样本,否则样本是负样本。

举个例子,对于”垃圾邮件判别问题”,对于给定的邮件(样本),我们定义非垃圾邮件为正类,垃圾邮件为负类。我们通过计算出的概率值即可判定邮件是否是垃圾邮件。

那么问题来了!如何得到合适的参数向量θ?

根据sigmoid函数的特性,我们可以做出如下的假设:

                                                        

上式即为在已知样本x和参数θ的情况下,样本x属性正样本(y=1)和负样本(y=0)的条件概率。理想状态下,根据上述公式,求出各个点的概率均为1,也就是完全分类都正确。但是考虑到实际情况,样本点的概率越接近于1,其分类效果越好。比如一个样本属于正样本的概率为0.51,那么我们就可以说明这个样本属于正样本。另一个样本属于正样本的概率为0.99,那么我们也可以说明这个样本属于正样本。但是显然,第二个样本概率更高,更具说服力。我们可以把上述两个概率公式合二为一:

                                       

合并出来的Cost,我们称之为代价函数(Cost Function)。当y等于1时,(1-y)项(第二项)为0;当y等于0时,y项(第一项)为0。为了简化问题,我们对整个表达式求对数,(将指数问题对数化是处理数学问题常见的方法):

                                    

这个代价函数,是对于一个样本而言的。给定一个样本,我们就可以通过这个代价函数求出,样本所属类别的概率,而这个概率越大越好,所以也就是求解这个代价函数的最大值。既然概率出来了,那么最大似然估计也该出场了。假定样本与样本之间相互独立,那么整个样本集生成的概率即为所有样本生成概率的乘积,再将公式对数化,便可得到如下公式:

                                  

其中,m为样本的总数,y(i)表示第i个样本的类别,x(i)表示第i个样本,需要注意的是θ是多维向量,x(i)也是多维向量。

综上所述,满足J(θ)的最大的θ值即是我们需要求解的模型。

简化的成本 函数:

2.1梯度下降(上升):

J(θ)这个函数的极值,也可以这么求解。公式可以这么写:

                                                           

由上小节可知J(θ)为:

                                   

sigmoid函数为:

                                          

那么,现在我只要求出J(θ)的偏导,就可以利用梯度上升算法,求解J(θ)的极大值了。

那么现在开始求解J(θ)对θ的偏导,求解如下(数学推导):

                                            

其中:

                               

再由:

                                            

可得:

                                              

接下来,就剩下第三部分:

                                          

综上所述:

                                                          

因此,梯度上升迭代公式为:

                                                     

梯度下降用 减号。

2.2更高级的算法:

  1. 共轭梯度法 
  2. BFGS (变尺度法  ) 
  3. L-BFGS (限制变尺度法 )

3.正则化:

当模型的参数过多时,很容易遇到过拟合的问题。而正则化是结构风险最小化的一种实现方式,通过在经验风险上加一个正则化项,来惩罚过大的参数来防止过拟合。

                         此处输入图片的描述

显然,最右这张图overfitting了,原因可能是能影响结果的参数太多了。典型的做法在优化目标中加入正则项,通过惩罚过大的参数来防止过拟合:                                        p=1或者2,表示L1范数和 L2范数,这两者还是有不同效果的。

L1范数:是指向量中各个元素绝对值之和,也有个美称叫“稀疏规则算子”(Lasso regularization)。那么,参数稀疏 有什么好处呢?

一个关键原因在于它能实现 特征的自动选择。一般来说,大部分特征 xixi和输出 yiyi 之间并没有多大关系。在最小化目标函数的时候考虑到这些额外的特征 xi,虽然可以获得更小的训练误差,但在预测新的样本时,这些没用的信息反而会干扰了对正确 yiyi 的预测。稀疏规则化算子的引入就是为了完成特征自动选择的光荣使命,它会学习地去掉这些没有信息的特征,也就是把这些特征对应的权重置为0。

L2范数:它有两个美称,在回归里面,有人把有它的回归叫“岭回归”(Ridge Regression),有人也叫它“权值衰减”(weight decay)。

它的强大之处就是它能 解决过拟合 问题。我们让 L2 范数的规则项 ||w||2 最小,可以使得 w 的每个元素都很小,都接近于0,但与 L1 范数不同,它不会让它等于0,而是接近于0,这里还是有很大区别的。而越小的参数说明模型越简单,越简单的模型则越不容易产生过拟合现象。可能是因为参数小,对结果的影响就小了吧。

4.多类别分类:

          

参考资料:

  1. 博客:https://blog.csdn.net/cyh_24/article/details/50359055#t8
  2. 博客:https://blog.csdn.net/c406495762/article/details/77851973
  3. 李航《统计学》
  4. 吴恩达《机器学习》

猜你喜欢

转载自blog.csdn.net/qq_39503189/article/details/82425912