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

本文深入探讨逻辑回归的基础概念与核心原理,包括Sigmoid函数的运用和损失函数的推导。通过代码示例展示了如何在Python中实现逻辑回归,包括数据准备、模型创建和预测。此外,还分享了在实际问题中应用逻辑回归的步骤,以鸢尾花数据集为例,介绍了模型评估和参数选择的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


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

前言

本文主要通过文字和代码样例讲述逻辑回归的原理(包含逻辑回归的基础概念与推导)和实如何在实践中使用逻辑回归,并用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函数图像
    在这里插入图片描述

上述计算得到了在给定数据点后,通过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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值