【机器学习】--- 逻辑回归算法

目录

逻辑回归基础

1. 概述

逻辑回归是机器学习的一种分类算法,主要运用于二分类问题。将线性回归的结果,映射到不同的类别之中。算法简单而高效,实际广泛运用。

简单来说:逻辑回归 = 线性回归 + S i g m o i d Sigmoid Sigmoid函数(分类函数)

2.优点与缺点

优点:

  1. 简单而且容易实现。逻辑回归的模型相对简单,只需要对输入特征进行线性组合,然后通过 S i g m o i d Sigmoid Sigmoid函数进行分类预测。
  2. 计算效率高。逻辑回归的计算量相对较小,可以处理大规模的数据集。
  3. 可解释性强。逻辑回归的结果可以解释为某个事件发生的概率,比较直观易懂。
  4. 可以在线学习。逻辑回归可以通过梯度下降算法进行在线学习,适用于增量学习和实时预测。

缺点:

  1. 对特征的依赖性强。逻辑回归对特征之间的依赖性较为敏感,如果特征之间存在较强的相关性,会导致模型效果较差。
  2. 对异常值较为敏感。逻辑回归对异常值较为敏感,可能会影响模型的预测结果。
  3. 需要大量的特征工程。为了提高逻辑回归的性能,通常需要进行大量的特征工程,包括特征选择、特征变换等。
  4. 无法处理非线性问题。逻辑回归是一种线性模型,无法处理非线性问题,需要通过添加多项式特征或者引入核函数来解决非线性问题。

逻辑回归的理论解释

1.问题背景

现在你有一份数据,里面有病人的肿瘤大小(tumor size)和是否是恶性肿瘤的判断(malignant?),把这份数据可视化,用1来表示恶性肿瘤,0表示良性,这样你就获得了下面这张图。

根据上面的图你可以简单的总结一个函数,如红线所示,来帮助你判断肿瘤是否恶性,现在又来了一个病人,他的肿瘤大小用紫色点表示,根据我们总结的函数,判断出有70%的概率肿瘤是恶性,但是你不能直接输出0.7,只能判断是或否,因此你会输出1(yes),这一条你总结出来的函数就是 S i g m o i d Sigmoid Sigmoid函数

2. S i g m o i d Sigmoid Sigmoid函数

也称为逻辑函数,具体函数定义如下
g ( z ) = 1 1 + e − z g(z) = \frac{1}{1+e^{-z}} g(z)=1+e−z1

x坐标是z的值,范围是负无穷到正无穷

值域是(0,1)

图像如下

那么 z z z的值是由谁决定的?还记得文章一开头讲的:逻辑回归 = 线性回归 + S i g m o i d Sigmoid Sigmoid函数(分类函数), z z z的值是从线性回归中得来的

z = w T x + b z = w^Tx+b z=wTx+b

逻辑回归函数表达
f w , b ( x ) = g ( z ) = g ( w T x + b ) = 1 1 + e − ( w T x + b ) f_{w,b}(x) = g(z) = g(w^Tx+b) = \frac{1}{1+e^{-(w^Tx+b)}} fw,b(x)=g(z)=g(wTx+b)=1+e−(wTx+b)1

3.决策边界

函数输出0还是1,取决于 f w , b ( x ) ≥ 0.5 f_{w,b}(x) \ge 0.5 fw,b(x)≥0.5,若成立,那么 y ^ = 1 \hat{y} =1 y^=1,反之 y ^ = 0 \hat{y}=0 y^=0

下图是一组数据集,蓝色圆圈 y ^ \hat{y} y^输出为0,红色交叉 y ^ \hat{y} y^输出为1,经过逻辑回归可以获得其回归函数

根据 S i g m o i d Sigmoid Sigmoid函数, z = 0 z=0 z=0点就是两个类别的分隔点

  • z = x 1 + x 2 − 3 = 0 z = x_1 +x_2 -3 = 0 z=x1+x2−3=0
  • x 1 + x 2 = 3 x_1 +x_2 = 3 x1+x2=3

那么得到的这条线,就叫做决策边界,只要点出现在决策边界下方,就输出0,出现在决策边界上方,就输出1


当然,决策边界也不一定是直线,也可以是曲线

  • z = x 1 2 + x 2 2 − 1 z = x_1^2 +x_2^2 -1 z=x12+x22−1
  • x 1 2 + x 2 2 = 1 x_1^2 +x_2^2 = 1 x12+x22=1

4.损失函数

L ( f w , b ( x ( i ) ) , y ( i ) ) = { − l o g ( f w , b ( x ( i ) ) ) , if y ( i ) = 1 − l o g ( 1 − f w , b ( x ( i ) ) ) , if y ( i ) = 0 L(f_{w,b}(x^{(i)}),y^{(i)})= \begin{cases} -log(f_{w,b}(x^{(i)})), & \text {if y\^{(i)} = 1} \\\\ -log(1-f_{w,b}(x^{(i)})), & \text{if y\^{(i)}=0} \end{cases} L(fw,b(x(i)),y(i))=⎩ ⎨ ⎧−log(fw,b(x(i))),−log(1−fw,b(x(i))),if y(i)=1if y(i)=0

or

L ( f w , b ( x ( i ) ) , y ( i ) ) = − y ( i ) l o g ( f w , b ( x ( i ) ) ) + ( 1 − y ( i ) ) l o g ( 1 − f w , b ( x ( i ) ) ) L(f_{w,b}(x^{(i)}),y^{(i)}) = -y^{(i)}log(f_{w,b}(x^{(i)}))+(1-y^{(i)})log(1-f_{w,b}(x^{(i)})) L(fw,b(x(i)),y(i))=−y(i)log(fw,b(x(i)))+(1−y(i))log(1−fw,b(x(i)))

以上两条式子完全等价

那么代价函数就是每一个点的损失累加起来
J ( w , b ) = 1 m ∑ i = 1 m L ( f w , b ( x ( i ) ) , y ( i ) ) J(w,b) = \frac{1}{m}\sum_{i=1}^m L(f_{w,b}(x^{(i)}),y^{(i)}) J(w,b)=m1i=1∑mL(fw,b(x(i)),y(i))

使用梯度下降的方法,找到代价函数的1阶导最小值即可,有关梯度下降的介绍可以看线性回归中的介绍
【机器学习】-- 线性回归算法

正则化

为了防止模型出现过拟合的问题,出现原本数据集没有的特征,可以采取正则化的方法,来降低高次方项的系数

正则化就是在计算代价函数时,增加惩罚项,来逼迫模型减小高次方项的系数

1.L1正则化

J ( w , b ) = 1 m ∑ i = 1 m L ( f w , b ( x ( i ) ) , y ( i ) ) + ∑ λ m ∣ w i ∣ J(w,b) = \frac{1}{m}\sum_{i=1}^m L(f_{w,b}(x^{(i)}),y^{(i)}) +\sum\frac{\lambda}{m}|w_i| J(w,b)=m1i=1∑mL(fw,b(x(i)),y(i))+∑mλ∣wi∣
λ \lambda λ表示惩罚力度,过高可能会导致欠拟合,过低可能会导致过拟合,因此通常要搭配网格搜索方法来寻找最佳的惩罚力度

2.L2正则化

J ( w , b ) = 1 m ∑ i = 1 m L ( f w , b ( x ( i ) ) , y ( i ) ) + ∑ λ 2 m w i 2 J(w,b) = \frac{1}{m}\sum_{i=1}^m L(f_{w,b}(x^{(i)}),y^{(i)}) +\sum\frac{\lambda}{2m}w_i^2 J(w,b)=m1i=1∑mL(fw,b(x(i)),y(i))+∑2mλwi2

相关推荐
这个男人是小帅11 分钟前
【GAT】 代码详解 (1) 运行方法【pytorch】可运行版本
人工智能·pytorch·python·深度学习·分类
__基本操作__13 分钟前
边缘提取函数 [OPENCV--2]
人工智能·opencv·计算机视觉
Doctor老王17 分钟前
TR3:Pytorch复现Transformer
人工智能·pytorch·transformer
热爱生活的五柒17 分钟前
pytorch中数据和模型都要部署在cuda上面
人工智能·pytorch·深度学习
HyperAI超神经2 小时前
【TVM 教程】使用 Tensorize 来利用硬件内联函数
人工智能·深度学习·自然语言处理·tvm·计算机技术·编程开发·编译框架
扫地的小何尚4 小时前
NVIDIA RTX 系统上使用 llama.cpp 加速 LLM
人工智能·aigc·llama·gpu·nvidia·cuda·英伟达
埃菲尔铁塔_CV算法6 小时前
深度学习神经网络创新点方向
人工智能·深度学习·神经网络
艾思科蓝-何老师【H8053】7 小时前
【ACM出版】第四届信号处理与通信技术国际学术会议(SPCT 2024)
人工智能·信号处理·论文发表·香港中文大学
秀儿还能再秀7 小时前
机器学习——简单线性回归、逻辑回归
笔记·python·学习·机器学习
weixin_452600697 小时前
《青牛科技 GC6125:驱动芯片中的璀璨之星,点亮 IPcamera 和云台控制(替代 BU24025/ROHM)》
人工智能·科技·单片机·嵌入式硬件·新能源充电桩·智能充电枪