【机器学习】逻辑回归介绍(逻辑回归应用场景,原理,损失及优化详解!!!)

简介: 【机器学习】逻辑回归介绍(逻辑回归应用场景,原理,损失及优化详解!!!)

学习目标

🍀 了解逻辑回归的应用场景

🍀 知道逻辑回归的原理

🍀 掌握逻辑回归的损失函数和优化方案

🍔 逻辑回归的应用场景

逻辑回归(Logistic Regression)是机器学习中的 一种分类模型 ,逻辑回归是一种分类算法,虽然名字中带有回归。由于算法的简单和高效,在实际中应用非常广泛

  • 广告点击率
  • 是否为垃圾邮件
  • 是否患病
  • 信用卡账单是否会违约

看到上面的例子,我们可以发现其中的特点,那就是都属于两个类别之间的判断。逻辑回归就是解决二分类问题的利器

🍔 逻辑回归的原理

要想掌握逻辑回归,必须掌握两点:

  • 逻辑回归中,其输入值是什么
  • 如何判断逻辑回归的输出

2.1 输入

逻辑回归的输入就是一个线性方程

2.2 激活函数

不熟悉神经网络和激活函数的小伙伴们可以参考该篇文章:带你迅速了解sigmoid,tanh,ReLU等激活函数http://t.csdnimg.cn/IiZ6h

🐼 sigmoid函数

判断标准

  • 回归的结果输入到sigmoid函数当中
  • 输出结果:[0, 1]区间中的一个概率值,默认为0.5为阈值

逻辑回归最终的分类是通过属于某个类别的概率值来判断是否属于某个类别,并且这个类别默认标记为1(正例),另外的一个类别会标记为0(反例)。(方便损失计算)

输出结果解释(重要):假设有两个类别A,B,并且假设我们的概率值为属于A(1)这个类别的概率值。现在有一个样本的输入到逻辑回归输出结果0.55,那么这个概率值超过0.5,意味着我们训练或者预测的结果就是A(1)类别。那么反之,如果得出结果为0.3那么,训练或者预测结果就为B(0)类别。

关于 逻辑回归的阈值是可以进行改变的 ,比如上面举例中,如果你把阈值设置为0.6,那么输出的结果0.55,就属于B类。

在之前,我们用均方误差来衡量线性回归的损失

在逻辑回归中,当预测结果不对的时候,我们该怎么衡量其损失呢?

我们来看下图(下图中,设置阈值为0.6),

那么如何去衡量逻辑回归的预测结果真实结果的差异呢?

🍔 损失以及优化

3.1 损失

逻辑回归的损失,称之为 对数似然损失 ,公式如下:

分开类别:

其中y为真实值,h_\theta(x)为预测值

怎么理解单个的式子呢?这个要根据log的函数图像来理解

无论何时,我们都希望 损失函数值,越小越好

分情况讨论,对应的损失函数值:

  • 当y=1时,我们希望h_\theta(x)值越大越好;
  • 当y=0时,我们希望h_\theta(x)值越小越好
  • 综合完整损失函数

接下来我们呢就带入上面那个例子来计算一遍,就能理解意义了。

🤖 我们已经知道,-log(P), P值越大,结果越小,所以我们可以对着这个损失的式子去分析

3.2 优化

同样使用梯度下降优化算法,去减少损失函数的值。这样去更新逻辑回归前面对应算法的权重参数,提升原本属于1类别的概率,降低原本是0类别的概率。

🍔 小结

🍬 逻辑回归概念

  • 解决的是一个二分类问题
  • 逻辑回归的输入是线性回归的输出

🍬 逻辑回归的原理

  • 输入:线性方程
  • 激活函数:sigmoid函数,把线性方程的值域映射到[0,1],再设置一个阈值,进行分类判断

🍬 逻辑回归的损失和优化

  • 损失:对数似然损失
  • 优化:提升原本属于1类别的概率,降低原本是0类别的概率
相关文章
|
16天前
|
算法
PAI下面的gbdt、xgboost、ps-smart 算法如何优化?
设置gbdt 、xgboost等算法的样本和特征的采样率
39 2
|
2月前
|
机器学习/深度学习 PyTorch API
优化注意力层提升 Transformer 模型效率:通过改进注意力机制降低机器学习成本
Transformer架构自2017年被Vaswani等人提出以来,凭借其核心的注意力机制,已成为AI领域的重大突破。该机制允许模型根据任务需求灵活聚焦于输入的不同部分,极大地增强了对复杂语言和结构的理解能力。起初主要应用于自然语言处理,Transformer迅速扩展至语音识别、计算机视觉等多领域,展现出强大的跨学科应用潜力。然而,随着模型规模的增长,注意力层的高计算复杂度成为发展瓶颈。为此,本文探讨了在PyTorch生态系统中优化注意力层的各种技术,
71 6
优化注意力层提升 Transformer 模型效率:通过改进注意力机制降低机器学习成本
|
30天前
|
机器学习/深度学习 存储 运维
分布式机器学习系统:设计原理、优化策略与实践经验
本文详细探讨了分布式机器学习系统的发展现状与挑战,重点分析了数据并行、模型并行等核心训练范式,以及参数服务器、优化器等关键组件的设计与实现。文章还深入讨论了混合精度训练、梯度累积、ZeRO优化器等高级特性,旨在提供一套全面的技术解决方案,以应对超大规模模型训练中的计算、存储及通信挑战。
65 4
|
2月前
|
人工智能 监控 安全
大模型训练遭投毒损失千万美元?Anthropic惊人发现:LLM植入炸弹,代码库暗藏bug!
在AI领域,前沿语言模型的快速发展引人注目,但也带来了潜在的灾难性风险。Anthropic等机构研究了模型的破坏性能力,即模型在特定情境下通过隐蔽手段破坏人类评估、监控或决策的能力。研究团队设计了模拟部署场景的评估方法,对Claude 3 Opus和Claude 3.5 Sonnet模型进行了评估,发现这些模型在当前监督下未达到破坏性能力的阈值,但随着能力提升,未来可能需要更严格的评估和缓解措施。
34 4
|
2月前
|
机器学习/深度学习 Python
机器学习中模型选择和优化的关键技术——交叉验证与网格搜索
本文深入探讨了机器学习中模型选择和优化的关键技术——交叉验证与网格搜索。介绍了K折交叉验证、留一交叉验证等方法,以及网格搜索的原理和步骤,展示了如何结合两者在Python中实现模型参数的优化,并强调了使用时需注意的计算成本、过拟合风险等问题。
64 6
|
2月前
|
机器学习/深度学习 人工智能 TensorFlow
基于TensorFlow的深度学习模型训练与优化实战
基于TensorFlow的深度学习模型训练与优化实战
103 0
|
2月前
|
机器学习/深度学习 自然语言处理 语音技术
探索机器学习中的深度学习模型:原理与应用
探索机器学习中的深度学习模型:原理与应用
46 0
|
2月前
|
机器学习/深度学习 算法 数据挖掘
K-means聚类算法是机器学习中常用的一种聚类方法,通过将数据集划分为K个簇来简化数据结构
K-means聚类算法是机器学习中常用的一种聚类方法,通过将数据集划分为K个簇来简化数据结构。本文介绍了K-means算法的基本原理,包括初始化、数据点分配与簇中心更新等步骤,以及如何在Python中实现该算法,最后讨论了其优缺点及应用场景。
117 4
|
2月前
|
机器学习/深度学习 算法 数据挖掘
C语言在机器学习中的应用及其重要性。C语言以其高效性、灵活性和可移植性,适合开发高性能的机器学习算法,尤其在底层算法实现、嵌入式系统和高性能计算中表现突出
本文探讨了C语言在机器学习中的应用及其重要性。C语言以其高效性、灵活性和可移植性,适合开发高性能的机器学习算法,尤其在底层算法实现、嵌入式系统和高性能计算中表现突出。文章还介绍了C语言在知名机器学习库中的作用,以及与Python等语言结合使用的案例,展望了其未来发展的挑战与机遇。
51 1
|
2月前
|
机器学习/深度学习 自然语言处理 算法
深入理解机器学习算法:从线性回归到神经网络
深入理解机器学习算法:从线性回归到神经网络