1.倒排索引 2.逻辑斯提回归算法

news2024/10/2 20:26:17

在这里插入图片描述

1.倒排索引

https://help.aliyun.com/zh/open-search/retrieval-engine-edition/introduction-to-inverted-indexes

倒排索引(Inverted Index)是一种数据结构,用于快速查找包含某个特定词或词语的文档。它主要用于全文搜索引擎等应用,允许用户根据关键词迅速定位相关文档。

倒排索引的基本思想是反转(倒排)文档-词语的映射关系。通常,在构建倒排索引时,会对文档集合中的每个文档进行分词,并记录每个词在哪些文档中出现。每个词都对应一个包含它的文档列表。这样,当需要搜索包含某个关键词的文档时,只需查找倒排索引中相应词的文档列表。

以下是构建倒排索引的基本步骤:

  1. 文档分词: 将每个文档进行分词,得到一组词语。

  2. 构建映射关系: 对每个词语,记录它在哪些文档中出现。

  3. 构建倒排索引: 对每个词语,建立一个索引,将其映射到包含它的文档列表。

倒排索引的优点包括:

  • 高效的检索: 对于大规模文本数据,使用倒排索引可以快速定位包含特定关键词的文档。

  • 省空间: 与直接存储文档之间的映射关系相比,倒排索引通常更省空间。

  • 支持复杂查询: 可以轻松支持多关键词的布尔查询和短语查询等。

倒排索引在全文搜索引擎中被广泛应用,例如在Google、Bing等搜索引擎中,它们利用倒排索引实现了快速而准确的搜索功能。

2.逻辑斯提回归算法

逻辑斯蒂回归(Logistic Regression)是一种用于二分类问题的机器学习算法,尽管名字中包含“回归”一词,但它实际上是一种分类算法而非回归算法。逻辑斯蒂回归可以用于解决概率估计问题,它输出一个在0和1之间的概率值,表示样本属于某一类的可能性。

逻辑斯蒂回归的基本原理如下:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 假设函数: 假设函数采用逻辑斯蒂(sigmoid)函数,它的数学表达式为:

    [ h_\theta(x) = \frac{1}{1 + e{-\thetaT x}} ]

    其中,(h_\theta(x)) 是样本 (x) 属于正类的概率,(\theta) 是模型的参数向量。

  2. 损失函数: 逻辑斯蒂回归使用交叉熵损失函数(Cross-Entropy Loss)来衡量模型的性能,其数学表达式为:

    [ J(\theta) = -\frac{1}{m} \sum_{i=1}^{m} \left[ y^{(i)} \log(h_\theta(x^{(i)})) + (1 - y^{(i)}) \log(1 - h_\theta(x^{(i)})) \right] ]

    其中,(m) 是样本数量,(y^{(i)}) 是样本 (x^{(i)}) 的实际类别标签。

  3. 参数优化: 通过最小化损失函数来优化模型的参数 (\theta)。这通常使用梯度下降等优化算法来实现。

逻辑斯蒂回归适用于线性可分的二分类问题,它对特征进行线性组合,并通过逻辑斯蒂函数将结果映射到0到1之间的概率。在实践中,逻辑斯蒂回归广泛应用于各种领域,如医学、金融和自然语言处理等。

需要注意的是,逻辑斯蒂回归虽然名字中包含“回归”,但其实质是一种分类算法,用于解决二分类问题。在处理多分类问题时,可以通过扩展为多类别逻辑斯蒂回归(Multinomial Logistic Regression)或使用其他多分类算法。

2.1 机器学习算法(一):逻辑回归模型(Logistic Regression, LR)

https://blog.csdn.net/weixin_39910711/article/details/81607386

(1) 分类平面是平面,曲面或者超平面分别是什么含义与作用

在机器学习中,分类平面、曲面和超平面是描述决策边界(decision boundary)的概念,这些边界用于将不同类别的样本分开。

  1. 分类平面: 一般指的是在二维空间中的平面,用于将两个类别的数据点分开。在这种情况下,决策边界就是一个平面。分类平面用于解决简单的二分类问题,其中数据可以被直线或平面分开。

  2. 曲面: 当决策边界不能通过平面表示,而需要通过曲面来分隔不同类别的样本时,我们可以使用曲面。曲面可以是在三维空间中的曲面,也可以是在更高维度空间中的曲面。曲面常常用于解决二分类或多分类问题。

  3. 超平面: 超平面是在高维空间中的一个平面。在机器学习中,支持向量机(Support Vector Machine,SVM)等算法常常使用超平面作为决策边界。对于二分类问题,超平面是一个 (n-1) 维的平面,其中 n 是特征的维度。超平面将特征空间分成两个部分,每一部分对应一个类别。

这些概念的作用是定义了模型的决策边界,即在特征空间中,模型如何将不同类别的样本分隔开。决策边界的形状取决于模型的类型和复杂性。线性模型(如逻辑斯蒂回归、线性支持向量机)可能产生线性的决策边界(平面或超平面),而非线性模型(如核支持向量机、决策树)可能产生曲面或更为复杂的决策边界,以更好地拟合数据。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

(2)什么是交叉熵?什么是MSE?分别有什么优势和劣势。

交叉熵(Cross-Entropy)和均方误差(Mean Squared Error,MSE)是用于衡量模型预测值与真实值之间差异的两种损失函数。它们在不同的任务和模型中有各自的优势和劣势。

1. 交叉熵(Cross-Entropy):

交叉熵主要用于分类问题,特别是在神经网络中用作分类模型的损失函数。对于二分类问题,交叉熵损失函数的数学表达式如下:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

优势:

  • 适用于分类问题,尤其在深度学习中常用于训练分类模型。
  • 对于分类问题,交叉熵损失函数可以更好地反映模型对不同类别的置信度。

劣势:

  • 对于离散的标签,交叉熵更为适用,但在一些回归问题上不够合适。

2. 均方误差(Mean Squared Error,MSE):

均方误差主要用于回归问题,衡量模型预测值与真实值之间的平方差的平均值。均方误差的数学表达式为:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

其中,(y_i) 是真实标签,(\hat{y}_i) 是模型的预测值,(N) 是样本数量。

优势:

  • 适用于回归问题,对于输出是连续值的任务较为合适。
  • 对异常值不敏感,因为使用了平方。

劣势:

  • 在处理分类问题时,MSE 通常不如交叉熵效果好,因为它对于分类问题中的概率分布不够敏感。

在选择损失函数时,需要根据任务类型和模型特性进行合适的选择。在分类任务中,通常使用交叉熵损失函数;而在回归任务中,可以选择均方误差或其他适用的回归损失函数。

2.2 【机器学习】逻辑回归(非常详细)

https://zhuanlan.zhihu.com/p/74874291

2.3 加入正则化项的作用,以及加入正则化项的形式

正则化是在机器学习模型的训练过程中为损失函数添加额外项,以避免过拟合和提高模型的泛化能力。通过正则化,可以对模型参数的大小进行限制,防止其过于复杂,减小模型对训练数据的过度拟合。

在损失函数中添加正则化项的一般形式为:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

其中,(J(\theta)) 是包含正则化项的新损失函数,(\lambda) 是正则化强度的超参数,(\theta) 是模型的参数。

常用的正则化项包括 L1 正则化和 L2 正则化:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

L2 正则化通过对权重的平方进行惩罚,倾向于让权重尽可能小,但不会让它们变为零。它有助于缓解特征间的共线性问题。

在机器学习中,正则化的作用有以下几点:

  1. 防止过拟合: 正则化通过限制模型的复杂度,防止模型在训练数据上过度拟合,提高对新数据的泛化能力。

  2. 特征选择: L1 正则化的特点是可以使一些特征的权重为零,从而实现特征选择,减少不重要的特征对模型的影响。

  3. 缓解共线性: L2 正则化有助于缓解特征之间的共线性问题,使模型对输入特征变化更为稳健。

在实际应用中,超参数 (\lambda) 的选择通常通过交叉验证等方法来确定。正则化在许多机器学习算法中都得到了广泛的应用,例如线性回归、逻辑斯蒂回归、支持向量机等。

2.4 为什么L1正则化可以产生稀疏模型(L1是怎么让系数等于零的),以及为什么L2正则化可以防止过拟合。

L1 正则化产生稀疏模型的原因:

L1 正则化通过在损失函数中添加 ( \lambda \sum_{i=1}^{n} |w_i| ) 项,其中 (w_i) 是模型的权重,(n) 是权重的数量。这个额外的惩罚项具有一种特殊的性质,它促使模型学习到的权重中的一些值变为零。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

具体来说,L1 正则化在优化过程中,倾向于将某些特征对应的权重直接设为零。这是因为 L1 正则化的梯度在某个特征的权重等于零时不可导,而在其他地方都是可导的。因此,为了最小化损失函数,模型倾向于让一些特征的权重直接变为零,从而实现稀疏性。

对于具有大量特征的问题,L1 正则化能够帮助识别并保留对目标变量预测有贡献的关键特征,而将其他特征的权重设为零。这种特性在特征选择和解释模型中很有用。

L2 正则化防止过拟合的原因:

L2 正则化通过在损失函数中添加 ( \lambda \sum_{i=1}^{n} w_i^2 ) 项,其中 (w_i) 是模型的权重,(n) 是权重的数量。相比于 L1 正则化,L2 正则化的梯度在任何地方都是可导的。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

L2 正则化的效果主要表现在对权重的平方进行惩罚。这导致模型在训练过程中倾向于将权重保持较小的值,避免过度拟合训练数据。

防止过拟合的原因在于,L2 正则化通过限制权重的大小,减缓了模型对训练数据中噪声的过度拟合。较小的权重值使得模型对输入特征的小变化不敏感,从而提高了模型对新数据的泛化能力。

综合来看,L1 正则化通过产生稀疏模型,有助于特征选择和模型解释;而 L2 正则化通过控制权重的大小,有助于防止模型过拟合。在实际应用中,可以根据问题的特性选择使用 L1 正则化、L2 正则化,或者它们的组合(弹性网络 Elastic Net)。

2.5 softmax函数

Softmax 函数是一种常用的激活函数,特别适用于多分类问题。它将一个包含任意实数的 K 维向量,映射为一个 K 维的概率分布,其中每个元素的取值范围在 (0, 1) 之间,并且所有元素的和为 1。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Softmax 函数的性质使得它在多分类问题中特别有用,因为它可以将模型的原始输出转换为类别概率。在深度学习中,通常将 Softmax 函数作为神经网络输出层的激活函数,以便将神经网络的原始输出转换为类别概率。

Softmax 函数的特点包括:

  1. 归一性: Softmax 函数的输出是一个概率分布,因此所有元素的和等于 1,这使得它可以表示一个完整的类别分布。

  2. 连续性: Softmax 函数是光滑的,可导数的,这在梯度下降等优化算法中很有用。

  3. 转换作用: Softmax 函数对原始分数进行了指数变换,使得大的分数更大,小的分数更小,这有助于突显模型在输入上的置信度。

Softmax 函数在交叉熵损失(Cross-Entropy Loss)等多分类问题中的配合使用,使得模型能够输出概率分布,并且在训练过程中通过最小化损失函数来调整模型参数,以便更好地匹配真实的类别分布。

5 为什么逻辑斯蒂回归的输出值可以作为概率

逻辑斯蒂回归(Logistic Regression)的输出值可以被解释为样本属于某一类别的概率,这是因为逻辑斯蒂回归使用了逻辑斯蒂函数(sigmoid函数)作为激活函数。

逻辑斯蒂函数的数学表达式为:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

逻辑斯蒂函数具有以下性质:

  1. 输出范围:逻辑斯蒂函数的输出范围在 (0, 1) 之间,即对于任何实数输入,输出都在 0 到 1 之间。

  2. 单调性:逻辑斯蒂函数是单调递增的,即当 (z_1 < z_2) 时,(\sigma(z_1) < \sigma(z_2))。

  3. 饱和性:逻辑斯蒂函数在两端接近 0 或 1,但不会完全到达,因此避免了输出值严格等于 0 或 1。

由于逻辑斯蒂函数的输出在 (0, 1) 之间,并且趋向于0或1,可以将其解释为某个样本属于正类别的概率。在二分类问题中,通常设定一个阈值(例如0.5),当逻辑斯蒂函数的输出大于阈值时,将样本划分为正类别,否则划分为负类别。

这种概率的解释使得逻辑斯蒂回归在分类问题中非常有用,尤其是在需要估计概率而不仅仅是类别标签的情况下。逻辑斯蒂回归的训练过程通过最小化对数损失函数,使得模型输出的概率尽量接近真实标签的概率。

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

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

相关文章

解锁JDK 12的奇妙之旅:新特性详解

欢迎来到我的博客&#xff0c;代码的世界里&#xff0c;每一行都是一个故事 解锁JDK 12的奇妙之旅&#xff1a;新特性详解 前言switch表达式拓展NumberFormat对复杂数字的格式化字符串支持transform、indent操作新增方法Files.mismatch(Path, Path)Teeing Collector支持unicode…

AG16KDDF256 User Manual

AGM AG16KDDF256 是由 AGM FPGA AG16K 与 DDR-SDRAM 叠封集成的芯片&#xff0c;具有 AG16K FPGA的可编程功能&#xff0c;提供更多可编程 IO&#xff0c;同时内部连接大容量 DDR-SDRAM。  FPGA 外部管脚 FBGA256 封装&#xff0c;管脚说明请见下表 Table-1&#xff1a; Tab…

微服务实战系列之Dubbo(上)

前言 随着一年一度冬至的到来&#xff0c;2023的步伐也将远去。而博主的系列文章&#xff0c;也将从今天起&#xff0c;越来越聚焦如何构建微服务“内核”上。前序系列文章几乎囊括了微服务的方方面面&#xff0c;无论使用什么框架、组件或工具&#xff0c;皆可拿来用之。 那么…

探秘JDK 13的黑科技:新特性一览

欢迎来到我的博客&#xff0c;代码的世界里&#xff0c;每一行都是一个故事 探秘JDK 13的黑科技&#xff1a;新特性一览 前言switch表达式扩展Switch表达式的基本概念&#xff1a;使用Switch表达式的优势&#xff1a;示例代码&#xff1a;注意事项和最佳实践&#xff1a; Text …

【面向对象】对比JavaScript、Go、Ada、Python、C++、Java、PHP的访问限制。

在不同编程语言中&#xff0c;控制成员&#xff08;变量、方法、类等&#xff09;可见性的机制不尽相同。以下是对比JavaScript、Go、Ada、Python、C、Java、PHP所使用的访问限制关键字和约定&#xff1a; 一、JavaScript ### JavaScript访问限制 早期的JavaScript并没有类似…

Selenium4+Python3 - Iframe、Select控件、交互式弹出框、执行JS、Cookie操作

一、iframe操作 iframe识别&#xff1a; 语法&#xff1a; driver.switch_to.frame(‘方式’) 1、常见处理方法三种 index&#xff1a;下标name&#xff1a;id或name属性的值webelement&#xff1a;元素 2、通过下标进入 进入第一个iframe&#xff1a; driver.switch_to.…

【什么是反射机制?为什么反射慢?】

✅ 什么是反射机制&#xff1f;为什么反射慢&#xff1f; ✅典型解析✅拓展知识仓✅反射常见的应用场景✅反射和Class的关系 ✅典型解析 反射机制指的是程序在运行时能够获取自身的信息。在iava中&#xff0c;只要给定类的名字&#xff0c;那么就可以通过反射机制来获得类的所有…

C++笔试训练day_2

文章目录 选择题7. 编程题1.2. 选择题 &#xff08;6&#xff09;因为p2被const修饰所以p2不可以被改变&#xff0c;但是p2的指向可以被改变 &#xff08;7&#xff09;因为指针p3被const修饰&#xff0c;所以p3的指向不能被改变&#xff0c;但是*p3可以被改变 int main() {in…

spring boot集成mybatis和springsecurity实现权限控制功能

上一篇已经实现了登录认证功能&#xff0c;这一篇继续实现权限控制功能&#xff0c;文中代码只贴出来和上一篇不一样的修改的地方&#xff0c;完整代码可结合上一篇一起整理spring boot集成mybatis和springsecurity实现登录认证功能-CSDN博客 数据库建表 权限控制的意思就是根…

前端常用的工具网站

前端常用的工具网站&#x1f516; 文章目录 前端常用的工具网站&#x1f516;1. 图片在线压缩2. iconfont--矢量图标3. JSON在线格式化4. EMOJIALL--表情符号5. removebg--去除图片背景6. FREE API--免费API接口7. Lorem picsum --随机图片8.UU在线工具 -- 聚合工具 1. 图片在线…

Windows系统安装 ffmpeg

下载及解压 ffmpeg官方下载地址&#xff1a;https://ffmpeg.org/download.html 下载好后将其解压至你想保存的位置中。 环境变量设置 打开Windows设置&#xff0c;在搜索框输入&#xff1a;系统高级设置。 新建环境变量&#xff0c;并输入bin目录具体位置。 安装检查 按住 w…

图形处理工具:Photoshop Elements 2020 mac介绍说明

Photoshop Elements 2020 mac简称ps elements 2020&#xff0c;是一款图形处理工具。ps elements 2020 mac可以帮助您自动生成照片和视频作品的功能&#xff0c;采用Sensei AI技术可进行图像组织、编辑和创建等。Photoshop Elements 2020 可以帮助您轻松整理照片和视频&#xf…

【Linux】定时任务

定时任务常用crontab来定期执行程序。 crontab 基本语法 crontab [-u user] -l # 列出用户cron任务 crontab [-u user] -e # 编辑用户cron任务 crontab [-u user] -r # 移除用户cron任务cron 表达式 # 分 时 日 月 周 执行命令 minute hour day month week command # 示例…

Simulink元件

constant 输出常数/标量 这样我们就只输出了一个常数 输出一维数组/矢量 这样我们就输出了1-5一共5个数字 输出二维数组 这样我们就输出了4个数字 选择框Interpret vector parameters as 1-D 如果标量或者矩阵&#xff0c;勾与不勾都一样。 如果是向量&#xff0c;勾选则表…

Keil中文报错提示为: [-Winvalid-source-encoding]问题解决

错误提示&#xff1a; ../User/main.c(67): warning: illegal character encoding in string literal [-Winvalid-source-encoding]67 | printf("全<B2><BF><B4><AB><CA><E4><CD><EA><B3><C9…

java旅游攻略管理系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 java Web旅游攻略管理系统是一套完善的java web信息管理系统&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。开发环境为 TOMCAT7.0,Myeclipse8.5开发&#xff0c;数据库为Mysql…

2023 第六届安洵杯 writeup

CRYPTO 010101 漏洞点在 p1[random.choice([i for i, c in enumerate(p1) if c 1])] 0p2[random.choice([i for i, c in enumerate(p1) if c 0])] 1 p1只是随机的把1的位置转一个变成0&#xff0c;p2把0的位置随机转一个到1&#xff0c;直接逆回去即可 charonroot:~/D…

Unity使用Rider作为默认编辑器

01.Edit -> Preferences 02.Externel Tools -> Open by file extension 如果界面选项有Rider直接选择&#xff0c;如果没有选择Browse) 03.选择rider64.exe 04.成功关联

Qt的简单游戏实现提供完整代码

文章目录 1 项目简介2 项目基本配置2.1 创建项目2.2 添加资源 3 主场景3.1 设置游戏主场景配置3.2 设置背景图片3.3 创建开始按钮3.4 开始按钮跳跃特效实现3.5 创建选择关卡场景3.6 点击开始按钮进入选择关卡场景 4 选择关卡场景4.1场景基本设置4.2 背景设置4.3 创建返回按钮4.…

C++设计模式 #6 桥模式(Bridge)

动机 由于某些类型的固有的实现逻辑&#xff0c;使得它们具有两个变化的维度&#xff0c;乃至多个变化的维度。 如何应对这种“多维度的变化”&#xff1f;如何利用面向对象技术来使得类型可以轻松地沿着两个乃至多个方向变化&#xff0c;而不引入额外的复杂度 举个栗子 我们…