通俗理解逻辑回归

前言

     关于机器学习相关的算法,不想追求高大上,只想用通俗易懂的方式去推导。一是因为能力有限;二是因为只注重公式推导和严谨性对于初学者来说不好理解。欢迎大佬们多多指教。

    

☆☆☆ 算法目录导航页,包含基础算法、高级算法、机器学习算法等☆☆☆

    

1. ML/DL到底要干什么

    其实整个机器学习或深度学习要干的事只有2件:
    ① Data → Model,已知数据,如何建模;
    ② Model → 求参数,已知model,如何求参数w。

2. 逻辑回归概念

    逻辑回归(logistic regression)是机器学习模型中的基础模型。虽然叫回归,实际却是解决分类问题。究其原因,是历史遗留问题,大家不要纠结这个,只要记住是解决分类问题就可以了。(葫芦书有详细说明,有兴趣可以看看)

3. 如何建模

    逻辑回归是一个广义的线性模型,我的理解它的初衷是想用线性函数去解决分类问题。比如,用 y = wx 解决分类,但是y的值是连续的,不是0,1。那么我们希望找到一个阶跃函数能把y的值映射成0,1,所以阶跃函数h如下: h ( y ) = { 0 , y < 0 0.5 , y = 0 1 , y > 0 h(y)=\left\{\begin{array}{cl}{0,} & {y<0} \\ {0.5,} & {y=0} \\ {1,} & {y>0}\end{array}\right. h(y)= 0,0.5,1,y<0y=0y>0
 但是,上式不连续,我们希望找到一个单调可微函数,以便我们后面求解参数。所以, 我们找到了一个Sigmoid函数: h ( y ) = 1 1 + e − y h(y)=\frac{1}{1+e^{-y}} h(y)=1+ey1
 它的函数图像是这样的:

在这里插入图片描述

 因此,用sigmoid函数代替了之前的阶跃函数。
 sigmoid函数表示的是给定x, y趋近于0和1时的概率值,则我们可以表示为后验概率:
p 1 = P ( y = 1 ∣ x ; w ) = h ( x ) p_{1} = P(y=1|x;w) =h(x) p1=P(y=1∣x;w)=h(x)
p 0 = P ( y = 0 ∣ x ; w ) = 1 − h ( x ) p_{0} = P(y=0|x;w) =1-h(x) p0=P(y=0∣x;w)=1h(x)
 则目标函数可表示为: P ( y ∣ x ; w ) = p 1 y ⋅ p 0 1 − y P(y | x ; w) = p_{1}^{y} \cdot p_{0}^{1-y} P(yx;w)=p1yp01y

4. 如何求参数

    ① 找一个损失函数;
    ② 利用梯度下降算法优化损失并求出参数。
    利用最大似然估计MLE化简目标函数。为什么用MLE呢?
     1.最大似然也就是最大概率,概率越大即分类更精确,求出概率最大时w的值即可。
     2.得到的损失函数是凸函数,利于求解。
     所以,使用MLE是合理的。
    MLE 化简: L ( w ) = max ⁡ P ( y ∣ x ; w ) = max ⁡ ∏ i = 1 n p ( y ( i ) ∣ x ( i ) ; w ) = max ⁡ ∏ i = 1 n p 1 y ( i )   p 0 1 − y ( i ) = max ⁡ ∏ i = 1 n ( h ( x ( i ) ) ) y ( i ) ( 1 − h ( x ( i ) ) ) 1 − y ( i ) \begin{aligned} L(w) &=\max P(y | x ; w) \\ &=\max \prod_{i=1}^{n} p\left(y^{(i)} | x^{(i)} ; w\right) \\ &=\max \prod_{i=1}^{n}p_{1}^{y^{(i)}}\ p_{0}^{1-y^{(i)}} \\ &=\max \prod_{i=1}^{n}\left(h\left(x^{(i)}\right)\right)^{y^{(i)}}\left(1-h\left(x^{(i)}\right)\right)^{1-y^{(i)}} \end{aligned} L(w)=maxP(yx;w)=maxi=1np(y(i)x(i);w)=maxi=1np1y(i) p01y(i)=maxi=1n(h(x(i)))y(i)(1h(x(i)))1y(i)
    为了简化运算,L(w)取对数:

  l ( w ) = l n L ( w ) = m a x   ∑ i = 1 n [ y ( i ) ln ⁡ h ( x ( i ) ) + ( 1 − y ( i ) ) l n ( 1 − h ( x ( i ) ) ) ] \ l(w)=ln L(w)=max\ \sum_{i=1}^{n}\left[ y^{(i)} \ln h\left(x^{(i)}\right)+\left(1-y^{(i)}\right)ln\left(1-h\left(x^{(i)}\right)\right)\right]  l(w)=lnL(w)=max i=1n[y(i)lnh(x(i))+(1y(i))ln(1h(x(i)))]

    求l(w)最大,也就是求-l(w)最小,那我们就可以定义损失函数为 -l(w),则损失函数为:   J ( w ) = − 1 n ∑ i = 1 n [ y ( i ) ln ⁡ h ( x ( i ) ) + ( 1 − y ( i ) ) l n ( 1 − h ( x ( i ) ) ) ] \ J(w)= -\frac{1}{n}\sum_{i=1}^{n} \left[y^{(i)} \ln h\left(x^{(i)}\right)+\left(1-y^{(i)}\right)ln\left(1-h\left(x^{(i)}\right)\right)\right]  J(w)=n1i=1n[y(i)lnh(x(i))+(1y(i))ln(1h(x(i)))]
    它的函数图像是这样的:

在这里插入图片描述

    它是一个单调凸函数,所以我们用梯度下降算法求参数w。梯度下降算法公式:

w j : = w j − α ∂ J ( w j ) ∂ w j w_{j} :=w_{j}-\alpha \frac{\partial J(w_{j})}{\partial w_{j}} wj:=wjαwjJ(wj)

     α 为学习率。我们按照公式不断更新w的时候,损失函数的值会逐渐下降,当其慢慢下降到最小值附近开始收敛以后,我们就得到了训练好的【逻辑回归预测模型】。

5.总结

  ① 我们从线性函数的角度入手;
  ② 为了能让线性函数表示成分类,得到了阶跃函数;
  ③ 为了能使用梯度下降优化算法求解w,我们找到了单调可微的sigmoid函数代替阶跃函数。
  ④ 为了求解方便,我们用最大似然估计简化了目标函数,得到对数似然函数,顺便定义了损失函数;
  ⑤ 最后使用gradient descent 不断更新w得到损失函数最小时模型的样子:逻辑回归预测模型(trained)。
<think>嗯,用户想了解逻辑回归的基本概念和通俗解释。首先,我得回忆一下逻辑回归的基础知识。逻辑回归虽然名字里有“回归”,但其实是个分类算法,对吧?主要用于二分类问题,比如判断邮件是不是垃圾邮件,或者用户是否会点击广告之类的。 用户可能对为什么叫“回归”感到困惑,这里需要解释清楚。回归通常用于预测连续值,而分类是离散的。逻辑回归通过使用逻辑函数(也就是sigmoid函数)将线性回归的结果映射到0和1之间,这样就能得到概率值,进而进行分类。 接下来,得用简单易懂的例子来说明。比如预测考试通过的概率,根据学习时间等因素,逻辑回归可以输出一个0到1之间的概率,超过0.5就认为通过。这样用户容易理解。 还要提到损失函数,逻辑回归用的是交叉熵损失函数,而不是线性回归的均方误差。这点很重要,需要解释为什么,可能是因为交叉熵更适合处理概率分类问题,惩罚错误分类更有效。 另外,需要引用提供的资料,比如引用[1]中提到从机器学习角度介绍逻辑回归,以及如何用Python实现。引用[2]讲损失函数来自极大似然估计,可以在这里提到极大似然估计的方法,但不用深入数学推导。引用[3]的应用场景,比如垃圾邮件检测、信用评分,可以举这些例子让用户更有代入感。 用户可能需要知道逻辑回归的优缺点,比如容易实现、计算成本低,但可能不适合复杂的非线性问题。不过用户的问题主要是基本概念,所以暂时不需要深入优缺点,除非用户后续提问。 还要确保使用正确的中文术语,比如“sigmoid函数”翻译成“S型函数”可能更易懂。数学公式要用$$...$$格式,比如逻辑函数的公式,以及线性回归部分和sigmoid转换的部分。 最后,生成的相关问题要围绕逻辑回归的扩展,比如和线性回归的区别、多分类处理、正则化应用等,帮助用户进一步学习。</think>### 逻辑回归的基本概念及通俗解释 #### 1. **基础定义** 逻辑回归(Logistic Regression)是一种**分类算法**,主要用于解决**二分类问题**(例如判断“是/否”“通过/不通过”)。虽然名字中包含“回归”,但其核心是通过概率建模实现分类,而非预测连续值[^1]。 #### 2. **核心思想** - **线性回归的延伸**:逻辑回归在线性回归的基础上,将输出结果通过**S型函数(Sigmoid函数)**映射到$(0,1)$区间,表示事件发生的概率。例如: $$ z = \beta_0 + \beta_1 x_1 + \beta_2 x_2 + \dots + \beta_n x_n $$ $$ P(y=1) = \frac{1}{1 + e^{-z}} $$ 当$P(y=1) \geq 0.5$时,判定为类别1;否则为类别0。 - **通俗比喻**:假设用“学习时间”预测“考试通过”,逻辑回归会计算“通过的概率”。若概率超过50%,则预测“通过”。 #### 3. **关键特点** - **输出为概率**:结果可解释性强,例如“用户点击广告的概率为75%”。 - **线性决策边界**:逻辑回归通过线性组合特征生成决策边界,适合线性可分问题[^3]。 - **损失函数为交叉熵**:通过最大化似然函数(或最小化交叉熵)来优化参数[^2]。 #### 4. **应用场景** - **二分类问题**:垃圾邮件识别(是/否)、疾病诊断(患病/健康)。 - **概率预测**:金融领域信用评分(违约概率)、广告点击率预测。 --- ### 示例:逻辑回归的工作流程 1. **输入特征**:例如“学习时间”“做题数量”。 2. **计算线性组合**:$z = 0.5 + 2 \times \text{学习时间} + 1.5 \times \text{做题数量}$。 3. **Sigmoid转换**:$P(\text{通过}) = \frac{1}{1 + e^{-z}}$。 4. **分类决策**:若$P \geq 0.5$,则预测“通过”。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值