深度学习简述

⭐️⭐️⭐️⭐️⭐️欢迎来到我的博客⭐️⭐️⭐️⭐️⭐️
🐴作者:秋无之地

🐴简介:CSDN爬虫、后端、大数据领域创作者。目前从事python爬虫、后端和大数据等相关工作,主要擅长领域有:爬虫、后端、大数据开发、数据分析等。

🐴欢迎小伙伴们点赞👍🏻、收藏⭐️、留言💬、关注🤝,关注必回关

上一篇文章已经跟大家介绍过《数据挖掘实战(3):如何对比特币走势进行预测?》,相信大家对数据挖掘实战(3)都有一个基本的认识。下面我讲一下:深度学习简述

一、设定目标

之前我们已经讲了数据挖掘十大经典算法,在实战篇中也了解了随机森林、逻辑回归的概念及工具使用。这些算法都属于传统的机器学习算法。你肯定听说过这两年很火的深度学习,那么机器学习算法和深度学习有什么关联呢?

在这篇文章中,我们会通过以下几个方面了解深度学习:

  1. 数据挖掘、机器学习和深度学习的区别是什么?这些概念都代表什么?
  2. 我们通过深度学习让机器具备人的能力,甚至某些技能的水平超过人类,比如图像识别、下棋对弈等。那么深度学习的大脑是如何工作的?
  3. 深度学习是基于神经网络构建的,都有哪些常用的网络模型?
  4. 深度学习有三个重要的应用领域,这三个应用领域分别是什么?

二、数据挖掘,机器学习,深度学习的区别是什么?

实际上数据挖掘和机器学习在很大程度上是重叠的。一些常用算法,比如 K-Means、KNN、SVM、决策树和朴素贝叶斯等,既可以说是数据挖掘算法,又可以说是机器学习算法。那么数据挖掘和机器学习之间有什么区别呢?

1、数据挖掘

数据挖掘通常是从现有的数据中提取规律模式(pattern)以及使用算法模型(model)。核心目的是找到这些数据变量之间的关系,因此我们也会通过数据可视化对变量之间的关系进行呈现,用算法模型挖掘变量之间的关联关系。通常情况下,我们只能判断出来变量 A 和变量 B 是有关系的,但并不一定清楚这两者之间有什么具体关系。在我们谈论数据挖掘的时候,更强调的是从数据中挖掘价值。

2、机器学习

机器学习是人工智能的一部分,它指的是通过训练数据和算法模型让机器具有一定的智能。一般是通过已有的数据来学习知识,并通过各种算法模型形成一定的处理能力,比如分类、聚类、预测、推荐能力等。这样当有新的数据进来时,就可以通过训练好的模型对这些数据进行预测,也就是通过机器的智能帮我们完成某些特定的任务。

3、深度学习

深度学习属于机器学习的一种,它的目标同样是让机器具有智能,只是与传统的机器学习算法不同,它是通过神经网络来实现的。神经网络就好比是机器的大脑,刚开始就像一个婴儿一样,是一张白纸。但通过多次训练之后,“大脑”就可以逐渐具备某种能力。这个训练过程中,我们只需要告诉这个大脑输入数据是什么,以及对应的输出结果是什么即可。通过多次训练,“大脑”中的多层神经网络的参数就会自动优化,从而得到一个适应于训练数据的模型。

所以你能看到在传统的机器学习模型中,我们都会讲解模型的算法原理,比如 K-Means 的算法原理,KNN 的原理等。而到了神经网络,我们更关注的是网络结构,以及网络结构中每层神经元的传输机制。我们不需要告诉机器具体的特征规律是什么,只需把我们想要训练的数据和对应的结果告诉机器大脑即可。深度学习会自己找到数据的特征规律!而传统机器学习往往需要专家(我们)来告诉机器采用什么样的模型算法,这就是深度学习与传统机器学习最大的区别。

另外深度学习的神经网络结构通常比较深,一般都是 5 层以上,甚至也有 101 层或更多的层数。这些深度的神经网络可以让机器更好地自动捕获数据的特征。

三、神经网络是如何工作的

神经网络可以说是机器的大脑,经典的神经网络结构可以用下面的图来表示。

这里有一些概念你需要了解。

  1. 节点:神经网络是由神经元组成的,也称之为节点,它们分布在神经网络的各个层中,这些层包括输入层,输出层和隐藏层。
  2. 输入层:负责接收信号,并分发到隐藏层。一般我们将数据传给输入层。
  3. 输出层:负责输出计算结果,一般来说输出层节点数等于我们要分类的个数。
  4. 隐藏层:除了输入层和输出层外的神经网络都属于隐藏层,隐藏层可以是一层也可以是多层,每个隐藏层都会把前一层节点传输出来的数据进行计算(你可以理解是某种抽象表示),这相当于把数据抽象到另一个维度的空间中,可以更好地提取和计算数据的特征。
  5. 工作原理:神经网络就好比一个黑盒子,我们只需要告诉这个黑盒子输入数据和输出数据,神经网络就可以自我训练。一旦训练好之后,就可以像黑盒子一样使用,当你传入一个新的数据时,它就会告诉你对应的输出结果。在训练过程中,神经网络主要是通过前向传播和反向传播机制运作的。

什么是前向传播和反向传播呢?

  1. 前向传播:数据从输入层传递到输出层的过程叫做前向传播。这个过程的计算结果通常是通过上一层的神经元的输出经过矩阵运算和激活函数得到的。这样就完成了每层之间的神经元数据的传输。
  2. 反向传播:当前向传播作用到输出层得到分类结果之后,我们需要与实际值进行比对,从而得到误差。反向传播也叫作误差反向传播,核心原理是通过代价函数对网络中的参数进行修正,这样更容易让网络参数得到收敛。

所以,整个神经网络训练的过程就是不断地通过前向 - 反向传播迭代完成的,当达到指定的迭代次数或者达到收敛标准的时候即可以停止训练。然后我们就可以拿训练好的网络模型对新的数据进行预测。

当然,深度神经网络是基于神经网络发展起来的,它的原理与神经网络的原理一样,只不过强调了模型结构的深度,通常有 5 层以上,这样模型的学习能力会更强大。

四、常用的神经网络都有哪些

按照中间层功能的不同,神经网络可以分为三种网络结构,分别为 FNN、CNN 和 RNN。

1、FNN

FNN(Fully-connected Neural Network)指的是全连接神经网络,全连接的意思是每一层的神经元与上一层的所有神经元都是连接的。不过在实际使用中,全连接的参数会过多,导致计算量过大。因此在实际使用中全连接神经网络的层数一般比较少。

2、CNN

CNN 叫作卷积神经网络,在图像处理中有广泛的应用,了解图像识别的同学对这个词一定不陌生。CNN 网络中,包括了卷积层、池化层和全连接层。这三个层都有什么作用呢?

卷积层相当于一个滤镜的作用,它可以把图像进行分块,对每一块的图像进行变换操作。

池化层相当于对神经元的数据进行降维处理,这样输出的维数就会减少很多,从而降低整体的计算量。

全连接层通常是输出层的上一层,它将上一层神经元输出的数据转变成一维的向量。

3、RNN

RNN 称为循环神经网络,它的特点是神经元的输出可以在下一个时刻作用到自身,这样 RNN 就可以看做是在时间上传递的神经网络。它可以应用在语音识别、自然语言处理等与上下文相关的场景。

深度学习网络往往包括了这三种网络的变种形成,常用的深度神经网络包括 AlexNet、VGG19、GoogleNet、ResNet 等,我总结了这些网络的特点,你可以看下:

你能看出随着时间的推进,提出的深度学习网络层数越来越深,Top-5 错误率越来越低。

你可能会问什么是 Top-5 错误率,实际上这些网络结构的提出和一个比赛相关,这个比赛叫做 ILSVRC,英文全称叫做 Large Scale Visual Recognition Challenge。它是一个关于大规模图像可视化识别的比赛,所基于的数据集就是著名的 ImageNet 数据集,一共包括了 1400 万张图片,涵盖 2 万多个类别。

表格中的 AlexNet 就是 2012 年的 ILSVRC 冠军,当时的 Top-5 正确率是 84.7%,VGG 和 GoogleNet 是 2014 年 ILSVRC 比赛的模型,其中 GoogleNet 是当时比赛的冠军,而 VGG 是当时比赛的亚军,它的效率低于 GoogleNet。VGG 有两个版本,VGG16 和 VGG19,分别是 16 层和 19 层的 VGG 网络,这两者没有本质的区别,只是网络深度不同。到了 2015 年,比赛冠军是 ResNet,Top-5 正确率达到了 96.43%。ResNet 也有不同的版本,比如 ResNet50、ResNet101 和 ResNet152 等,名称后面的数字代表的是不同的网络深度。之后 ResNet 在其他图像比赛中也多次拿到冠军。

五、深度学习的应用领域

从 ImageNet 跑出来的这些优秀模型都是基于 CNN 卷积神经网络的。实际上深度学习有三大应用领域,图像识别就是其中之一,其他领域分别是语音识别和自然语言处理。

这三个应用领域有一个共同的特性,就是都来自于信号处理。我们人类平时会处理图像信息,语音信息以及语言文字信息。机器可以帮助我们完成这三个应用里的某些工作。比如图像识别领域中图像分类和物体检测就是两个核心的任务。我们可以让机器判断图像中都有哪些物体,类别是什么,以及这些物体所处的位置。图像识别被广泛应用在安防检测中。此外人脸识别也是图像识别重要的应用场景。

Siri 大家一定不陌生,此外还有我们使用的智能电视等,都采用了语音识别技术。语音识别技术可以识别人类的语音指令并进行交互。在语音导航中,还采用了语音合成技术,这样就可以让机器模拟人的声音为我们服务,Siri 语音助手也采用了语音识别和合成的技术。

自然语言处理的英文缩写是 NLP,它被广泛应用到自动问答、智能客服、过滤垃圾邮件和短信等领域中。在电商领域,我们可以通过 NLP 自动给商品评论打标签,在用户决策的时候提供数据支持。在自动问答中,我们可以输入自己想问的问题,让机器来回答,比如在百度中输入“姚明的老婆”,就会自动显示出”叶莉“。

此外这些技术还可以相互组合为我们提供服务,比如在无人驾驶中就采用了图像识别、语音识别等技术。在超市购物中也采用了集成图像识别、意图识别等技术等。

六、总结

今天我们大概了解了一下深度学习。深度学习也是机器学习的一种。我们之前讲解了数据挖掘十大经典算法,还有逻辑回归、随机森林算法等,这些都是传统的机器学习算法。在日常工作中,可以满足大部分的机器学习任务。但是对于数据量更大,更开放性的问题,我们就可以采用深度学习的算法,让机器自己来找规律,而不是通过我们指定的算法来找分类规律。

所以深度学习的普适性会更强一些,但也并不代表深度学习就优于机器学习。一方面深度学习需要大量的数据,另一方面深度学习的学习时间,和需要的计算资源都要大于传统的机器学习。你能看到各种深度学习的训练集一般都还是比较大的,比如 ImageNet 就包括了 1400 万张图片。如果我们没有提供大量的训练数据,训练出来的深度模型识别结果未必好于传统的机器学习。

实际上神经网络最早是在 1986 年提出来的,之后不温不火,直到 ImageNet 于 2009 年提出,在 2010 年开始举办每年的 ImageNet 大规模视觉识别挑战赛(ILSVRC),深度学习才得到迅猛发展。2016 年 Google 研发的 AlphaGo 击败了人类冠军李世石,更是让人们看到了深度学习的力量。一个好问题的提出,可以激发无穷的能量,这是科技进步的源泉,也是为什么在科学上,我们会有各种公开的数据集。一个好的数据集就代表了一个好的问题和使用场景。正是这些需求的出现,才能让我们的算法有更好的用武之地,同时也有了各种算法相互比拼的平台。

版权声明

本文章版权归作者所有,未经作者允许禁止任何转载、采集,作者保留一切追究的权利。

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

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

相关文章

点击劫持:X-Frame-Options 未配置

前言 X-Frame-Options作为HTTP头的一部分,是一种用于保护网站免受点击劫持攻击的安全措施。网站可以通过设置X-Frame-Options或csp报头来控制网站本身是否可以被嵌套到iframe中。 漏洞描述 Clickjacking(点击劫持)是一种安全漏洞&#xff…

Android 项目增加 res配置

main.res.srcDirs "src/main/res_test" build->android->sourceSets

简要归纳UE5 Lumen全局光照原理

一、Jim kajiya老爷子的渲染方程: 求全局光照就是求解渲染方程,我们将两边都有未知数的渲染方程变换成离散形式: 更形象的描述这个离散的渲染方程: 要给每个三角形着色就得先判断光线有没有和它相交,以下是求光线和三…

用Python实现数据透视表、音频文件格式转换

用Python实现数据透视表、音频文件格式转换 1.用Python实现数据透视表 import pandas as pdif __name__ __main__:# df pd.read_excel(广告-资源位变现效率监测看板-1.xlsx, sheet_name各业务在该资源位的明细数据)df pd.read_excel(填充率分析-Q3.xlsx, sheet_name库存底…

hive数据表创建

目录 分隔符 分区表 二级分区 分桶表 外部表 分隔符 CREATE TABLE emp( userid bigint, emp_name array<string>, emp_date map<string,date>, other_info struct<deptname:string, gender:string>) ROW FORMAT DELIMITED FIELDS TERMINATED BY \t COL…

CTF网络安全题目个人导航【持续更新】

CTF-WEB导航 WEBSQLRCE反序列化文件上传SSTIXXE综合WEB SQL [SWPUCTF 2021 新生赛]sql - 联合注入 [SWPUCTF 2021 新生赛]easy_sql - 联合注入||报错注入||sqlmap [NSSRound#1 Basic]sql_by_sql - 二次注入+布尔盲注||sqlmap [NISACTF 2022]join-us - 报错注入&无列名注入…

openmp 通用核心 学习 1

目录 函数&#xff1a; 编译指令&#xff1a; 子句&#xff1a; #pragma omp parallel 函数&#xff1a; int omp_get_thread_num() //获取线程ID int omp_get_num_threads() //获取线程数量&#xff08;只能在并行区域内使用&#xff0c;在并行区域外使用只能得到1&…

【NUMA平衡】浅入介绍NUMA平衡技术及调度方式

在云计算方案设计或项目问题处理的时候&#xff0c;经常会遇到NUMA平衡的问题&#xff0c;进行让人不清楚NUMA到底有何用&#xff0c;如何发挥作用&#xff0c;本文就NUMA技术原理和调度进行简要整理&#xff0c;方便后续需要时候查阅学习。 一.背景 一般的对称多处理器中&am…

【Java学习之道】异常的处理方式

引言 今天我们将聚焦于异常处理&#xff0c;这是每一个Java程序员都应该掌握的核心技能之一。通过学习这些内容&#xff0c;你将能够更好地应对程序中的意外情况&#xff0c;提高程序的健壮性和可靠性。 一、异常的处理方式 在Java中&#xff0c;异常处理主要通过使用try-ca…

竞赛选题 深度学习 大数据 股票预测系统 - python lstm

文章目录 0 前言1 课题意义1.1 股票预测主流方法 2 什么是LSTM2.1 循环神经网络2.1 LSTM诞生 2 如何用LSTM做股票预测2.1 算法构建流程2.2 部分代码 3 实现效果3.1 数据3.2 预测结果项目运行展示开发环境数据获取 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天…

信创办公–基于WPS的EXCEL最佳实践系列 (单元格与行列)

信创办公–基于WPS的EXCEL最佳实践系列 &#xff08;单元格与行列&#xff09; 目录 应用背景操作步骤1、插入和删除行和列2、合并单元格3、调整行高与列宽4、隐藏行与列5、修改单元格对齐和缩进6、更改字体7、使用格式刷8、设置单元格内的文本自动换行9、应用单元格样式10、插…

[Java] 重写equals为什么要重写hashcode方法?

背景 假设我们可能会遇到两个对象&#xff0c;它们的属性都是一样。 而我们的需求 要认为这两对象是同一个&#xff0c;但是在JAVA上它们两是不同的对象&#xff0c;使用equals时就会返回false。 所以我们要重写equals。 public class MyUser {public String id;public MyUs…

1312. 序列统计

1312. 序列统计 - AcWing题库 L~R范围可以等同于0~R-L范围 相当于在R-L1个数中选出k个数 令 则变为 相当于在R-Lk个数中选出k个数 需要计算 #include<bits/stdc.h> #define IOS ios::sync_with_stdio(0);cin.tie(0);cout.tie(0); #define endl \nusing namespace std;t…

本地vscode安装GPU版本PyTorch

操作系统 windows, IDE环境vscode&#xff0c;本地GPU 可以新建一个jupyter文件&#xff0c;运行一些测试代码 确保装好显卡驱动 在底下调出终端窗口&#xff0c;默认是power shell&#xff0c;我喜欢用cmd窗口 激活自己的虚拟环境&#xff0c;输入命令 nvidia-smi 确保自己…

大模型的超级“外脑”——向量数据库解决大模型的三大挑战

随着AI大模型产品及应用呈现爆发式增长,新的AI时代已经到来。向量数据库可与大语言模型配合使用,解决大模型落地过程中的痛点,已成为企业数据处理和应用大模型的必选项。在近日举行的华为全联接大会2023期间,华为云正式发布GaussDB向量数据库。GaussDB向量数据库基于GaussD…

PHP - 遇到的Bug - 总结

BUG记录1 [问题] 除数为0&#xff0c;不符合规则 [问题描述] // 报错信息 DivisionByZeroError&#xff1a;is thrown when an attempt is made to divide a number by zero.// example public class Example {public static void Main(){int number1 3000;int number2 0;tr…

ubuntu 通过apt-get快速安装 docker

在使用 apt-get 安装 Docker 之前,你需要确保你的系统已经准备好并且已经更新了软件包列表。以下是在 Ubuntu 系统上使用 apt-get 安装 Docker 的步骤: 更新软件包列表: sudo apt-get update 安装依赖软件包,以确保可以通过 HTTPS 使用存储库: sudo apt-get install apt-t…

【2023年11月第四版教材】第24章《法律法规与标准规范》(合集篇)

第24章《法律法规与标准规范》(合集篇&#xff09; 1 民法典&#xff08;合同编&#xff09;2 招标投标法2.1 关于时间的总结2.2 内容 3 政府采购法4 专利法5 著作权法6 商标法7 网络安全法8 数据安全法 1 民法典&#xff08;合同编&#xff09; 1、要约是希望和他人订立合同的…

实施运维02

一.网线制作 1.所需材料 网线&#xff0c;水晶头&#xff0c;网线钳&#xff0c;水晶头, 路由器或者网络测速仪 网线钳 网线制作标准 T568A标准&#xff08;交叉线&#xff09;&#xff1a;适用链接场合&#xff1a;电脑-电脑、交换机-交换机、集线器-集线器 接线顺序&…

3.2python使用 matplotlib 实现可视化_python量化实用版教程(初级)

使用 matplotlib 实现可视化 Matplotlib 的主要模块是 pyplot&#xff0c;它提供了类似于 Matlab 的绘图接口。 安装命令&#xff1a;pip install matplotlib 下面是一个简单的示例代码&#xff0c;演示了如何使用 Matplotlib 绘制折线图&#xff1a; import matplo…