逻辑回归(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. 实际问题: 在实际问题中能够应用极大似然估计,例如在统计学、机器学习中的具体场景。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

FA发放云桌面并与FC对接

&#xff08;7&#xff09;分配桌面&#xff08;该组为刚刚创建的域名用户和组&#xff09;&#xff0c;确认无误&#xff0c;直接发放 &#xff08;8&#xff09;可在任务中心查看发放的进度 3、FA的登录流程 &#xff08;1&#xff09;登录WI&#xff1a;客户端访问VLB&…

springcloud alibaba整合sentinel并结合dashboard控制面板设置规则

目录 一、springcloud alibaba整合sentinel二、采用代码方式设置流控规则三、结合dashboard控制面板设置规则3.1、准备工作3.2、设置全局异常处理3.3、编写测试接口3.4、结合dashboard控制面板设置规则3.4.1、流控规则设置并测试——QPS3.4.2、流控规则设置并测试——线程数3.4…

【Unity嵌入Android原生工程】

Unity嵌入Android原生工程 本章学习,Unity模块嵌入Android## 标题Unity导出Android工程创建Android Studio工程Unity嵌入到Andorid StudioAndroid原生代码跳转到Unity场景工作需要嵌入原生工程,并实现热更,记录一下 工具,Unity2023.3.14,Android Studio 2022.3.1 patch3 Un…

《JVM由浅入深学习【四】 2023-12-24》JVM由简入深学习提升分享

JVM由简入深学习提升分享四 1.JVM中java堆的特点及作用2. JVM中对象如何在堆内存中分配3. JVM堆内存中的对象布局 1.JVM中java堆的特点及作用 是线程共享的一块区域虚拟机启动时就创建了是虚拟机中内存占用很大的一块存放所有的实例对象和数组GC主要的作用区域可分为新生代&am…

初学者快速入门学习日语,PDF文档音频教学资料合集

一、资料描述 本套学习资料是很全面的&#xff0c;共有734份文件&#xff0c;包括PDF&#xff0c;PPT&#xff0c;表格&#xff0c;图片&#xff0c;音频等多种格式&#xff0c;可以作为初级日语的学习教材&#xff0c;也是非常适合初学者入门的&#xff0c;可以帮助大家快速的…

Nginx(十三) 配置文件详解 - 反向代理(超详细)

本篇文章主要讲ngx_http_proxy_module和ngx_stream_proxy_module模块下各指令的使用方法。 1. 代理请求 proxy_pass 1.1 proxy_pass 代理请求 Syntax: proxy_pass URL; Default: — Context: location, if in location, limit_except 设置代理服务器的协议和地址以…

使用Redis进行搜索

文章目录 构建反向索引 构建反向索引 在Begin-End区域编写 tokenize(content) 函数&#xff0c;实现文本标记化的功能&#xff0c;具体参数与要求如下&#xff1a; 方法参数 content 为待标记化的文本&#xff1b; 文本标记的实现&#xff1a;使用正则表达式提取全小写化后的…

初识Java并发,一问读懂Java并发知识文集(1)

&#x1f3c6;作者简介&#xff0c;普修罗双战士&#xff0c;一直追求不断学习和成长&#xff0c;在技术的道路上持续探索和实践。 &#x1f3c6;多年互联网行业从业经验&#xff0c;历任核心研发工程师&#xff0c;项目技术负责人。 &#x1f389;欢迎 &#x1f44d;点赞✍评论…

数据库索引、三范式、事务

索引 索引&#xff08;Index&#xff09;是帮助 MySQL 高效获取数据的数据结构。常见的查询算法,顺序查找,二分查找,二叉排序树查找,哈希散列法,分块查找,平衡多路搜索树 B 树&#xff08;B-tree&#xff09;。 常见索引原则有 选择唯一性索引&#xff1a;唯一性索引的值是唯…

树与二叉树笔记整理

摘自小红书 ## 树与二叉树 ## 排序总结

eclipse中更改jdk版本

文章目录 步骤1&#xff1a;installed JREs步骤2&#xff1a;选择已安装的jdk步骤3&#xff1a;项目配置 步骤1&#xff1a;installed JREs 在eclipse上方工具栏找到Window -->Preferences,如下图所示&#xff1a; 选择Installed JREs 点击 Add 按钮&#xff0c; 选择Stand…

【字典树Trie】LeetCode-139. 单词拆分

139. 单词拆分。 给你一个字符串 s 和一个字符串列表 wordDict 作为字典。请你判断是否可以利用字典中出现的单词拼接出 s 。 注意&#xff1a;不要求字典中出现的单词全部都使用&#xff0c;并且字典中的单词可以重复使用。 示例 1&#xff1a; 输入: s "leetcode&q…

MySQL是如何保证数据一致性的?

文章目录 前言MySQL保证的一致性MySQL发生不一致环节并发冲突redolog不完整binlog&redolog不一致 MySQL解决不一致方案加锁解决并发冲突undolog解决redolog不完整XA两阶段提交解决binlog和redolog的不一致 总结 前言 通过上文《MySQL是如何保证数据不丢失的&#xff1f;》…

Ubuntu安装CUDA出在三个cuda相关文件夹?

按照网上的教程&#xff0c;在/usr/local中操作cuda文件夹&#xff0c;但是发现这里会出现不止一个cuda文件夹&#xff1a; 可以看大这里有cuda、cuda-11、cuda-11.8三个文件夹&#xff0c;实际上我安装的是11.8的cuda&#xff0c;那么第三个文件是好理解的&#xff0c;就是我…

Django Web框架

1、创建PyCharm项目 2、安装框架 pip install django4.2.0 3、查看安装的包列表 4、使用命令创建django项目 django-admin startproject web 5、目录结构 6、运行 cd web python manage.py runserver7、初始化后台登录的用户名密码 执行数据库迁移生成数据表 python man…

【Redis交响乐】Redis中的数据类型/内部编码/单线程模型

文章目录 一. Redis中的数据类型和内部编码二. Redis的单线程模型面试题: redis是单线程模型,为什么效率之高,速度之快呢? 在上一篇博客中我们讲述了Redis中的通用命令,本篇博客中我们将围绕每个数据结构来介绍相关命令. 一. Redis中的数据类型和内部编码 type命令实际返回的…

【MATLAB】EMD_LSTM神经网络时序预测算法

有意向获取代码&#xff0c;请转文末观看代码获取方式~也可转原文链接获取~ 1 基本定义 EMD-LSTM神经网络时序预测算法是一种结合了经验模态分解&#xff08;EMD&#xff09;和长短期记忆神经网络&#xff08;LSTM&#xff09;的时间序列预测方法。 EMD是一种处理非平稳信号的…

Linux的引导过程与服务控制

一.开机启动的完整过程 引导过程&#xff1a; 1.bios加电自检 检测硬件是否正常&#xff0c;然后根据bios中的启动项设置&#xff0c;去找内核文件 服务器主机开机以后&#xff0c;将根据主板BIOS中的设置对CPU、内存、显卡、键盘灯设备进行初步检测&#xff0c;检测成功后根…

stable diffusion 基础教程-图生图

界面 图生图大概有以下几个功能: 图生图涂鸦绘制局部绘制局部绘制(涂鸦蒙版)其常用的也就上面四个,接下来逐步讲解。 以图反推提示词 图生图可以根据反推提示词来获取相应图片的提示词,目前3种主流方式,如下: CLIP反推提示词:推导出的文本倾向于自然语言的描述方式,…

openmediavault(OMV) (26)网络(1)ddns-go

简介 "ddns-go" 是一个动态域名解析(Dynamic DNS)工具,用于更新域名的IP地址。它可以自动检测你的公共IP地址,并将其更新到指定的域名解析服务商,以确保你的域名始终与最新的IP地址相匹配。 安装 hub.docker.com上下载ddns-go镜像 配置compose文件 --- versio…