机器学习笔记——逻辑回归之二分类

机器学习笔记——逻辑回归之二分类

  • 一、什么是逻辑回归?
  • 二、可否用线性回归解决二分类问题?
  • 三、逻辑回归基本思路
    • 1.sigmoid函数拟合分布
    • 2.设计矩阵时的(n+1)维
    • 3.确定分类边界
    • 4.确定损失函数
      • 4.1 可否使用平方损失函数?
      • 4.2 似然函数估计/交叉熵损失
      • 4.3 凸函数优化理论
      • 4.4 交叉熵损失与平方损失比较

一、什么是逻辑回归?

  • 逻辑回归(Logistic Regression)。虽然逻辑回归叫回归但却是用来解决分类问题的,并且常用于二分类问题。逻辑回归的本质是:假设数据服从某个分布,然后使用极大似然估计做参数的估计
  • Logistic 分布是一种连续型的概率分布,其中, μ \mu μ表示位置参数, γ \gamma γ为形状参数。其分布函数和密度函数分别为:机器学习笔记——逻辑回归之二分类_第1张图片
    机器学习笔记——逻辑回归之二分类_第2张图片
  • 我们接下来可能用到的和深度学习神经网络中常用的sigmoid函数就是Logistic函数的一个特例。logistic函数当 μ = 0 , γ = 1 \mu=0,\gamma=1 μ=0,γ=1时就变成了sigmoid函数。该函数中心点为0( μ = 0 \mu=0 μ=0),值域分布为(-1,1)( γ = 1 \gamma=1 γ=1)。
    机器学习笔记——逻辑回归之二分类_第3张图片
    机器学习笔记——逻辑回归之二分类_第4张图片

二、可否用线性回归解决二分类问题?

  • 其实分类也需要通过模型预测得到一个变量值,然后再根据该变量与分界标准与比对实现分类。那么能否用简单的线性回归来实现二分类呢?
    机器学习笔记——逻辑回归之二分类_第5张图片
  • 上图表示的含义是:根据肿瘤大小来分类肿瘤良性或者是恶性。分析上图,当我们的训练数据集只有左下方4个和中间4个时,我i们可以得到蓝色的线性回归直线,我们可以使用0.5当作分界值来分类良性与恶性。
  • 但如果我们将右上方的点考虑进来,也就是极端情况(肿瘤很大且是恶性)。根据以上数据我们可能得到红色的回归直线,当然不能再使用0.5的分界线,假设使用0.7的分界线,那么我们部分恶性肿瘤就可能被判断为良性。
  • 因此线性回归模型很容易收到极端数据的影响,不可以用简单的线性回归模型来解决二分类问题。

三、逻辑回归基本思路

1.sigmoid函数拟合分布

  • 线性回归函数的值域为 ( − ∞ , + ∞ ) (-\infty,+\infty) (,+),而二分类问题的值域为{0,1}。我们令 z = θ T x = θ 0 + θ 1 x 1 + θ 2 x 2 + . . . . , z 属 于 ( − ∞ , + ∞ ) z=\theta^Tx=\theta_0+\theta_1x_1+\theta_2x_2+....,z属于(-\infty,+\infty) z=θTx=θ0+θ1x1+θ2x2+....,z(,+)
  • 我们使用sigmoid函数将 ( − ∞ , + ∞ ) (-\infty,+\infty) (,+)映射到(0,1)。
    z = θ T x = θ 0 + θ 1 x 1 + θ 2 x 2 + . . . . z=\theta^Tx=\theta_0+\theta_1x_1+\theta_2x_2+.... z=θTx=θ0+θ1x1+θ2x2+....
    g ( z ) = 1 / ( 1 + e − z ) g(z)=1/(1+e^{-z}) g(z)=1/(1+ez)
    h θ ( x ) = g ( θ T x ) = 1 / ( 1 + e − θ T x ) h_{\theta}(x)=g(\theta^Tx)=1/(1+e^{-\theta^Tx}) hθ(x)=g(θTx)=1/(1+eθTx)
  • 另外我们可以得到 g ′ ( z ) = g ( z ) ( 1 − g ( z ) ) g'(z)=g(z)(1-g(z)) g(z)=g(z)(1g(z)),这条性质更加坚定了我们使用sigmoid函数的决心,因为求导太方便了。
  • 下面给出 h θ ( x ) h_{\theta}(x) hθ(x)的物理含义解释,给出一个输入x其输出y=1(正样本)的概率。

2.设计矩阵时的(n+1)维

  • 中断调用一下:我们有m个样本,每个样本有n个特征。我们要设计的输入矩阵x就应该是m*(n+1)维的。
    机器学习笔记——逻辑回归之二分类_第6张图片
    x 0 x_0 x0这一列都是1就是为了在 θ T x = θ 0 + θ 1 x 1 + θ 2 x 2 + . . . . \theta^Tx=\theta_0+\theta_1x_1+\theta_2x_2+.... θTx=θ0+θ1x1+θ2x2+....中把这个 θ 0 \theta_0 θ0搞出来,如果没有这一列1就没有这一项了。

3.确定分类边界

  • 我们现在由一个x可以直接通过函数模型得到一个在0-1上连续的 h θ ( x ) h_{\theta}(x) hθ(x),但我们分类问题的目的在于得到是0或是1。那么我们就需要一个分类边界。
  • 由于 h θ ( x ) h_{\theta}(x) hθ(x)值域为0-1,所以我们一般以0.5作为分类的边界。
    机器学习笔记——逻辑回归之二分类_第7张图片
  • 根据 θ T x \theta^Tx θTx所代表的模型不同,我们可能获得线性分类边界或者是非线性分类边界。这个由具体的数据与模型决定。
    机器学习笔记——逻辑回归之二分类_第8张图片
    机器学习笔记——逻辑回归之二分类_第9张图片
  • 确定了以上的一切后,我们便会想该如何确定参数 θ \theta θ呢?

4.确定损失函数

  • 先来梳理一下我们的思路,我们的核心目的是通过输入一个向量 x ⃗ \vec{x} x ,从而确定分类结果是0还是1。
    但中间经历了比较多的过程,我们首先通过 θ T x \theta^Tx θTx由参数与输入得到一个范围在 ( − ∞ , + ∞ ) (-\infty,+\infty) (,+)的输出值,然后通过sigmoid函数将输出值限定在(0,1)之间。然后根据分类边界最终确定是归属于0类还是1类。
    确定了少数基本思路后,我们唯一未知的便是参数取值。那么如何确定参数取值呢?我们要有个评估标准,因此我们要确定损失函数。

4.1 可否使用平方损失函数?

  • 我们在线性回归模型中使用的是平方损失函数,那么在逻辑回归中是否还可以使用平方损失呢?
    答案是否定的,逻辑回归用平方损失函数梯度下降可能会出现梯度消失的情况。以下特性还是决定于sigmoid函数特殊的求导公式, g ( z ) = g ( z ) ( 1 − g ( z ) ) g(z)=g(z)(1-g(z)) g(z)=g(z)(1g(z)),所以当求出梯度之后带入某些特别接近1或0的 h θ ( x ) h_{\theta}(x) hθ(x)值可能会使整体梯度为0,从而表现出学习不动的特征。
    机器学习笔记——逻辑回归之二分类_第10张图片

4.2 似然函数估计/交叉熵损失

  • 我们回顾一下 h θ ( x ) h_{\theta}(x) hθ(x)的物理含义:表示给定一个输入x其对应输出y=1的概率。由此我们可以得到以下公式:
    机器学习笔记——逻辑回归之二分类_第11张图片
  • 我们想办法将以上两个公式合二为一得到似然函数。 L ( θ ) L(\theta) L(θ)表示的是用参数 θ \theta θ来拟合这组数据的所有样本其综合概率,所以我们要找到最优的参数也就是综合概率最大的参数。
    在这里插入图片描述
    机器学习笔记——逻辑回归之二分类_第12张图片
  • 以上函数为似然函数,想要求取最优参数我们需要找到最大似然函数的位置,这显然有悖于我们常用的损失函数思想。另外似然函数为多项的乘积明显不便于梯度运算,我们想办法化成加法。综上我们对似然函数取负对数得到损失函数
    机器学习笔记——逻辑回归之二分类_第13张图片

4.3 凸函数优化理论

  • 我们都知道梯度下降的优化方法不一定总能得到最优参数,可能会陷入局部最优或者不收敛。我们先不考虑学习率选择不当导致的不收敛问题,我们假设全部都收敛只是有可能收敛到局部最优解。
  • 但如果目标函数是个凸函数(Convex Function),局部最优就是全局最优,我们通过梯度下降的方法就一定能够得到最优解。
  • 在这里我们会发现逻辑回归的交叉熵损失函数为凸函数,因此使用梯度下降方法一定可以得到最优参数。
  • 接下来我们了解一些凸函数的定义性质,并证明逻辑回归的交叉熵损失函数为凸函数。
    机器学习笔记——逻辑回归之二分类_第14张图片
    机器学习笔记——逻辑回归之二分类_第15张图片

4.4 交叉熵损失与平方损失比较

  • 以下这张图可以清晰地看出交叉熵损失与平方损失针对逻辑回归问题地优劣。
    机器学习笔记——逻辑回归之二分类_第16张图片
  • 红色图像表示的是平方损失,可以看出梯度都很小甚至极端数据点可能会出现梯度消失的情况,当然无法很好地使用梯度下降方法。而黑色图像代表的是交叉熵损失,梯度明显较大有利于梯度下降快速收敛得到结果。

你可能感兴趣的:(机器学习,机器学习)