逻辑回归(LR)----机器学习

基本原理
逻辑回归(Logistic Regression,LR)也称为"对数几率回归",又称为"逻辑斯谛"回归。

logistic回归又称logistic 回归分析 ,是一种广义的线性回归分析模型,常用于数据挖掘,疾病自动诊断,经济预测等领域。 逻辑回归根据给定的自变量数据集来估计事件的发生概率,由于结果是一个概率,因此因变量的范围在 0 和 1 之间。
在这里插入图片描述

知识点提炼
分类,经典的二分类算法!
逻辑回归就是这样的一个过程:面对一个回归或者分类问题,建立代价函数,然后通过优化方法迭代求解出最优的模型参数,然后测试验证我们这个求解的模型的好坏。
Logistic 回归虽然名字里带“回归”,但是它实际上是一种分类方法,主要用于两分类问题(即输出只有两种,分别代表两个类别)
回归模型中,y 是一个定性变量,比如 y = 0 或 1,logistic 方法主要应用于研究某些事件发生的概率。
逻辑回归的本质:极大似然估计
逻辑回归的激活函数:Sigmoid
逻辑回归的代价函数:交叉熵
逻辑回归的优缺点
优点:
1)速度快,适合二分类问题
2)简单易于理解,直接看到各个特征的权重
3)能容易地更新模型吸收新的数据
缺点:
对数据和场景的适应能力有局限性,不如决策树算法适应性那么强

逻辑回归中最核心的概念是 Sigmoid 函数,Sigmoid函数可以看成逻辑回归的激活函数。

下图是逻辑回归网络:

在这里插入图片描述

对数几率函数(Sigmoid):
y = σ ( z ) = 1 1 + e − z y = \sigma (z) = \frac{1}{1+e^{-z}} y=σ(z)=1+ez1

通过对数几率函数的作用,我们可以将输出的值限制在区间[0,1]上,p(x) 则可以用来表示概率 p(y=1|x),即当一个x发生时,y被分到1那一组的概率。可是,等等,我们上面说 y 只有两种取值,但是这里却出现了一个区间[0, 1],这是什么鬼??其实在真实情况下,我们最终得到的y的值是在 [0, 1] 这个区间上的一个数,然后我们可以选择一个阈值,通常是 0.5,当 y > 0.5 时,就将这个 x 归到 1 这一类,如果 y< 0.5 就将 x 归到 0 这一类。但是阈值是可以调整的,比如说一个比较保守的人,可能将阈值设为 0.9,也就是说有超过90%的把握,才相信这个x属于 1这一类。了解一个算法,最好的办法就是自己从头实现一次。下面是逻辑回归的具体实现。

Regression 常规步骤

1、寻找h函数(即预测函数)
2、构造J函数(损失函数)
3、想办法(迭代)使得J函数最小并求得回归参数(θ)
函数h(x)的值有特殊的含义,它表示结果取1的概率,于是可以看成类1的后验估计。因此对于输入x分类结果为类别1和类别0的概率分别为:
P(y=1│x;θ)=hθ (x)
P(y=0│x;θ)=1-hθ (x)

代价函数
逻辑回归一般使用交叉熵作为代价函数。关于代价函数的具体细节,请参考代价函数。

神经元的目标是去计算函数 y, 且 y = y(x)。但是我们让它取而代之计算函数 a, 且 a = a(x) 。假设我们把 a 当作 y 等于 1 的概率,1−a 是 y 等于 0 的概率。那么,交叉熵衡量的是我们在知道 y 的真实值时的平均「出乎意料」程度。当输出是我们期望的值,我们的「出乎意料」程度比较低;当输出不是我们期望的,我们的「出乎意料」程度就比较高。

交叉熵代价函数如下所示:
在这里插入图片描述

注:为什么要使用交叉熵函数作为代价函数,而不是平方误差函数?请参考:逻辑回归算法之交叉熵函数理解

逻辑回归伪代码

初始化线性函数参数为1
构造sigmoid函数
重复循环I次
	计算数据集梯度
	更新线性函数参数
确定最终的sigmoid函数
输入训练(测试)数据集
运用最终sigmoid函数求解分类

极大似然估计(Maximum Likelihood Estimation,MLE)

极大似然估计法(the Principle of Maximum Likelihood )由高斯和费希尔(R.A.Figher)先后提出,是被使用最广泛的一种参数估计方法,该方法建立的依据是直观的最大似然原理。
在这里插入图片描述

简介:

极大似然估计是一种用于估计概率分布参数的统计方法。其核心思想是通过最大化似然函数,选择使得观测数据出现的概率最大的参数值。在统计学中,似然函数度量了在给定参数下观察到某一组数据的概率。

总结起来,最大似然估计的目的就是:利用已知的样本结果,反推最有可能(最大概率)导致这样结果的参数值。


原理:极大似然估计是建立在极大似然原理的基础上的一个统计方法,是概率论在统计学中的应用。极大似然估计提供了一种给定观察数据来评估模型参数的方法,即:“模型已定,参数未知”。通过若干次试验,观察其结果,利用试验结果得到某个参数值能够使样本出现的概率为最大,则称为极大似然估计。


极大似然估计可以拆成三个词,分别是“极大”、“似然”、“估计”,分别的意思如下:
极大:最大的概率
似然:看起来是这个样子的
估计:就是这个样子的

连起来就是,最大的概率看起来是这个样子的那就是这个样子的。


举个例子:
有两个妈妈带着一个小孩到了你的面前,妈妈A和小孩长得很像,妈妈B和小孩一点都不像,问你谁是孩子的妈妈,你说是妈妈A。好的,那这种时候你所采取的方式就是极大似然估计:妈妈A和小孩长得像,所以妈妈A是小孩的妈妈的概率大,这样妈妈A看来就是小孩的妈妈,妈妈A就是小孩的妈妈。
总结:极大似然估计就是在只有概率的情况下,忽略低概率事件直接将高概率事件认为是真实事件的思想。


基本概念:

  1. 似然函数: 对于参数 ( θ \theta θ ) 和观测数据集 ( X X X ),似然函数 ( L( θ \theta θ | X ) X) X) ) 表示在给定参数 ( θ \theta θ ) 下观察到数据 ( X X X) 的概率。

  L ( θ ∣ X ) = P ( X ∣ θ ) \ L(\theta | X) = P(X | \theta)  L(θX)=P(Xθ)

  1. 极大似然估计: 极大似然估计的目标是找到能最大化似然函数的参数值。通常采用对数似然函数(对数似然估计)进行求解,因为对数函数的增减性与原函数一致,方便求导。

    Log-Likelihood ( θ ∣ X ) = log ⁡ L ( θ ∣ X ) \text{Log-Likelihood}(\theta | X) = \log L(\theta | X) Log-Likelihood(θX)=logL(θX)

    极大似然估计问题可以形式化为:

    θ ^ MLE = arg ⁡ max ⁡ θ log ⁡ L ( θ ∣ X ) \hat{\theta}_{\text{MLE}} = \arg\max_\theta \log L(\theta | X) θ^MLE=argmaxθlogL(θX)

举例:

考虑一个简单的二项分布(二分类问题):假设观测到了 ( n n n) 次独立的二元实验,其中有 ( k k k) 次成功。成功的概率为 ( p p p),失败的概率为 ( 1 − p 1-p 1p)。则似然函数为:

L ( p ∣ k , n ) = ( n k ) p k ( 1 − p ) n − k L(p | k, n) = \binom{n}{k} p^k (1-p)^{n-k} L(pk,n)=(kn)pk(1p)nk

对数似然函数为:

Log-Likelihood ( p ∣ k , n ) = k log ⁡ ( p ) + ( n − k ) log ⁡ ( 1 − p ) \text{Log-Likelihood}(p | k, n) = k \log(p) + (n-k) \log(1-p) Log-Likelihood(pk,n)=klog(p)+(nk)log(1p)

最大化对数似然函数,可以得到 ( p p p) 的极大似然估计。

面试考点:

  1. 理解似然函数: 能够解释似然函数的含义,即在给定参数下观测到当前数据的可能性。

  2. 极大似然估计的求解: 理解如何通过最大化似然函数或对数似然函数来估计参数,以及这一过程的数学推导。

  3. 应用场景: 理解极大似然估计在不同概率分布、机器学习模型参数估计等方面的应用。

  4. 性质与假设: 了解极大似然估计的一些性质,以及估计中的一些假设条件。

  5. 比较: 能够与贝叶斯估计等其他参数估计方法进行比较,理解它们之间的异同。

  6. 实际问题: 在实际问题中能够应用极大似然估计,例如在统计学、机器学习中的具体场景。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/289735.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

基于Rangenet Lib的自动驾驶LiDAR点云语义分割与可视化

这段代码是一个C程序&#xff0c;用于处理来自KITTI数据集的激光雷达&#xff08;LiDAR&#xff09;扫描数据。程序主要实现以下功能&#xff1a; 1. **读取和解析命令行参数**&#xff1a;使用Boost库中的program_options模块来定义和解析命令行参数。这包括扫描文件路径、模型…

李沐机器学习系列2--- mlp

1 Introduction LP中有一个很强的假设&#xff0c;输入和输出是线性关系&#xff0c;这一般是不符合事实的。 通过几何的方式去对信息进行理解和压缩是比较高效的&#xff0c;MLP可以表示成下面的形式。 1.1 从线性到非线性 X ∈ R n d X \in R^{n \times d} X∈Rnd表示输入…

深信服技术认证“SCCA-C”划重点:云计算关键技术

为帮助大家更加系统化地学习云计算知识&#xff0c;高效通过云计算工程师认证&#xff0c;深信服特推出“SCCA-C认证备考秘笈”&#xff0c;共十期内容。“考试重点”内容框架&#xff0c;帮助大家快速get重点知识。 划重点来啦 *点击图片放大展示 深信服云计算认证&#xff08…

神经网络:经典模型热门模型

在这里插入代码片【一】目标检测中IOU的相关概念与计算 IoU&#xff08;Intersection over Union&#xff09;即交并比&#xff0c;是目标检测任务中一个重要的模块&#xff0c;其是GT bbox与pred bbox交集的面积 / 二者并集的面积。 下面我们用坐标&#xff08;top&#xff0…

电动汽车BMS PCB制板的技术分析与可制造性设计

随着电动汽车行业的迅猛发展&#xff0c;各大厂商纷纷投入巨资进行技术研发和创新。电动汽车的核心之一在于其电池管理系统&#xff08;Battery Management System, BMS&#xff09;&#xff0c;而BMS的心脏则是其印刷电路板&#xff08;PCB&#xff09;。通过这篇文章探讨电动…

Application layer

title: 应用层 date: 2023-12-20 21:03:48 tags: 知识总结 categories: 计算机网络 应用层&#xff1a;负责最直观的应用请求的封装、发起 一、域名系统DNS 连接在互联网上的主机不仅有IP地址&#xff0c;还有便于用户记忆的主机名字。域名系统DNS能够把互联网上的主机的名字…

Idea启动运行“错误:java: 无效的源发行版: 13”,如何解决?

以上是以JDK1.8的项目作为举例&#xff0c;如果您用的是其他版本请选择对应的language level idea中项目的language level的含义 language level指的是编译项目代码所用的jdk版本。那么&#xff0c;从这个定义出发会有两个小问题。 ❶ 如果project sdk是jdk8&#xff0c;那么la…

卡尔曼滤波算法

卡尔曼滤波算法是一种经典的状态估计算法&#xff0c;它广泛应用于控制领域和信号处理领域。在电动汽车领域中&#xff0c;卡尔曼滤波算法也被广泛应用于电池管理系统中的电池状态估计。其中&#xff0c;电池的状态包括电池的剩余容量&#xff08;SOC&#xff09;、内阻、温度等…

openGauss学习笔记-185 openGauss 数据库运维-升级-提交升级/升级版本回退/异常处理

文章目录 openGauss学习笔记-185 openGauss 数据库运维-升级-提交升级/升级版本回退/异常处理185.1 提交升级操作步骤 185.2 升级版本回滚操作步骤 185.3 异常处理升级问题FAQ openGauss学习笔记-185 openGauss 数据库运维-升级-提交升级/升级版本回退/异常处理 185.1 提交升级…

Swift并发的结构化编程

并发&#xff08;concurrency&#xff09; 早期的计算机 CPU 都是单核的&#xff0c;操作系统为了达到同时完成多个任务的效果&#xff0c;会将 CPU 的执行时间分片&#xff0c;多个任务在同一个 CPU 核上按时间先后交替执行。由于 CPU 执行速度足够地快&#xff0c;给人的错觉…

基于Java+SpringBoot+vue+elementUI私人健身教练预约管理系统设计实现

基于JavaSpringBootvueelementUI私人健身教练预约管理系统设计实现 欢迎点赞 收藏 ⭐留言 文末获取源码联系方式 文章目录 基于JavaSpringBootvueelementUI私人健身教练预约管理系统设计实现一、前言介绍&#xff1a;二、系统设计&#xff1a;2.1 性能需求分析2.2 B/S架构&…

Baumer工业相机堡盟工业相机如何通过NEOAPI SDK实现相机掉线自动重连(C#)

Baumer工业相机堡盟工业相机如何通过NEOAPI SDK实现相机掉线自动重连&#xff08;C#&#xff09; Baumer工业相机Baumer工业相机的掉线自动重连的技术背景通过PnP事件函数检查Baumer工业相机是否掉线在NEOAPI SDK里实现相机掉线重连方法&#xff1a;工业相机掉线重连测试演示图…

Python武器库开发-武器库篇之代理池配置(四十)

武器库篇之代理池配置(四十) 我们在渗透的过程中&#xff0c;是必须要挂代理的&#xff0c;相信为何要挂代理的原因&#xff0c;各位也是非常的明白的&#xff0c;这里就不多讲了。关于如何挂代理和购买代理大家可以去看内网隧道代理技术&#xff08;十&#xff09;之公网资产…

优雅地展示20w单细胞热图|非Doheatmap 超大数据集 细胞数太多

单细胞超大数据集的热图怎么画&#xff1f;昨天刚做完展示20万单细胞的热图要这么画吗&#xff1f; 今天就有人发消息问我为啥他画出来的热图有问题。 问题起源 昨天分享完 20万单细胞的热图要这么画吗&#xff1f;&#xff0c;就有人问为啥他的数据会出错。我们先来看下他的…

CMU15-445-Spring-2023-Project #0 - C++ Primer

前置任务。 Task #1 - Copy-On-Write Trie Copy-on-write (COW) Trie 在进行修改时&#xff0c;不会立即复制整个数据结构。相反&#xff0c;它会在需要修改的节点被多个引用的时候才进行复制。当要对某个节点进行写操作&#xff08;添加子节点或者继续向下insert&#xff09…

FLASH 闪存-stm32入门

本节我们学习的内容是 STM32 的 FLASH&#xff0c;闪存。 当然闪存是一个通用的名词&#xff0c;表示的是一种非易失性&#xff0c;也就是掉电不丢失的存储器。比如&#xff0c;我们之前学习 SPI 的时候&#xff0c;用的 W25Q64 芯片&#xff0c;就是一种闪存存储器芯片。 而…

【QML】与 C++ 混合编程:互相调用函数

文章目录 qml 调用 C 函数案例 a&#xff1a;Q_INVOKABLE 标记 C 函数 视图设置进 qml 属性案例 b&#xff1a;qml 通过发送信号的方式&#xff0c;调用 Qt 槽函数 C调用qml函数 qml 调用 C 函数 qml 要使用 C 的函数有两个方法&#xff1a; 一种是&#xff0c;用 Q_INVOKABLE…

守护进程“独辟蹊径”

守护进程“独辟蹊径” 一、前言二、实际运用2.1 知识介绍2.2 单机库场景应用2.2.1 配置dmwatcher.ini2.2.2 注册后台守护服务2.2.3 配置dmmal.ini2.2.4 配置归档和守护OGUID2.2.5 开启mal2.2.6 启动守护2.2.7 测试dmserver异常退出 三、总结 DM技术交流QQ群&#xff1a;9401242…

数据结构—环形缓冲区

写在前面&#xff0c;2023年11月开始进入岗位&#xff0c;工作岗位是嵌入式软件工程师。2024年是上班的第一年的&#xff0c;希望今年收获满满&#xff0c;增长见闻。 数据结构—环形缓冲区 为什么要使用环形数组&#xff0c;环形数组比起原来的常规数组的优势是什么&#xf…

Windows 10系统用Xlight FTP搭建SFTP服务器

步骤&#xff1a; 1.安装SFTP服务器 刚开始我使用的是freeSSHd&#xff0c;后面发现由于公司网络原因&#xff0c;打不开这个软件&#xff0c;改成了使用Xlight FTP&#xff0c; 官网下载链接&#xff1a;Xlight FTP 服务器 - 下载免费的windows FTP 服务器 Xlight FTP有30…