机器学习,深度学习,神经网络,深度神经网络

server/2025/2/6 23:58:51/

人工智能包含机器学习,机器学习包含深度学习(是其中比较重要的分支)。深度学习源自于人工神经网络的研究,但是并不完全等于传统神经网络。

神经网络深度神经网络的区别在于隐藏层级,通常两层或两层以上隐藏层的网络叫做深度神经网络。一般隐藏层越多,精确度越高。

深度学习的算法又分很多种,比较典型的四种:卷积神经网络 — CNN, 循环神经网络 — RNN, 生成对抗网络 — GANs, 深度强化学习RL

机器学习和深度学习的对比

数据依赖性

深度学习与传统的机器学习最主要的区别在于随着数据规模的增加其性能也不断增长。当数据很少时,深度学习算法的性能并不好。这是因为深度学习算法需要大量的数据来完美地理解它。另一方面,在这种情况下,传统的机器学习算法使用制定的规则,性能会比较好。

硬件依赖

深度学习算法需要进行大量的矩阵运算,GPU 主要用来高效优化矩阵运算,所以 GPU 是深度学习正常工作的必须硬件。与传统机器学习算法相比,深度学习更依赖安装 GPU 的高端机器。

特征处理

特征处理是将领域知识放入特征提取器里面来减少数据的复杂度并生成使学习算法工作的更好的模式的过程。特征处理过程很耗时而且需要专业知识。

在机器学习中,大多数应用的特征都需要专家确定然后编码为一种数据类型。

特征可以使像素值、形状、纹理、位置和方向。大多数机器学习算法的性能依赖于所提取的特征的准确度。

深度学习尝试从数据中直接获取高等级的特征,这是深度学习与传统机器学习算法的主要的不同。

问题解决方式

当应用传统机器学习算法解决问题的时候,传统机器学习通常会将问题分解为多个子问题并逐个子问题解决最后结合所有子问题的结果获得最终结果。相反,深度学习提倡直接的端到端的解决问题。

传统机器学习会将问题分解为两步:物体检测和物体识别。首先,使用一个边界框检测算法扫描整张图片找到可能的是物体的区域;然后使用物体识别算法(例如 SVM 结合 HOG )对上一步检测出来的物体进行识别。

相反,深度学习会直接将输入数据进行运算得到输出结果。例如可以直接将图片传给YOLO 网络(一种深度学习算法),YOLO 网络会给出图片中的物体和名称。

执行时间

通常情况下,训练一个深度学习算法需要很长的时间。这是因为深度学习算法中参数很多,因此训练算法需要消耗更长的时间。最先进的深度学习算法 ResNet完整地训练一次需要消耗两周的时间,而机器学习的训练会消耗的时间相对较少,只需要几秒钟到几小时的时间。

但两者测试的时间上是完全相反。深度学习算法在测试时只需要很少的时间去运行。如果跟k-nearest neighbors(一种机器学习算法)相比较,测试时间会随着数据量的提升而增加。不过这不适用于所有的机器学习算法,因为有些机器学习算法的测试时间也很短。

可解释性

至关重要的一点,我们把可解释性作为比较机器学习和深度学习的一个因素。

我们看个例子。假设我们适用深度学习去自动为文章评分。深度学习可以达到接近人的标准,这是相当惊人的性能表现。但是这仍然有个问题。深度学习算法不会告诉你为什么它会给出这个分数。当然,在数学的角度上,你可以找出来哪一个深度神经网络节点被激活了。但是我们不知道神经元应该是什么模型,我们也不知道这些神经单元层要共同做什么。所以无法解释结果是如何产生的。

另一方面,为了解释为什么算法这样选择,像决策树(decision trees)这样机器学习算法给出了明确的规则,所以解释决策背后的推理是很容易的。因此,决策树和线性/逻辑回归这样的算法主要用于工业上的可解释性。

参考https://www.zhihu.com/search?type=content&q=%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0%E5%92%8C%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0



喜欢的朋友记得点赞、收藏、关注哦!!!


http://www.ppmy.cn/server/165537.html

相关文章

初识Cargo:Rust的强大构建工具与包管理器

初识Cargo:Rust的强大构建工具与包管理器 如果你刚刚开始学习Rust,一定会遇到一个名字:Cargo。Cargo是Rust的官方构建工具和包管理器,它让Rust项目的创建、编译、测试和依赖管理变得非常简单。本文将带你快速了解Cargo的基本用法…

arkui-x跨平台与android java联合开发

华为鸿蒙系统采用的是arkts,支持跨平台crossplatform 即前端为arkts,arkui-x框架,后端为其他的语言框架。 本篇示例后端采用的是java,android studio工程。 主要方式是前端鸿蒙完成界面元素、布局等效果,后面androi…

微服务知识——微服务拆分规范

文章目录 一、微服务拆分规范1、高内聚、低耦合2、服务拆分正交性原则3、服务拆分层级最多三层4、服务粒度适中、演进式拆分5、避免环形依赖、双向依赖6、通用化接口设计,减少定制化设计7、接口设计需要严格保证兼容性8、将串行调用改为并行调用,或者异步…

【数据结构】_链表经典算法OJ(力扣/牛客第二弹)

目录 1. 题目1:返回倒数第k个节点 1.1 题目链接及描述 1.2 解题思路 1.3 程序 2. 题目2:链表的回文结构 2.1 题目链接及描述 2.2 解题思路 2.3 程序 1. 题目1:返回倒数第k个节点 1.1 题目链接及描述 题目链接: 面试题 …

BUUCTF_[网鼎杯 2020 朱雀组]phpweb(反序列化绕过命令)

打开靶场,,弹出上面的提示,是一个警告warning,而且页面每隔几秒就会刷新一次,根据warning中的信息以及信息中的时间一直在变,可以猜测是date()函数一直在被调用 查看页面源代码,没有什么有用的信息 Burp抓包一下 调用了date()函数并回显在页面上,参数fu…

智能家居监控系统数据收集积压优化

亮点:RocketMQ 消息大量积压问题的解决 假设我们正在开发一个智能家居监控系统。该系统从数百万个智能设备(如温度传感器、安全摄像头、烟雾探测器等)收集数据,并通过 RocketMQ 将这些数据传输到后端进行处理和分析。 在某些情况下…

C# 语言基础全面解析

.NET学习资料 .NET学习资料 .NET学习资料 一、引言 C# 是一种功能强大、面向对象且类型安全的编程语言,由微软开发,广泛应用于各种类型的软件开发,从桌面应用、Web 应用到游戏开发等领域。本文将全面介绍 C# 语言的基础知识,帮…

【华为OD-E卷 - 115 数组组成的最小数字 100分(python、java、c++、js、c)】

【华为OD-E卷 - 数组组成的最小数字 100分(python、java、c、js、c)】 题目 给定一个整型数组,请从该数组中选择3个元素组成最小数字并输出 (如果数组长度小于3,则选择数组中所有元素来组成最小数字) 输…