简述神经网络学习过程
0. 前言
本篇博客打算通俗地说明一下神经网络的学习过程。
1. 基本原理
还是通过举例来进行说明。
假如有一种花,其花瓣长度与叶子长度成一定的比例。
花瓣长度 | 叶子长度 |
---|---|
9 | 27 |
23 | 72 |
29 | 63 |
26 | 61 |
24 | 57 |
35 | 94 |
21 | 59 |
27 | 78 |
19 | 60 |
31 | 90 |
可以把上面的数据在坐标系中画出来:
现在,我们知道一朵花的花瓣长度是20,想知道它的叶子长度是多少?
从上边的散点图中,可以看到实际上就是需要找到一条直线来拟合这些点,使得尽可能多的点在直线上或者直线附近。但如何寻找合适的直线就成了一个问题。
在计算机中,在给定了这些样本点之后,实际上开始它会随机找一条直线,根据预测结果与实际结果的误差来逐渐进行调整,以逐渐逼近最佳的结果。(比如在下图中,最初是随机画的黑色这条线来拟合这些点,然后会计算每个样本点与直线的误差,所有样本点的误差加起来就是总的误差,再进行加和之后发现误差很大,所以就会调整直线的斜率,此处就把斜率减小,再计算每个样本的误差,不断尝试这个过程)
如果把最终所求的斜率与误差的关系也通过作图展示,则如下:
在很多问题中,误差一般不能减小到0,所以一般求解的是误差的最小值,并且在实际问题中,求解误差都用了一些函数,所以更多时候误差和要求解的值是曲线的关系,如下:
而这时候,要寻找的误差最小的过程就是找曲线斜率趋近于0的过程,也就是找导数趋近于0的过程。
并且在寻找最合适的解的时候,步长不能过大,不然会错过最佳解,如下图:
所以,其实,神经网络的学习过程就是一个不断调整误差的过程。
2. 网络结构
单层
多层
神经元相互连接就构成了神经网络
上面是一个全连接,即每个神经元传到下一层,也是传给下一层的每一个神经元,在连接这条线上有一个权重,这个权重衡量了它传递到下一层神经元的大小。
下面举例来计算的过程,假如有下面的这个过程:
上图中的0.7426和0.6433就是输出结果,通过输出结果和期望值的误差,返回去调整每个神经元和其他神经元的权重,使得误差不断减小,不断逼近期望值。
通过上述过程不断的训练和调整,最终会得到一组权重的合理取值,在输入数据时,得到的结果与期望值十分接近,此时的神经网络就算训练好了。
简述神经网络学习过程相关推荐
- 简述神经网络的训练过程?
简述神经网络的训练过程? 训练神经网络由以下基本步骤构成: 步骤1:神经网络的初始化(Weights Initalization):初始化权值(weights)和偏差(bias).可以理解为方程Y = ...
- 简述人工神经网络的定义,简述神经网络算法
1.人工智能十大算法 人工智能十大算法如下 线性回归(Linear Regression)可能是最流行的机器学习算法.线性回归就是要找一条直线,并且让这条直线尽可能地拟合散点图中的数据点.它试图通过将 ...
- 简述神经网络具备的特征,神经网络的典型结构有
1.简述人工神经网络的结构形式 神经网络有多种分类方式,例如,按网络性能可分为连续型与离散型网络,确定型与随机型网络:按网络拓扑结构可分为前向神经网络与反馈神经网络.本章土要简介前向神经网络.反馈神经 ...
- 简述神经网络的基本思想,简述什么是神经网络
文本分类的方法 文本分类问题与其它分类问题没有本质上的区别,其方法可以归结为根据待分类数据的某些特征来进行匹配,当然完全的匹配是不太可能的,因此必须(根据某种评价标准)选择最优的匹配结果,从而完成分类 ...
- 简述神经网络算法的具体流程
神经网络算法原理 一共有四种算法及原理,如下所示: 1.自适应谐振理论(ART)网络. 自适应谐振理论(ART)网络具有不同的方案.一个ART-1网络含有两层一个输入层和一个输出层.这两层完全互连,该 ...
- 图神经网络学习过程心得总结
图的概述 图(Graph)就是节点(Vertices/Nodes)以及边(Edge) 图的举例 社交网络 节点:人 边:人与人之间的各种联系,如父母关系.朋友关系.同事关系等等. 化学分子 节点:原子 ...
- 简述神经网络具备的特征,神经网络控制结构包括
现代控制理论的发展 1.智能控制(IntelligentControl)智能控制是人工智能和自动控制的结合物,是一类无需人的干预就能够独立地驱动智能机器,实现其目标的自动控制. 智能控制的注意力并不放 ...
- CNN卷积神经网络学习过程(权值更新)
卷积神经网络采用BP算法学习网络参数,BP算法是基于梯度下降原则来更新网络参数.在卷积神经网络中,需要优化的参数有卷积核参数k.下采样层权值β.全连接层网络权值w及各层偏置b.我们以卷积神经网络的期望 ...
- 本章设计了三种不同的神经网络,神经网络简答题
求<神经网络与深度学习讲义>全文免费下载百度网盘资源,谢谢~ 谷歌人工智能写作项目:爱发猫 深度学习与神经网络有什么区别 找深度学习和神经网络的不同点,其实主要的就是:原来多层神经网络做的 ...
最新文章
- android获取mysql数据_java – Android从mySql获取数据
- 想学python有什么用-我们为什么要选择学习python?学习python有什么用?
- sqlserver存储过程sp_send_dbmail邮件(html)实际应用
- 头条一面竟然问我Maven?
- 函数调用 压栈的工作原理
- 前端学习(1034):jquery插件-全屏滚动
- Spring IOC容器【p名称空间注入属性值 】
- Linux多任务编程之七:Linux守护进程及其基础实验(转)
- 数学建模-7.多元线性回归分析
- [Java] 蓝桥杯ADV-95 算法提高 字符串比较
- Spring 3.0 发布候选版 3 已经可用!
- 百度中文手写输入法linux版,[Linux]百度输入法Linux版 V1.0.1.0 [2020.05.19]
- 安装oracle提示javaw,为什么oracle 9i 安装时,setup exe javaw exe进程消失
- 更新macOS Monterey后遇到的各种Bug及解决方法
- 光伏窗性能研究(5)——中空光伏窗节能性能模拟及优化设计
- springboot自动装配原理
- webgis、gis学习技巧总结
- 个人建站赚钱的5种常见方法
- Android轻量级APM性能监测方案
- 区别wchar_t,char,WCHAR