深度学(deep learning)基础-神经网络简易教程
首先简单介绍一下人工神经网络,也叫ANN。
很多机器学习算法的灵感来自于大自然,而最大的灵感来自我们的大脑,我们如何思考、学习和做决定。
有趣的是,当我们触摸到热的东西时,我们身体里的神经元会将信号传递给大脑的,然后大脑会产生让我们从热的区域撤退的反应。我们可以根据经验来进行训练,根据我们的经验,我们开始做出更好的决定。
使用同样的类比,当我们向神经网络发送一个输入(触摸热物质),然后根据学习(先前的经验),我们产生一个输出(从热区域退出)。在未来,当我们得到类似的信号(接触热表面),我们可以预测输出(从热区退出)。
假设我们输入了诸如温度、风速、能见度、湿度等信息,以预测未来的天气状况——下雨、多云还是晴天。
这可以表示为如下所示。
让我们用神经网络来表示它并理解神经网络的组成部分。
神经网络接收输入,通过使用激活函数改变状态从而转换输入信号,进而产生输出。
输出将根据接收到的输入、强度(如果信号由权值表示)和应用于输入参数和权值的激活而改变。
神经网络与我们神经系统中的神经元非常相似。
x1、x2、…xn是神经元向树突的输入信号,在神经元的轴突末端会发生状态改变,产生输出y1、y2、…yn。
以天气预报为例,温度、风速、能见度和湿度是输入参数,然后神经元通过使用激活函数对输入施加权重来处理这些输入,从而产生输出,这里预测的输出是晴天、雨天或阴天的类型。
那么,神经网络的组成部分是什么呢
神经网络会有
- 输入层,偏置单元。
- 一个或多个隐藏层,每个隐藏层将有一个偏置单元
- 输出层
- 与每个连接相关的权重
- 将节点的输入信号转换为输出信号的激活函数
输入层、隐含层和输出层通常称为全连接层
这些权值是什么,什么是激活函数,这些方程是什么?
让我们简化一下
权重是神经网络学习的方式,我们调整权重来确定信号的强度。
权重帮助我们得到不同的输出。
例如,要预测晴天,温度可能介于宜人到炎热之间,晴天的能见度非常好,因此温度和能见度的权重会更高。
湿度不会太高,否则当天会下雨,所以湿度的重量可能会小一些,也可能是负的。
风速可能与晴天无关,它的强度要么为0,要么非常小。
我们随机初始化权重(w)与输入(x)相乘并添加偏差项(b),所以对于隐藏层,会先计算z,然后应用激活函数(ɸ)。
我们称之为前向传播。方程可以表示如下,其中$l$为层的编号,对于输入层$l=1$。
说到激活函数,我们来了解一下它们的用途
激活函数帮助我们决定是否需要激活该神经元,如果我们需要激活该神经元那么信号的强度是多少。
激活函数是神经元通过神经网络处理和传递信息的机制。
让我们用预测天气的样本数据来理解神经网络
为了更好地理解,我们将进行简化,我们只需要两个输入:有两个隐藏节点的温度和能见度,没有偏置。对于输出,我们仍然希望将天气划分为晴天或不晴天
温度是华氏温度,能见度是英里。
让我们看一个温度为50华氏度,能见度为0.01英里的数据。
步骤1:我们将权重随机初始化为一个接近于0但不等于0的值。
步骤2:接下来,我们用温度和能见度的输入节点获取我们的单个数据点,并输入到神经网络。
步骤3:从左到右进行前向传播,将权值乘以输入值,然后使用ReLU作为激活函数。目前ReLU是全连接网络最常用的激活函数。
步骤4:现在我们预测输出,并将预测输出与实际输出值进行比较。由于这是一个分类问题,我们使用交叉熵函数
交叉熵是一个非负的代价函数,取值范围在0和1之间
在我们的例子中,实际的输出不是晴天,所以y的值为0。如果ŷ是1,那么我们把值代入成本函数,看看得到什么
类似地,当实际输出和预测输出相同时,我们得到成本c=0。
我们可以看到,对于交叉熵函数,当预测的输出与实际输出相匹配时,成本为零;当预测的输出与实际输出不匹配时,成本是无穷大的。
步骤5:从右向左反向传播并调整权重。权重是根据权重对错误负责的程度进行调整的,学习率决定了我们更新权重的多少。
反向传播、学习率,我们将用简单的术语来解释一切。
反向传播
把反向传播看作是我们有时从父母、导师、同伴那里得到的反馈机制,反馈帮助我们成为一个更好的人。
反向传播是一种快速的学习算法,它告诉我们,当我们改变权重和偏差时,成本函数会发生怎样的变化,从而改变了神经网络的行为。
这里不深入研究反向传播的详细数学。在反向传播中,我们计算每个训练实例的成本对权重的偏导数和成本对偏差的偏导数,然后求所有训练样本的偏导数的平均值。
对于我们的单个数据点,我们确定每个权值和偏差对错误的影响程度,基于这些权值对错误的影响程度,我们同时调整所有权值。
对于使用批量梯度下降(GD)算法,所有训练数据更新一次权值;对于使用随机梯度下降(SGD)算法,每一个批次训练示例更新一次权值。
对于不同的权重,我们使用GD或SGD重复步骤1到步骤5。
随着权重的调整,某些节点将根据激活函数进行打开或关闭。
在我们的天气例子中,温度与预测多云的相关性较小,因为夏季的温度可能在70度以上,而冬季仍然是多云的,或者冬季的温度可能在30度或更低,但仍然是多云的,在这种情况下,激活函数可以决定关闭负责温度的隐藏节点,只打开可见度节点,以预测输出不是晴天,如下图所示
Epoch是指用于一次学习,一次正向传播和一次反向传播的完整数据集。
我们可以重复也就是在多个epoch下前向和反向传播,直到我们收敛到一个全局极小值。
什么是学习率?
学习率控制着我们应该在多大程度上根据损失梯度调整权重。
值越低,学习越慢,收敛到全局最小也越慢。
较高的学习率值不会使梯度下降收敛
学习率是随机初始化的。
如何确定隐藏层的数量和每个隐藏层的节点数量?
随着隐层数目的增加和隐层神经元或节点数目的增加,神经网络的容量也随之增大,神经元可以协作来表达不同的功能,这常常会导致过拟合,我们必须小心过拟合。
对于神经网络中隐藏层的最优数量,根据Jeff Heaton提出的下表
对于隐藏层中神经元的最佳数目,我们可以采用下面的方法
- 输入层和输出层神经元数目的平均值。
- 在输入层的大小和输出层的大小之间。
- 2/3输入层的大小,加上输出层的大小。
- 小于输入层大小的两倍。
深度学(deep learning)基础-神经网络简易教程相关推荐
- 深度学习(Deep Learning)——卷积神经网络 (Convolutional Neural Networks / CNN)
一.卷积神经网络的概述 1.卷积神经网络与普通神经网络非常相似,它们都由具有可学习的权重w和偏置常量(biases)的神经元组成.每个神经元都接收一些输入,并做一些点积计算,输出是每个分类的分数,普通 ...
- 机器学习(Machine Learning)深度学习(Deep Learning)资料(Chapter 2)
机器学习(Machine Learning)&深度学习(Deep Learning)资料(Chapter 2) - tony的专栏 - 博客频道 - CSDN.NET 注:机器学习资料篇目一共 ...
- 【深度学习Deep Learning】资料大全
感谢关注天善智能,走好数据之路↑↑↑ 欢迎关注天善智能,我们是专注于商业智能BI,人工智能AI,大数据分析与挖掘领域的垂直社区,学习,问答.求职一站式搞定! 对商业智能BI.大数据分析挖掘.机器学习, ...
- 机器学习(Machine Learning)深度学习(Deep Learning)资料汇总
本文来源:https://github.com/ty4z2008/Qix/blob/master/dl.md 机器学习(Machine Learning)&深度学习(Deep Learning ...
- 深度学习Deep Learning 资料大全
转自:http://www.cnblogs.com/charlotte77/ [深度学习Deep Learning]资料大全 最近在学深度学习相关的东西,在网上搜集到了一些不错的资料,现在汇总一下: ...
- 机器学习(Machine Learning)深度学习(Deep Learning)资料【转】
转自:机器学习(Machine Learning)&深度学习(Deep Learning)资料 <Brief History of Machine Learning> 介绍:这是一 ...
- 机器学习(Machine Learning)深度学习(Deep Learning)资料集合
机器学习(Machine Learning)&深度学习(Deep Learning)资料 原文链接:https://github.com/ty4z2008/Qix/blob/master/dl ...
- 机器学习 Machine Learning 深度学习 Deep Learning 资料
机器学习(Machine Learning)&深度学习(Deep Learning)资料 機器學習.深度學習方面不錯的資料,轉載. 原作:https://github.com/ty4z2008 ...
- 大量机器学习(Machine Learning)深度学习(Deep Learning)资料
机器学习目前比较热,网上也散落着很多相关的公开课和学习资源,这里基于课程图谱的机器学习公开课标签做一个汇总整理,便于大家参考对比. 1.Coursera上斯坦福大学Andrew Ng教授的" ...
最新文章
- 2021年大数据HBase(二):HBase集群安装操作
- java基础面试题整理-2021
- golang orm 框架之 gorm
- 极力推荐5款我一直在使用的Chrome优秀插件!
- Git之深入解析Git的安装流程与初次运行Git前的环境配置
- [渝粤教育] 武汉大学 数字图像处理 参考 资料
- Maplace.js – 小巧实用的 jQuery 谷歌地图插件
- 红包指定分配金额php,php仿微信红包分配算法的实现方法_PHP
- Linux中的两个经典宏定义:获取结构体成员地址,根据成员地址获得结构体地址;Linux中双向链表的经典实现。...
- linux中文件大小的分配,Linux创造固定的文件大小-预分配磁盘空间
- unix下ODBC连接MySQL编程_通过unixODBC访问PostgreSQL数据库
- AIDE手机编程初级教程(零基础向)导航
- java游戏txt_java游戏泡泡龙
- 是时候回答【我为什么要学习 Go 语言(golang)】这个问题了
- 量化机器人—马特炒币机器人
- 2022 最新版java开发手册 黄山版
- 对于栈内存和堆内存的理解
- java读取xml文件报“org.xml.sax.SAXParseException: Premature end of file”
- azure创建centos_如何使用Blazor和Azure计算机视觉创建光学字符读取器
- Spring环绕通知Around
热门文章
- 深度学习核心技术精讲100篇(六)-keras 实战系列之知识蒸馏(Knowledge Distilling)
- Flink从入门到精通100篇(六)-Flink 应用之 对Release 文档进行深度解读
- 数组反向遍历ios_iOS中数组遍历的方法及比较
- python3-matplotlib库简单入门
- Python中join()方法和os.path.join()方法
- 在Ubuntu中安装及配置java
- 详解下一代神经网络-无监督对比学习框架SimCLR
- fastJson解析复杂对象时碰到的问题
- 最小二乘拟合,L1、L2正则化约束--转
- Linux curl命令参数详解--转载