深度学习理论介绍

news2024/9/22 4:11:17

在机器学习理论介绍中说过,深度学习是机器学习的一种技术,下面我们具体来看下。

1、 定义

深度学习首先是一种机器学习。深度学习的基础,叫做神经网络,这本身就是一种机器学习算法。
深度神经网络(Deep Neural Networks, 以下简称DNN)是深度学习的基础。

代表案例:
多层感知机(Multi-Layer perceptron,MLP)

2、感知机

感知机的模型,它是一个有若干输入和一个输出的模型。
输出和输入之间学习到一个线性关系,得到中间输出结果,接着是一个神经元激活函数,从而得到想要的结果1或者-1
在这里插入图片描述
感知机局限性

这个模型只能用于二元分类,且无法学习比较复杂的非线性模型,因此在工业界无法使用。
在这里插入图片描述
异或问题,我们可以看到感知机是无法区分异或问题的,也就是无法找到一条直线将上图中的xor进行划分。异或问题使得人工神经网络的发展停止了很久。

3、改进

后来有人根据人类神经元的特点引入到了深度学习。
人类信息的传递,首先传入到输入神经树突,根据传递的状态在输出到输出神经轴突
在这里插入图片描述
神经元默认是抑制状态,经过传递后可产生兴奋,兴奋后会进行传输
生物的神经元一层一层的连接起来,当神经信号达到某一个条件时,这个神经元就会激活,然后传递下去,为了解决线形不可分的问题,采取神经网络的输入端和输出端插入更多的神经元。

4、多层感知机

根据人脑信息的传递原理,对感知机进行了改进,提出了多层感知机。

1、 加入了隐藏层,隐藏层可以有多层,增强模型的表达能力
2、 输出层的神经元也可以不止一个输出,可以有多个输出
3、 使用不同的激活函数,神经网络的表达能力进一步增强

在这里插入图片描述

5、激活函数

定义,是一种添加到人工神经网络中的函数,旨在帮助网络学习数据中的复杂模式
作用,解决线形不可分问题
常见激活函数,Sigmoid、Tanh、ReLU等

在这里插入图片描述

神经网络中每一层的输入输出都是一个线性求和的过程,下一层的输出只是承接了上一层输入函数的线性变换,所以如果没有激活函数,那么无论你构造的神经网络多么复杂,有多少层,最后的输出都是输入的线性组合,纯粹的线性组合并不能够解决更为复杂的问题。

而引入激活函数之后,我们会发现常见的激活函数都是非线性的,因此也会给神经元引入非线性元素,使得神经网络可以逼近其他的任何非线性函数,这样可以使得神经网络应用到更多非线性模型中。

6、超参数理解

  1. Batch,用于定义在更新内部模型参数之前要处理的样本数
  2. Epoch,它定义了学习算法在整个训练数据集中的工作次数
    在这里插入图片描述

7、TensorFlow游乐场

为了方便大家理解,我们可以在TensorFlow游乐场里面进行演示。

7.1 默认状态

首次进入我们可以看到如下的页面。
在这里插入图片描述

7.2 异或问题的展示

我们选择左边的数据中的第二个,异或问题的类型(当然大家也可以用其他的数据进行学习)
激活函数使用线性函数(即不使用激活函数),我们点击左上角的开始按钮进行模拟训练。
在这里插入图片描述
随着训练的进行,我们发现右上角的损失变化很小,右侧中间的数据集也没有进行划分。

7.3 加入激活函数

我们使用relu函数作为激活函数进行训练,我们可以发现

  • 右上角的损失变化,一开始迅速下降,随后平稳
  • 右侧中间的数据已经被很好的区分
    在这里插入图片描述

7.4 多神经元的影响

我们选取环形数据集进行演示
隐藏层使用一层,选择两个神经元进行训练
在这里插入图片描述

我们可以发现,我们训练了几千次都没有区分开
下面我们增加神经元
在这里插入图片描述
很快就分好了

理论上随着神经元和隐藏层数的增加,模型的拟合效果会越来越好

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

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

相关文章

产品小白如何从模仿开始学习Axure

​有一些小伙伴有这样的疑问,如果想学习产品经理的知识,但是从来对产品经理完全没有认识,该怎样去开始学习呢? 对于这种情况的小伙伴,有个建议是可以先从axure的学习入手。 那么问题又来了,应该如何开始axu…

只靠石墨烯电池,撑不起两轮电动车的“高端梦”

文|智能相对论作者|陈明涛在两轮电动车上,“石墨烯”电池已经成为品牌标配。雅迪、爱玛、台铃等都有搭载石墨烯电池的车型,雅迪的TTFAR石墨烯电池已经迭代到第4代,而第3代Plus电池搭载在冠能3 E9 PRO上完成量产上市;爱玛、台铃都和…

(侯捷C++)1.1面向对象高级编程(上)

一.C编程简介 1.C历史 B语言 → C语言 → C语言(new C → C with Class → C) 面向对象的语言:C、Java、C# 2.C演化 C 98(1.0) → C 03 → C 11(2.0) → C 14 Class两个经典分类:有指针(Complex类为例&#xff0…

python经典例题

目录标题1,计算数字的阶乘2,区间内的所有素数3,求前n个数字的平方和4,移除列表中的多个元素5,列表去重6,对简单列表元素排序7,对复杂列表元素排序8,读取成绩问卷并排序-读取文件&…

在MySQL5基础上安装MySQL8解压版安装服务指向MySQL5的问题

Windows10在MySQL5解压版基础上安装MySQL8解压版后服务启动失败 1. 遇到的问题: MySQL8目录下没有生成data文件夹启动服务失败,右键服务属性,可执行文件的路径竟然是MySQL目录下的日志文件在MySQL5目录下,日志内容会提示读取了M…

【C语言】动态内存实现通讯录(malloc,calloc,realloc)

目录 一、为什么要存在动态内存开辟 二、动态内存函数 2.1 malloc 2.1.1 函数介绍 2.1.2 函数的使用 2.1.3 free 2.2 calloc 2.2.1 函数介绍 2.2.2 函数的使用 2.3 realloc 2.3.1 函数的介绍 2.3.2 函数的使用 三、改进通讯录 3.1 初始化 3.2 增加信息 3.3 排序&am…

R语言贝叶斯方法在生态环境领域中的高阶技术应用

贝叶斯统计已经被广泛应用到物理学、生态学、心理学、计算机、哲学等各个学术领域,其火爆程度已经跨越了学术圈,如促使其自成统计江湖一派的贝叶斯定理在热播美剧《The Big Bang Theory》中都要秀一把。贝叶斯统计学即贝叶斯学派是一门基本思想与传统基于…

从正则表达式到NFA

一、正则表达式到NFA的基本结构 1. 我们先回顾一下 RE 的三个基本操作: 可选(alternative):对于给定的两个正则表达式 M 和 N,选择操作符( | )形成一个新的正则表达式 M|N ,如果一…

28.Isaac教程--使用Sight的远程操纵杆

使用Sight的远程操纵杆 ISAAC教程合集地址: https://blog.csdn.net/kunhe0512/category_12163211.html 文章目录使用Sight的远程操纵杆设置 Isaac 应用程序以使用虚拟游戏手柄小部件关于虚拟游戏手柄小部件使用虚拟游戏手柄小部件运作模式手柄模式鼠标模式键盘模式控制机器人运…

设计模式_行为型模式 -《责任链模式》

设计模式_行为型模式 -《责任链模式》 笔记整理自 黑马程序员Java设计模式详解, 23种Java设计模式(图解框架源码分析实战) 概述 在现实生活中,常常会出现这样的事例:一个请求有多个对象可以处理,但每个对象…

windows最小化安装mysql8

第一步:下载 从官网下载,https://dev.mysql.com/downloads/mysql 第二步:安装 下载后解压到目录即可。 我这里解压到D:\MYSQL\mysql-8.0.32-winx64\mysql-8.0.32-winx64 第三步:初始化配置 1、添加系统变量 在系统变量PATH后…

【C++】从0到1入门C++编程学习笔记 - 基础入门篇:数组

文章目录一、概述二、一维数组2.1 一维数组定义方式2.2 一维数组数组名2.3 C 实现冒泡排序三、二维数组3.1 二维数组定义方式3.2 二维数组数组名3.3 二维数组应用案例一、概述 所谓数组,就是一个集合,里面存放了相同类型的数据元素 特点1:数…

(15)go-micro微服务main.go开发

文章目录一 导包二 配置中心三 注册中心四 zap日志初始化五 初始化Mysql数据库六 初始化Redis连接七 注册服务八 初始化服务九 注册 handle十 启动服务十一 main.go全部代码十二 最后一 导包 import (micro2 "account/common/micro""account/config/logger&quo…

day17|530.二叉搜索树的最小绝对差、501.二叉搜索树中的众数、236. 二叉树的最近公共祖先

530.二叉搜索树的最小绝对差 给你一个二叉搜索树的根节点 root ,返回 树中任意两不同节点值之间的最小差值 。差值是一个正数,其数值等于两值之差的绝对值。 示例 1: 输入:root [4,2,6,1,3] 输出:1 示例 2&#xff1…

Redis持久化——AOF机制详解

在运行情况下,Redis 以数据结构的形式将数据维持在内存中,为了让这些数据在 Redis 重启之后仍然可用,需要将数据写入持久存储 持久化是指将数据写入持久存储,例如固态磁盘(SSD) Redis 提供了一系列持久化选项。这些包括&#xff1…

[GYCTF2020]Blacklist(堆叠注入)

目录 信息收集 堆叠注入 payload 总结 信息收集 观察url变化是get请求的SQL注入题目 判断注入类型 1和1"回显一样 1回显报错 1 or 11# array(2) {[0]>string(1) "1"[1]>string(7) "hahahah" }array(2) {[0]>string(1) "2"[…

【C语言进阶】最常用的库函数大全——从入门到精通

目录 一.字符串函数 1.strlen——求字符串长度 2.长度不受限制的字符串函数 a.strcpy——字符串拷贝 b.strcat——追加字符串 c.strcmp——字符串比较 3.长度受限制的字符串函数——strncpy,strncat,strncmp 4.字符串查找 a.strstr——判断是否为子字符串 b.strtok—…

Java网络编程(2)

关于网络编程上一章内容,可以参考: https://blog.csdn.net/Raine_Yang/article/details/128697335?spm1001.2014.3001.5501 使用服务器处理多个客户端 一般来说,同一服务器要持续运行处理多个客户端的请求。我们可以为每一个客户端请求分配…

@Scope 用法

参考:Scope注解 详细讲解及示例 官方文档 When used as a type-level annotation in conjunction with Component, Scope indicates the name of a scope to use for instances of the annotated type. When used as a method-level annotation in conjunction w…

【NI Multisim 14.0虚拟仪器设计——放置虚拟仪器仪表(示波器)】

目录 序言 🍍放置虚拟仪器仪表 🍉示波器 🍊🍊1.“时基”选项组 (1)标度 (2)X轴位移 (3)显示方式选择 🍊🍊2.“通道”选项组 …