在这篇文章中,咱们将去学习神经网络的基础知识。
本篇文章的学习须要对机器学习有着基本理解,若是你学习过一些机器学习算法,那就更好了。
首先简单介绍一下人工神经网络,也叫ANN。
不少机器学习算法的灵感来自于大天然,而最大的灵感来自咱们的大脑,咱们如何思考、学习和作决定。
有趣的是,当咱们触摸到热的东西时,咱们身体里的神经元会将信号传递给大脑的,而后大脑会产生让咱们从热的区域撤退的反应。咱们能够根据经验来进行训练,根据咱们的经验,咱们开始作出更好的决定。
使用一样的类比,当咱们向神经网络发送一个输入(触摸热物质),而后根据学习(先前的经验),咱们产生一个输出(从热区域退出)。在将来,当咱们获得相似的信号(接触热表面),咱们能够预测输出(从热区退出)。
假设咱们输入了诸如温度、风速、能见度、湿度等信息,以预测将来的天气情况——下雨、多云仍是晴天。
这能够表示为以下所示。
让咱们用神经网络来表示它并理解神经网络的组成部分。
神经网络接收输入,经过使用激活函数改变状态从而转换输入信号,进而产生输出。
输出将根据接收到的输入、强度(若是信号由权值表示)和应用于输入参数和权值的激活而改变。
神经网络与咱们神经系统中的神经元很是类似。
x一、x二、…xn是神经元向树突的输入信号,在神经元的轴突末端会发生状态改变,产生输出y一、y二、…yn。
以天气预报为例,温度、风速、能见度和湿度是输入参数,而后神经元经过使用激活函数对输入施加权重来处理这些输入,从而产生输出,这里预测的输出是晴天、雨天或阴天的类型。
那么,神经网络的组成部分是什么呢
神经网络会有算法
Epoch是指用于一次学习,一次正向传播和一次反向传播的完整数据集。
咱们能够重复也就是在多个epoch下前向和反向传播,直到咱们收敛到一个全局极小值。
什么是学习率?
学习率控制着咱们应该在多大程度上根据损失梯度调整权重。
值越低,学习越慢,收敛到全局最小也越慢。
较高的学习率值不会使梯度降低收敛
学习率是随机初始化的。
如何肯定隐藏层的数量和每一个隐藏层的节点数量?
随着隐层数目的增长和隐层神经元或节点数目的增长,神经网络的容量也随之增大,神经元能够协做来表达不一样的功能,这经常会致使过拟合,咱们必须当心过拟合。
对于神经网络中隐藏层的最优数量,根据Jeff Heaton提出的下表
对于隐藏层中神经元的最佳数目,咱们能够采用下面的方法网络