【人工智能】流行且重要的智能算法整理

在这里插入图片描述
✍🏻记录学习过程中的输出,坚持每天学习一点点~
❤️希望能给大家提供帮助~欢迎点赞👍🏻+收藏⭐+评论✍🏻+指点🙏

小记:
今天在看之前写的文档时,发现有人工智能十大算法的内容,考虑一下觉得之前写的不够严谨,于是找语言模型问了一下,这里就讲新学到的知识做一个汇总。

在这里插入图片描述

决策树(Decision Tree)

定义

基于树形结构进行决策判断的算法,通过每个节点的特征判断将数据划分到不同的类别。是一种常用的监督学习算法,用于分类和回归任务。

特点

简单易懂、容易解释、可视化、适用性广、容易过拟合、数据中的小变化会影响结果、每一个节点的选择都是贪婪算法,不能保证全局最优解。

应用

分类问题,如根据病人的症状预测疾病类型。

说明

在这一算法中,训练模型通过学习树表示(Treerepresentation)的决策规则来学习预测目标变量的值。树是由具有相应属性的节点组成的。
在每个节点上,我们根据可用的特征询问有关数据的问题。左右分支代表可能的答案。最终节点(即叶节点)对应于一个预测值。
每个特征的重要性是通过自顶向下方法确定的。节点越高,其属性就越重要。下图为决定是否在餐厅等候的决策树示例。

在这里插入图片描述

随机森林(Random Forest)

定义

基于多棵决策树的集成学习算法,通过投票或平均方式提高预测精度。

特点

可以处理高维特征数据,防止过拟合。

应用

分类、回归和特征选择等问题。

说明

为了对新对象进行分类,我们从每个决策树中进行投票,并结合结果,然后根据多数投票做出最终决定。
在训练过程中,每个决策树都是基于训练集的引导样本来构建的。
在分类过程中,输入实例的决定是根据多数投票做出的。
在这里插入图片描述

逻辑回归(Logistic Regression)

定义

一种广义的线性回归模型,用于处理因变量为二分类或多分类的分类问题。

特点

简单、易于实现,速度快,可解释性强。

应用

信用评分、疾病预测等。

说明

逻辑回归(Logisticregression)与线性回归类似,但它是用于输出为二进制的情况(即当结果只能有两个可能的值)。对最终输出的预测是一个非线性的S型函数,称为logisticfunction,g()。
这个逻辑函数将中间结果值映射到结果变量Y,其值范围从0到1。然后,这些值可以解释为Y出现的概率。S型逻辑函数的性质使得逻辑回归更适合用于分类任务。

在这里插入图片描述

线性回归(Linear Regression)

定义

通过拟合自变量和因变量之间的线性关系来进行预测。

特点

直观易懂,计算简单。

应用

房价预测、销售预测等。

说明

线性回归(LinearRegression)是利用数理统计中的回归分析,来确定两种或两种以上变量间,相互依赖的定量关系的一种统计分析方法。它可能是最流行的机器学习算法。它试图通过将直线方程与该数据拟合来表示自变量(x 值)和数值结果(y 值),然后就可以用这条线来预测未来的值。
这种算法最常用的技术是最小二乘法(Leastofsquares)。这个方法计算出最佳拟合线,以使得与直线上每个数据点的垂直距离最小。总距离是所有数据点的垂直距离(绿线)的平方和。其思想是通过最小化这个平方误差或距离来拟合模型。

在这里插入图片描述

支持向量机(SVM, Support Vector Machine)

定义

一种监督学习算法,通过寻找超平面来对数据进行分类。

特点

对小样本、高维数据有较好效果,能处理非线性问题。

应用

图像识别、文本分类等。

说明

支持向量机(SupportVectorMachine,SVM)是一种用于分类问题的监督算法。支持向量机试图在数据点之间绘制两条线,它们之间的边距最大。为此,我们将数据项绘制为n维空间中的点,其中,n是输入特征的数量。在此基础上,支持向量机找到一个最优边界,称为超平面(Hyperplane),它通过类标签将可能的输出进行最佳分离。
超平面与最近的类点之间的距离称为边距。最优超平面具有最大的边界,可以对点进行分类,从而使最近的数据点与这两个类之间的距离最大化。
例如,H1没有将这两个类分开。但H2有,不过只有很小的边距。而H3以最大的边距将它们分开了。

在这里插入图片描述

朴素贝叶斯(Naive Bayes)

定义

基于贝叶斯定理和特征条件独立假设的分类方法。

特点

简单、高效,常用于文本分类。

应用

垃圾邮件过滤、情感分析等。

说明

朴素贝叶斯(NaiveBayes)是基于贝叶斯定理。它测量每个类的概率,每个类的条件概率给出 x 的值。这个算法用于分类问题,得到一个二进制“是 / 非”的结果。看看下面的方程式。
朴素贝叶斯分类器是一种流行的统计技术,可用于过滤垃圾邮件。

在这里插入图片描述

K最近邻算法(K-NN, K-Nearest Neighbors)

定义

根据样本在特征空间中的k个最相邻样本的类别来预测新样本的类别。

特点

简单易懂,无需训练模型,但计算量大。

应用

图像识别、推荐系统等。

说明

K-均值(K-means)是通过对数据集进行分类来聚类的。例如,这个算法可用于根据购买历史将用户分组。它在数据集中找到K个聚类。K-均值用于无监督学习,因此,我们只需使用训练数据X,以及我们想要识别的聚类数量K。
该算法根据每个数据点的特征,将每个数据点迭代地分配给K个组中的一个组。它为每个K-聚类(称为质心)选择K个点。基于相似度,将新的数据点添加到具有最近质心的聚类中。这个过程一直持续到质心停止变化为止。

在这里插入图片描述

人工神经网络(Artificial Neural Networks)

定义

模拟人脑神经元连接结构的一种算法,通过多层网络结构学习数据的内在规律。

特点

具有强大的学习能力,可以处理复杂问题。

应用

图像识别、语音识别、自然语言处理等。

说明

人工神经网络(Artificial Neural Networks,ANN)可以处理大型复杂的机器学习任务。神经网络本质上是一组带有权值的边和节点组成的相互连接的层,称为神经元。在输入层和输出层之间,我们可以插入多个隐藏层。人工神经网络使用了两个隐藏层。除此之外,还需要处理深度学习。
人工神经网络的工作原理与大脑的结构类似。一组神经元被赋予一个随机权重,以确定神经元如何处理输入数据。通过对输入数据训练神经网络来学习输入和输出之间的关系。在训练阶段,系统可以访问正确的答案。
如果网络不能准确识别输入,系统就会调整权重。经过充分的训练后,它将始终如一地识别出正确的模式。
每个圆形节点表示一个人工神经元,箭头表示从一个人工神经元的输出到另一个人工神经元的输入的连接。

在这里插入图片描述

卷积神经网络(CNN, Convolutional Neural Network)

定义

专门用于处理具有类似网格结构数据的神经网络,如图像和视频。

特点

局部连接、权值共享,能够有效降低网络复杂度。

应用

图像识别、物体检测、人脸识别等。

说明

卷积操作:通过卷积核对输入图像进行滑动窗口式的计算,提取出图像中的局部特征。
特征提取:卷积层通过卷积操作从输入数据中提取出局部特征,这些特征被存储在特征图中。
特征映射:池化层对特征图进行下采样,降低数据维度,同时保留主要特征。
分类:全连接层将学到的特征映射到样本标记空间,实现分类任务。

在这里插入图片描述

循环神经网络(RNN, Recurrent Neural Network)

定义

用于处理序列数据的神经网络,能够捕捉序列中的长期依赖关系。

特点

能够处理任意长度的序列数据,但存在梯度消失和梯度爆炸的问题。

应用

自然语言处理、机器翻译、语音识别等。

说明

循环连接:RNN通过循环连接在序列的各个位置共享参数,从而捕捉序列中的时序依赖关系。
隐藏状态:隐藏状态在RNN中起着关键作用,它存储了序列的历史信息,并用于影响后续的输出。
训练过程:RNN的训练通常使用反向传播算法和梯度下降算法。然而,由于RNN中存在梯度消失和梯度爆炸等问题,因此需要采用一些特殊的训练方法,如梯度裁剪、LSTM等。

在这里插入图片描述

K-均值(K-means)

定义

一种无监督学习算法,用于将数据点划分为K个集群。

特点

简单、高效,且易于理解和实现。

应用

聚类分析、图像处理、推荐系统等。

说明

K-均值(K-means)是通过对数据集进行分类来聚类的。例如,这个算法可用于根据购买历史将用户分组。它在数据集中找到K个聚类。K-均值用于无监督学习,因此,我们只需使用训练数据X,以及我们想要识别的聚类数量K。
该算法根据每个数据点的特征,将每个数据点迭代地分配给K个组中的一个组。它为每个K-聚类(称为质心)选择K个点。基于相似度,将新的数据点添加到具有最近质心的聚类中。这个过程一直持续到质心停止变化为止。
以下是对200X2的数组做的均值处理。
在这里插入图片描述

降维

定义

用于减少数据维度的技术,同时尽可能保留数据的主要特征。

流行方法

主成分分析(PCA)、t-分布邻域嵌入(t-SNE)等。

特点

有助于可视化高维数据、提高计算效率、减少过拟合等。

应用

数据预处理、特征提取、异常检测等。

说明

由于我们今天能够捕获的数据量之大,机器学习问题变得更加复杂。这就意味着训练极其缓慢,而且很难找到一个好的解决方案。这一问题,通常被称为“维数灾难”(Curseofdimensionality)。
降维(Dimensionalityreduction)试图在不丢失最重要信息的情况下,通过将特定的特征组合成更高层次的特征来解决这个问题。主成分分析(PrincipalComponentAnalysis,PCA)是最流行的降维技术。
主成分分析通过将数据集压缩到低维线或超平面/子空间来降低数据集的维数。这尽可能地保留了原始数据的显著特征。

在这里插入图片描述

梯度提升机(Gradient Boosting Machine)

定义

一种基于决策树的集成学习算法,通过迭代地添加新的决策树来优化预测结果。

特点

能够处理非线性关系、对异常值不敏感、易于调整参数。

应用

回归问题、分类问题等。

说明

初始化模型:将目标变量的平均值作为初始预测值。
迭代训练:通过不断迭代训练一系列基学习器(如决策树),对当前模型的残差进行拟合,得到下一轮的预测模型。
更新模型:将当前模型的预测结果与真实值进行比较,得到残差,然后将残差作为下一轮训练的目标变量,继续进行迭代训练。
终止迭代:当达到预设的迭代次数或者目标函数已经收敛时,停止迭代并得到最终的预测模型。

在这里插入图片描述
简单的展示示例
在这里插入图片描述

随机梯度下降(Stochastic Gradient Descent, SGD)

定义

一种优化算法,用于在训练过程中更新模型的参数。

特点

计算效率高、对大规模数据集友好、支持在线学习。

应用

深度学习、神经网络训练等。

说明

选择样本:在每次迭代中,随机选择一个样本或一小批样本(mini-batch)进行参数更新。
计算梯度:根据所选样本或mini-batch计算损失函数关于模型参数的梯度。
更新参数:按照负梯度方向更新模型参数,通常还需要乘以一个学习率(learning rate)来控制参数更新的步长。
重复迭代:重复以上步骤,直到模型参数收敛或达到预设的迭代次数。
在这里插入图片描述

在这里插入图片描述

集成学习(Ensemble Learning)

定义

通过组合多个学习器(如决策树、神经网络等)来提高预测性能的方法。

流行方法

Bagging、Boosting、Stacking等。

特点

能够降低过拟合风险、提高模型泛化能力。

应用

分类问题、回归问题等。

说明

集成学习(Ensemble Learning)是一种通过结合多个学习器(也称为基学习器或弱学习器)来解决问题的机器学习范式。其核心理念在于,通过构建多个基学习器,并让它们对输入数据进行独立的预测,然后采用某种策略将这些预测结果结合起来,以产生最终的预测结果。集成学习能够有效提高模型的性能,降低模型的泛化误差。
集成学习的基本思想可以概括为“多样性和投票”。即,通过构建多个基学习器,并让它们对输入数据进行独立的预测,然后通过某种方式(如投票法、加权投票法等)将各个基学习器的预测结果结合起来,产生一个最终的预测结果。
Bagging:如随机森林(Random Forest),通过在原始训练集的随机子集上构建多个基学习器,并将它们的预测结果结合起来。
Boosting:如AdaBoost、GBDT(Gradient Boosting Decision Tree)等,通过迭代地训练基学习器,并在每次迭代中调整样本的权重,以关注那些之前被错误分类的样本。
Stacking:通过将不同的基本学习模型进行级联,将前一层模型的预测结果作为后一层模型的输入,以产生最终的预测结果。

推荐系统算法

定义

用于预测用户可能感兴趣的项目或内容的算法。

流行方法

基于内容的推荐、协同过滤(如用户-用户协同过滤、物品-物品协同过滤)、深度学习推荐等。

特点

能够个性化地满足用户需求、提高用户满意度和忠诚度。

应用

电子商务平台、社交媒体、视频流媒体平台等。

说明

推荐系统算法是人工智能领域的一个重要分支,用于根据用户的历史行为、偏好等信息,向用户推荐可能感兴趣的内容或物品。以下是对几种常见的推荐系统算法的清晰归纳和介绍:

基于人口统计学的推荐算法

原理:根据系统用户的基本信息(如年龄、性别、地域等)发现用户之间的相关程度,然后将相似用户喜爱的其他物品推荐给当前用户。
特点:易于实现,但可能忽略用户的具体行为或兴趣。

基于内容的推荐算法(Content-based Recommendations, CB)

原理:根据推荐物品或内容的元数据(如电影的类型、演员、导演等),发现物品之间的相关性,再基于用户过去的喜好记录,为用户推荐相似的物品。
特点:能够捕捉用户的个性化兴趣,但可能受限于物品元数据的丰富程度。

协同过滤算法(Collaborative Filtering, CF)

原理:通过分析用户之间的历史行为(如购买、浏览、评分等),找到相似用户或物品,进行推荐。
分类
基于用户的协同过滤(User-based CF):分析各个用户对物品的评价,计算用户之间的相似度,然后基于相似用户的喜好推荐物品给当前用户。
基于物品的协同过滤(Item-based CF):分析各个用户对物品的浏览记录,计算物品之间的相似度,然后基于用户喜欢的物品推荐相似的物品给用户。
特点:应用广泛,效果好,但需要大量的用户行为数据。

基于流行度的算法

原理:根据物品的流行度(如点击量、购买量、分享量等)进行排序,将最流行的物品推荐给用户。
特点:简单直观,但缺乏个性化。

混合推荐算法

原理:结合上述多种推荐算法的优点,通过加权、切换、特征组合等方式,形成更准确的推荐结果。
特点:能够充分利用各种算法的优势,提高推荐的准确性和多样性。
基于模型的推荐算法:
原理:使用机器学习或深度学习模型(如矩阵分解、隐语义模型、神经网络等)来预测用户对物品的喜好程度,从而进行推荐。
特点:能够处理复杂的非线性关系,但需要大量的训练数据和计算资源。

基于上下文信息的推荐算法

原理:考虑用户所处的上下文环境(如时间、地点、天气等)进行推荐。
特点:能够提供更符合当前情境的推荐结果。

在实际应用中,推荐系统通常会根据具体的需求和场景选择合适的算法或算法组合。同时,随着技术的发展和数据的积累,新的推荐算法和策略也在不断涌现。

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

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

相关文章

Java概述 , Java环境安装 , 第一个Hello World

环境变量,HelloWorld 1.会常用的dos命令 2.会安装java所需要的环境(jdk) 3.会配置java的环境变量 4.知道java开发三步骤 5.会java的入门程序(HelloWorld) 6.会三种注释方式 7.知道Java入门程序所需要注意的地方 8.知道println和print的区别第一章 Java概述 1.1 JavaSE体系介绍…

Django 里的表格内容做修改

当Django里表格内容需要做修改&#xff0c;可以这么操作。 先看效果图 修改后的表格 1. 先得在 asset_list.html 里修改。你们的html有可能跟我不一样 <table border"1px"><thead><tr><th>ID</th><th>标题</th><th…

软件测试--Linux快速入门

文章目录 软件测试-需要掌握的Linux指令Linux命令操作技巧Linx命令的基本组成常用命令 软件测试-需要掌握的Linux指令 Linux命令操作技巧 使用Tab键自动补全上下键进行翻找之前输入的命令命令执行后无法停止使用CtrC,结束屏幕输出 Linx命令的基本组成 命令 [-选项] [参数] …

1.Linux入门

文章目录 一、介绍1.1 操作系统1.2 Linux1.3 虚拟机1.4 安装 CentOS7 二、远程连接 Linux2.1 FinalShell2.2 远程连接Linux 三、扩展3.1 WSL3.2 虚拟机快照 一、介绍 1.1 操作系统 我们平常所用的电脑是个人桌面操作系统&#xff0c;也就是Windows或者是macOS 目前我们要学的…

(2024,ViT,小波变换,图像标记器,稀疏张量)基于小波的 ViT 图像标记器

Wavelet-Based Image Tokenizer for Vision Transformers 公和众和号&#xff1a;EDPJ&#xff08;进 Q 交流群&#xff1a;922230617 或加 VX&#xff1a;CV_EDPJ 进 V 交流群&#xff09; 目录 0 摘要 1 引言 3 基于小波的图像压缩简介 4 图像标记器 4.1 像素空间标记嵌…

短视频直播教学课程小程序的作用是什么

只要短视频/直播做的好&#xff0c;营收通常都不在话下&#xff0c;近些年&#xff0c;线上自媒体行业热度非常高&#xff0c;每条细分赛道都有着博主/账号&#xff0c;其各种优势条件下也吸引着其他普通人冲入。 然无论老玩家还是新玩家&#xff0c;面对平台不断变化的规则和…

Docker搭建ELKF日志分析系统

Docker搭建ELKF日志分析系统 文章目录 Docker搭建ELKF日志分析系统资源列表基础环境一、系统环境准备1.1、创建所需的映射目录1.2、修改系统参数1.3、单击创建elk-kgc网络桥接 二、基于Dockerfile构建Elasticsearch镜像2.1、创建Elasticsearch工作目录2.2、上传资源到指定工作路…

鸿蒙开发的南向开发和北向开发

鸿蒙开发主要分为设备开发和应用开发两个方向&#xff0c;也叫南向开发和北向开发&#xff1a; 鸿蒙设备开发(南向开发&#xff09;&#xff0c;要侧重于硬件层面的开发&#xff0c;涉及硬件接口控制、设备驱动开发、鸿蒙系统内核开发等&#xff0c;目的是使硬件设备能够兼容并…

端午假期来临,来使用闪侠惠递便宜寄快递吧!

相信很多人和我一样&#xff0c;每当需要寄快递时&#xff0c;总是感到十分头疼。不同的快递公司有不同的价格、时效和服务质量等等&#xff0c;选择起来真的很不容易。但是现在有了闪侠惠递来帮大家寄快递吧&#xff0c;这个问题就可以迎刃而解了&#xff01;小编奉劝大家快来…

性能级NVMe全闪存储系统开箱评测

近日&#xff0c;我们对一款备受瞩目的Infortrend普安科技推出更高性能的存储产品——性能级NVMe全闪存储系统GS 5024UE 进行评测&#xff0c;这款设备搭载第五代IntelXeon处理器&#xff0c;性能达到50GB/s、1.3M IOPS与0.3毫秒延迟。下面对此款设备从外观、配置、产品性能及适…

如何使用Vuforia AR进行增强现实技术的开发?

前言 今天是坚持写博客的第17天&#xff0c;很高兴自己可以一直坚持下来。我们今天来讲讲怎么使用Vuforia AR进行增强现实的开发。 我们需要在今天的开发中用到Vuforia AR和2018版的Unity3d 什么是Vuforia AR Vuforia AR是基于实时计算摄影机影像的位置及角度&#xff0c;并…

树的遍历详解

目录 树的静态写法 树的先根遍历 树的层次遍历 从树的遍历看DFS和BFS DFS与先根遍历 BFS与层次遍历 树的静态写法 这里讨论的树是一般意义上的树&#xff0c;即子结点个数不限且子节点没有先后次序的树。 建议使用静态写法进行结点的定义 struct node{typename data;i…

“新高考”下分班怎么分?

来自安徽的张女士告诉我&#xff1a;上一年孩子升入了高中&#xff0c;但没想到才高一&#xff0c;孩子就面临了一个困难的挑选&#xff1a;312”分班&#xff01; 什么是312”分班呢&#xff1f;许多人或许不明白&#xff0c;便是要求学生在高一入学时&#xff0c;针对于3门必…

Mac - Node/Java 配置安装全流程

Mac - Node/Java 配置安装全流程 一. Git 安装二. Java 相关安装2.1 jenv 版本控制工具2.2 JDK1.8 和 JDK21的安装2.3 maven 安装 三. Node 相关安装3.1 nvm 版本控制工具3.2 Node 版本安装 一. Git 安装 1.我们首先安装一下Homebrew&#xff0c;这个工具很有用&#xff0c;能…

Spring Security系列之PasswordEncoder

概述 任何一个登录系统的密码不能明文存储&#xff0c;万一发生数据库泄漏事故&#xff08;不管是内部人员导出数据库数据还是被黑客攻击破解数据库实例节点拿到数据库数据等&#xff0c;又或者是其他情况造成的&#xff09;&#xff0c;将产生巨大的损失。因此明文密码在存储…

react-学习基础偏

1.新建文件夹 2.vscode引入这个文件夹 3.打开vscode终端 执行命令 npx create-react-app react-basic 创建基本项目&#xff08;react-basic项目文件夹名&#xff09; 4.进入到这个文件夹 可用的一些命令 这就算启动成功 5. 这是项目的核心包 渲染流程

关于JavaScript技术的基础内容汇总

目录 JavaScript 基础知识1. JavaScript 基本语法2. 变量和常量3. 数据类型4. 运算符5. 控制结构6. 函数7. 对象8. 数组9. 事件处理10. DOM 操作 JavaScript 基础知识 学习 JavaScript&#xff08;简称 JS&#xff09;是前端开发的重要组成部分&#xff0c;它是一种动态的、弱…

【c语言】指针就该这么学(3)

&#x1f31f;&#x1f31f;作者主页&#xff1a;ephemerals__ &#x1f31f;&#x1f31f;所属专栏&#xff1a;C语言 目录 一、函数指针 1.函数指针变量的创建 2.函数指针变量的使用 二、typedef关键字 三、函数指针数组 1.函数指针数组的概念 2.函数指针数…

【操作系统】进程与线程的区别及总结(非常非常重要,面试必考题,其它文章可以不看,但这篇文章最后的总结你必须要看,满满的全是干货......)

目录 一、 进程1.1 PID(进程标识符)1.2 内存指针1.3 文件描述符表1.4 状态1.5 优先级1.6 记账信息1.7 上下文 二、线程三、总结&#xff1a;进程和线程之间的区别&#xff08;非常非常非常重要&#xff0c;面试必考题&#xff09; 一、 进程 简单来介绍一下什么是进程&#xf…

[UE 虚幻引擎] DTLoadFbx 运行时加载FBX本地模型插件说明

本插件可以在打包后运行时动态加载FBX模型。 新建一个Actor 并添加一个 DT Runtime Fbx Component。 然后直接调用组件的函数 LoadFile 加载显示模型&#xff08;注&#xff1a;不支持模型动画&#xff09; FilePath : 加载模型的绝对路径。 Create Collision : 是否创建碰撞…