【机器学习】逻辑回归(LogisticRegression)原理与实战

文章目录

  • 前言
  • 一、什么是逻辑回归
    • 1.1 逻辑回归基础概念
    • 1.2 逻辑回归核心概念
  • 二、逻辑回归Demo
    • 2.1 数据准备
    • 2.2 创建逻辑回归分类器
    • 2.3 分类器预测
  • 三、逻辑回归实战
    • 3.1 数据准备
    • 3.2 数据划分与模型创建
    • 3.3 预测数据评估模型
  • 四、参数选择
  • 五、总结
  • 六、参考资料

本文属于我的机器学习/深度学习系列文章,点此查看系列文章目录

前言

本文主要通过文字和代码样例讲述逻辑回归的原理(包含逻辑回归的基础概念与推导)和实如何在实践中使用逻辑回归,并用sklearn库实现在实际数据上分类的测试。

一、什么是逻辑回归

1.1 逻辑回归基础概念

逻辑回归属于线性分类器,通过Logistic函数(Sigmoid函数),将数据特征映射到0~1区间的一个概率值(样本属于正例的可能性),通过与0.5的比对得出数据所属的分类。

  • Logistic函数表达式
    f ( z ) = 1 1 + e − z z = w T x + w 0 f(\mathbf z) = \frac{1}{1+e^{-\mathbf z}}\\ \mathbf z = \mathbf w^T \mathbf x + w_0 f(z)=1+ez1z=wTx+w0
    其中, x \mathbf x x是数据的特征向量( x 0 , x 1 , . . . , x n x_0,x_1,...,x_n x0,x1,...,xn), w \mathbf w w是参数向量(需要数据拟合), w 0 w_0 w0是偏置。关于第二行表达式的含义具体可以参考机器学习:线性分类问题(基础知识)。

    Logistic相当于在原始用超平面划分数据的情况下多了一层映射,这层映射的好处在于对于靠近0附近的数据可以将其拉开更大的间隔提高区分度。

  • Logistic函数图像
    【机器学习】逻辑回归(LogisticRegression)原理与实战_第1张图片

上述计算得到了在给定数据点后,通过Logistic函数计算得到的预测值,显然一开始预测值与真实值是有偏差的,通过损失函数计算偏差,优化算法缩小偏差,最终得到模型适合的参数。

1.2 逻辑回归核心概念

搞懂逻辑回归需要弄懂以下几个点:

  • 逻辑回归为什么要使用sigmoid函数
  • 为什么sigmoid激活后的值是分类的概率
  • 逻辑回归的损失函数如何推导
  • 逻辑回归优化参数的过程

注意这几个问题是有先后逻辑关系的,一个个来。


  • 逻辑回归为什么要使用sigmoid函数&为什么sigmoid激活后的值是分类的概率
    这两个问题实际上可放在一起讨论,并不是简简单单地因为sigmoid值域是0-1,逻辑回归采用sigmoid函数的前提是我们假设所有的样本数据点服从伯努利分布,通过伯努利分布形式展开与指数簇分布形式对比发现sigmoid函数。具体的内容可以参考这篇文章:逻辑回归为什么用Sigmoid?

  • 逻辑回归的损失函数如何推导
    前面说了我们假设样本服从伯努利分布,在训练过程中我们通常有一堆样本点( x i , y i \mathbf x_i,y_i xi,yi),假设样本为1类的概率为p,则为0类的概率为1-p,给定样本 x i \mathbf x_i xi,其分类为 y i y_i yi的概率表示如下:
    P ( y i ∣ x i ) = p y i ( 1 − p ) 1 − y i P(y_i|\mathbf x_i) =p^{y_i}(1-p)^{1-y_i} P(yixi)=pyi(1p)1yi
    由于服从伯努利分布,那么总的概率就是所有样本点概率乘积:
    P 总 = ∏ i = 1 n P ( y i ∣ x i ) = ∏ i = 1 n p y i

你可能感兴趣的:(机器学习(深度学习),逻辑回归,logistic,regression,原理与实战,机器学习)