常用的机器学习与深度学习算法简介_机器学习和深度学习算法-程序员宅基地

技术标签: 机器学习  深度学习  人工智能  

1、机器学习

1.1 决策树与随机森林

决策树(Decision Tree)是一种将决策流程以树状结构清晰表示的机器学习方法,本质上是通过一系列规则对数据进行分类的过程。

在这里插入图片描述

图1-决策树

随机森林(Random Forest)是通过构建多个决策树对样本进行训练并预测的一种分类器,其最终输出的类别是由每个决策树输出的类别的众数而决定。

在这里插入图片描述

图2-随机森林


1.2 支持向量机(SVM)

支持向量机(Support Vector Machine)是一类按监督学习方式对数据进行二元分类的广义线性分类器,其决策边界是对学习样本求解的最大边距超平面。
在这里插入图片描述

图3-支持向量机


1.3 k-最近邻算法

k-最近邻算法(k-Nearest Neighbor,KNN)是一种用于分类和回归的无监督学习算法,也是最简单的机器学习算法之一。该算法在诸多领域得到了广泛的应用,如在药物研发领域常用于化合物的分类,识别活性化合物。

在这里插入图片描述

图4-k最近邻算法

1.4 朴素贝叶斯分类器

朴素贝叶斯分类器(Naive Bayes Classifier)是应用最为广泛的分类算法之一。借助于先验概率与后验概率的概念,贝叶斯分类器只需要少量的训练数据即可估计出一些必要的参数,能够在许多复杂的条件中取得较好的效果。

在这里插入图片描述

图5-朴素贝叶斯分类器


2、深度学习

2.1 人工神经网络

人工神经网络(Artificial Neural Network,ANN)是20世纪80 年代以来人工智能领域兴起的研究热点。它从信息处理角度对人脑神经元网络进行抽象,建立某种简单模型,按不同的连接方式组成不同的网络。

在这里插入图片描述

图6-人工神经网络


2.2 深度神经网络

人工神经网络(Artificial Neural Network,ANN)又称简单神经网络(Simple Neural Network),由输入层、一个隐藏层、输出层三个部分组成,每层都包含若干个神经元。而深度神经网络(Deep Neural Network, DNN)本质上是具有多个隐藏层的ANN,它是最早被应用的深度学习算法之一。

在这里插入图片描述

图7-深度神经网络


2.3 卷积神经网络

卷积神经网络(Convolutional Neural Network,CNN)是一种前馈神经网络,通常由输入、卷积层、池化层、全连接层、输出五个部分组成。其中,卷积层是CNN的核心层,该层由一系列的卷积核组成。池化层又称下采样层,主要用于压缩特征空间。CNN在图像识别领域的表现尤为出色,除此之外,CNN在物体检测、图像分割、人脸识别、脑电信号分类等领域都有着广泛的应用。

在这里插入图片描述

图8-卷积神经网络


2.4 循环神经网络

与ANN类似,循环神经网络(Recurrent Neural Network,RNN)同样由输入层、隐藏层、输出层三部分组成。RNN是一类用于处理序列的神经网络,如时间序列数据、文本序列数据等。不同于ANN,RNN隐藏单元的状态不仅依赖于当前的输入,还依赖于上一个时刻隐藏单元的输出,这使得RNN成为了一个具有记忆能力的神经网络。RNN在自然语言处理(Natural Language Processing)方面得到了广泛应用,比如基于RNN的LSTM算法被应用于文本生成、机器翻译、语音识别等领域。

值得一提的是,LSTM算法在近年来有着一些我们熟知的应用:

  • 2015年以来,在机械故障诊断和预测领域,相关学者应用LSTM来处理机械设备的振动信号。
  • 2016年,谷歌公司应用LSTM来做语音识别和文字翻译,其中Google翻译用的就是一个7-8层的LSTM模型
  • 2016年,苹果公司使用LSTM来优化Siri应用

在这里插入图片描述

图9-循环神经网络


2.5 自编码器

自编码器(Auto Encoder,AE)是一种用于非监督学习的神经网络,同样具有输入层、隐藏层、输出层三层结构,包含编码、解码两个部分。AE的主要作用在于重构输入,即将原始输入经编码抽象后传递至解码器。AE在NLP领域中的机器翻译、文档聚类、情绪分析等任务中都有着广泛的应用。

在这里插入图片描述

图10-自编码器

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_43715601/article/details/119962835

智能推荐

c语言学习01:认识c语言-程序员宅基地

文章浏览阅读891次,点赞18次,收藏29次。c语言学习01:认识c语言

A Ship Detector Applying Principal Component Analysis to the Polarimetric Notch Filter_gp-pnf-程序员宅基地

文章浏览阅读525次。当我们的目标是在波涛汹涌的海况中探测较小的船只时,这种增强特别有价值。这项工作使用了一种名为几何摄动-极化陷波(GP-PNF)的舰船探测器,其目的是改善其性能,特别是在可获得的极化图像较少的情况下(例如,双极化数据)。这个想法是设计一个新的极化特征向量,包含更多的特征,这些特征被认为是允许船只和海杂波分离的。然后利用主成分分析(PCA)对新特征空间进行降维。_gp-pnf

【人脸检测 FPS 1000+】ubuntu下libfacedetection tensorrt部署_人脸检测 tensorrt-程序员宅基地

文章浏览阅读580次,点赞25次,收藏24次。【FPS 1000+】ubuntu下libfacedetection人脸检测 tensorrt加速部署_人脸检测 tensorrt

官方STM32F107_ETH_LwIP_V1.0.0开发包移植笔记_stm32f107 lwip 直连-程序员宅基地

文章浏览阅读1.2k次。一、LwIP移植记录lwip-1.4.1\src\core\ipv4\icmp.c 注释掉:#if CHECKSUM_GEN_ICMP新增加:#ifdef CHECKSUM_BY_HARDWARE代码如下://#if CHECKSUM_GEN_ICMP// /* adjust the checksum */// if (iecho->chksum..._stm32f107 lwip 直连

Java开发笔记(十四)几种运算符的优先级顺序_大于小于和等于的优先级-程序员宅基地

文章浏览阅读7k次,点赞2次,收藏7次。到目前为止,我们已经学习了Java语言的好几种运算符,包括算术运算符、赋值运算符、逻辑运算符、关系运算符等基础运算符,并且在书写赋值语句时都没添加圆括号,显然是默认了先完成算术、逻辑、关系等运算,最后才进行赋值操作。也就是说,在这四类运算符当中,赋值运算符的优先级最低,那么其他三种运算符的优先级顺序又是如何排列的呢?首先来看算术运算符,Java中的算术运算符主要包括正号负号、加减乘除,以及取余数..._大于小于和等于的优先级

C++第7次作业_定义一个有10个的数组a,将数组a中的所有素数放在数组b,再对数组b排序。-程序员宅基地

文章浏览阅读407次。一:特殊三位数请输出满足条件n=a!+b!+c!的所有三位数n,其中,a、b、c分别是n的百、十、个位数。要求用自定义函数实现求阶乘。#includeusing namespace std;int f(int n){ int s=1,i; for(i=1;i<=n;i++) s=s*i; return s;} int main() {_定义一个有10个的数组a,将数组a中的所有素数放在数组b,再对数组b排序。

随便推点

Nginx+Tomcat负载均衡(反向代理)、动静分离集群_nginx tomcat 反向代理负载均衡-程序员宅基地

文章浏览阅读808次。每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题,但是ip_hash会造成负载不均,有的服务请求接受多,有的服务请求接受少,所以不建议采用ip_hash模式,session 共享问题可用后端服务的 session 共享代替 nginx 的 ip_hash。基于用户请求的uri做hash。[在这里插入图片描述](https://img-blog.csdnimg.cn/cb5b2fd0e902423897c1b729c66349d1.png)_nginx tomcat 反向代理负载均衡

谈谈Java集合ArrayList扩容,Java面试题集2024版-程序员宅基地

文章浏览阅读845次,点赞27次,收藏8次。***构造包含指定collection元素的列表,这些元素利用该集合的迭代器按顺序返回*如果指定的集合为null,throws NullPointerException。*/= 0) {} else {下面在我们分析 ArrayList 扩容时会降到这一点内容!二 一步一步分析 ArrayList 扩容机制这里以无参构造函数创建的 ArrayList 为例分析。

Mysql数据库之全文索引 FULLTEXT_mysql fulltext索引-程序员宅基地

文章浏览阅读392次,点赞6次,收藏6次。1、话说mysql innodb在5.6.4以后就有了fulltext全文索引。_mysql fulltext索引

JAVA四舍五入方法_string.format 四舍五入-程序员宅基地

文章浏览阅读1.5k次。JAVA中四舍五入方法_string.format 四舍五入

struts2是什么,有什么作用,怎么使用,有什么好处?_1、什么是struts2框架,它的作用是什么?-程序员宅基地

文章浏览阅读609次。注:参考文章:https://blog.csdn.net/qq_36754544/article/details/55062391struts2是一种重量级的框架,位于MVC架构中的controller,可以分析出来,它是用于接受页面信息然后通过内部处理,将结果返回。同时struts2也是一个web层的MVC框架,那么什么是struts2中的MVC呢?我们可以联想一下struts2的使用流程,我们需要先通过过滤器,调用URL判断使用哪个Action,再由Action决定返回结果,继而 提交..._1、什么是struts2框架,它的作用是什么?

【Matplotlib设置】Python绘图全局字体改为 Times New Roman_python画图调整字体为times-程序员宅基地

文章浏览阅读1w次,点赞16次,收藏14次。import matplotlib.pyplot as pltplt.rc('font',family='Times New Roman') 注意一定要在导入包之后就设置这个代码,否则可能不显示。参考文献[1]matplotlib 全局字体改为 Times New Roman_python画图调整字体为times