机器学习系列笔记九: 逻辑回归

本文深入探讨了逻辑回归的原理与应用,包括激活函数Sigmoid、损失函数的构建、算法实现、决策边界的确定以及多项式特征的引入。通过实例展示了逻辑回归在鸢尾花数据集上的分类效果,并讨论了正则化在防止过拟合中的作用。此外,还介绍了逻辑回归如何通过OvR和OvO策略解决多分类问题。
摘要由CSDN通过智能技术生成

机器学习系列笔记九: 逻辑回归

Intro

为了说明逻辑回归的重要性,先post一张图:

在这里插入图片描述

这是kaggle在2017年对工作最常用的数据科学方法的排名统计,可以看到逻辑回归LogicRegression是各个行业中(除了军事和安全领域)最为常用的数据科学方法。这也说明对于机器学习算法并不见得是越复杂越好的,要根据实际的使用场景选择最合适的算法。

没有免费午餐定理:并没有哪个算法比哪个算法更好,只是在特定的场景中的效果有差别。

那么逻辑回归是什么?其实如果修过吴恩达的机器学习课程的同学都不陌生,在此做一个系统的总结。

首先明确一个容易混淆的概念:逻辑回归是解决二分类问题的。

Logistic Regression原理

逻辑回归的原理是将样本特征和样本发生的概率联系起来,由于概率是一个数,所以称之为回归,然后会根据这个发生概率是否高于阈值(p=0.5)来把结果划分为0,1两个固定的结果(类别),所以解决的是一个二分类问题。

假设通过回归计算得出的结果 y ^ \hat{y} y^是一个数,为了将之转换为概率我们通常需要在回归的结果上通过一个激活函数(比如sigmoid)使之映射到0~1区间。
σ ( y ^ ) = > p ^ ∈ ( 0 , 1 ) \sigma(\hat{y})=>\hat{p}\in(0,1) σ(y^)=>p^(0,1)
然后通过判断 p ^ \hat{p} p^ (该样本发生的概率)是否在50%以上做一个划分
y ^ = { 0 p ^ < 0.5 1 p ^ > 0.5 \hat{y}=\begin{cases} 0& \hat{p}<0.5\\ 1& \hat{p}>0.5\\ \end{cases} y^={ 01p^<0.5p^>0.5
所以最终结果就变为了类别0或者类别1这样的结果。

逻辑回归就是在线性回归的基础上通过激活函数把结果映射为概率值

激活函数

在逻辑回归中,如何寻找合适的激活函数将回归结果映射为概率就成为了一个重要问题,通常可以采用sigmoid函数作为激活函数 σ ( t ) \sigma(t) σ(t)
σ ( t ) = 1 1 + e − t \sigma(t)=\frac{1}{1+e^{-t}} σ(t)=1+et1
该函数的图像如下:

在这里插入图片描述

可以看到这个函数的值域是(0,1),这符合概率的值域,当t>0时,p>0.5,t<0则p<0.5.所以分界点就是t=0.

考虑将线性回归的结果带入t中可以得出一个结论:在使用sigmoid函数处理线性回归结果之前,我们需要将回归结果进行标准化处理,使之均值为0,而这个0就是所谓的决策边界。

逻辑回归的损失函数

不同于线性回归中所采用的损失函数 M S E = ( y ^ − y ) 2 MSE=(\hat{y}-y)^2 MSE=(y^y)2 ,对于逻辑回归,因为其最终结果非0即1,所以要对损失函数的定义进行一个转换(这里有一点绕,需要在逻辑上进行一个类比):

在这里插入图片描述

然后,我们希望通过一个函数来表达这样的一个损失cost:
cos ⁡ t = { − log ⁡ ( p ^ ) i f    y = 1 − log ⁡ ( 1 − p ^ ) i f    y = 0 \cos t=\begin{cases} -\log \left( \hat{p} \right)& if\ \ y=1\\ -\log \left( 1-\hat{p} \right)& if\ \ y=0\\ \end{cases} cost={ log(p^)log(1p^)if  y=1if  y=0
在这里插入图片描述

将上式稍作修改就变成了如下形式:
cos ⁡ t = − y log ⁡ ( p ^ ) − ( 1 − y ) log ⁡ ( 1 − p ^ ) \cos t=-y\log \left( \hat{p} \right) -\left( 1-y \right) \log \left( 1-\hat{p} \right) cost=ylog(p^)(1y)log(1p^)
进而最终对于逻辑回归的损失函数定义如下:
J ( θ ) = − 1 m ∑ i m y ( i ) log ⁡ ( p ^ ( i ) ) − ( 1 − y ( i ) ) log ⁡ ( 1 − p ^ ( i ) ) J\left( \theta \right) =-\frac{1}{m}\sum_i^m{y^{\left( i \right)}}\log \left( \hat{p}^{\left( i \right)} \right) -\left( 1-y^{\left( i \right)} \right) \log \left( 1-\hat{p}^{\left( i \right)} \right) J(θ)=m1imy(i)log(p^(i))(1y(i))log(1p^(i))

  • y ( i ) y^{(i)} y(i) 表示第i个样本的真实分类
  • p ^ ( i ) =
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值