1、神经元模型

历史上,科学家一直希望模拟人的大脑,造出可以思考的机器。人为什么能够思考?科学家发现,原因在于人体的神经网络。

神经网络最基本的成分是神经元模型

其中,W表示的是向量,代表的是权重,函数f称为激活函数,

  • 其中f()我们一般选择sigmoid函数(这里选择对数几率函数)
  • 对数几率函数相较于阶跃函数优点:连续光滑,任意阶可导

2、感知机与多层网络

感知器的例子 城里正在举办一年一度的游戏动漫展览,小明拿不定主意,周末要不要去参观。 他决定考虑三个因素。

天气:周末是否晴天?
同伴:能否找到人一起去?
价格:门票是否可承受?

这就构成一个感知器。上面三个因素就是外部输入,最后的决定就是感知器的输出。如果三个因素都是 Yes(使用1表示),输出就是1(去参观);如果都是 No(使用0表示),输出就是0(不去参观)。

单层感知机:有两层神经元组成,只有一层M-P神经元的网络模

单层感知机学习参数的调整

单层感知机只能解决线性可分的问题,对于非线性可分问题,需要考虑使用

多层功能神经元

多层前馈神经网络:

  1. 多层:有隐含层
  2. 前馈:不存在信号的逆向传播,不存在环和回路
  3. 不存在同层连接,不存在跨层连接

3、误差逆传播算法

BP算法(误差逆传播算法)

1.初始化
2.反复调整(信号向前传播->误差逆向传播->权值与阈值更新)

BP神经网络的过程主要分为两个阶段,第一阶段是信号的前向传播,从输入层经过隐含层,最后到达输出层;第二阶段是误差的反向传播,从输出层到隐含层,最后到输入层,依次调节隐含层到输出层的权重和偏置,输入层到隐含层的权重和偏置。

训练流程图

BP算法可能出现的问题 1.初始化问题:

初始化为不同的小随机数
不同:保证网络可以学习
小随机数:防止过大提前进入饱和状态
如果跌入局部最优,就要重新初始化

2.步长设置问题:

学习率(0到1之间)控制着算法的每一轮迭代中更新的步长
若太大,容易发生振荡,若太小,收敛速度缓慢。

3.结构学习问题:

  • 输入层个数: 若给点属性为连续值,则等于训练数据的维度 若为离散值,等于维度+编码方式
  • 输出层个数: 若为分类问题,与待分类类别数目大致成二为底的对数函数关系
  • 隐层神经元个数: 试错法或者经验确定 一个包含足够多神经元的隐层,多层前馈神经网络就可以任意精度比较任意函数,所以,总可以找到一个合适的隐层神经元个数。

4.权值阈值更新问题:

  • 标准BP算法:
    每次更新只针对单个样例,参数更新非常频繁,不同样例的更新效果可能会有“抵消现象”,为了达到累计误差最小点,可能需要更多次的迭代。
  • 累计BP算法:
    直接针对累计误差最小化,读取整个数据集D之后才更新一次,更新频率低。但降到一定程度时,下降非常缓慢。 5.过拟合问题:
  • 过拟合:训练误差持续降低,但是测试误差却上升
    解决策略 ①早停 ②正则化

4、全局最小和局部最小

由于初始化的时候随机初始化为不同的随机小数,则很有可能将网络跌入局部最优。不同的初始点,可能得到的最优解可能不同。

跳出局部最优的策略:

  1. 以多组不同参数值初始化多个神经网络,从不同 的点开始搜索最优点,可能会得到的结果不同, 从中选择有可能获得更接近全局最小的结果。
  2. 模拟退火技术 模拟退火在每一步都以一定概率接受比当前解更差 的结果,从而有助于跳出局部最优。
  3. 使用随机梯度下降,即使跌入局部极小点,因为 加入了随机因素,可能跳出局部最优。

5、常见的其他神经网络

1.RBF网络 单隐层前馈神经网络 使用径向基函数作为隐层神经元激活函数,输出层是对隐层神经元输出的线性组合

2.ART网络 竞争学习型,由比较层,识别层,识别阈值和重置模块组成 有较好的“可塑性,稳定性” 可进行增量学习,在线学习

3.SOM网络 竞争学习型的无监督神经网络,将高维输入数据映射到低维空间

4.级联相关网络 不仅学习连接权,阈值,还要学习网络结构。希望在训练过程中找到最符合数据特点的网网络结构。

5.Elman网络 允许网络中出现环状结构,从而可以让一些神经元的输出反馈回来作为输入信号。

6、神经网络的例子

所谓"车牌自动识别",就是高速公路的探头拍下车牌照片,计算机识别出照片里的数字。

这个例子里面,车牌照片就是输入,车牌号码就是输出,照片的清晰度可以设置权重(w)。然后,找到一种或多种图像比对算法,作为感知器。算法的得到结果是一个概率,比如75%的概率可以确定是数字1。这就需要设置一个阈值(b)(比如85%的可信度),低于这个门槛结果就无效。

一组已经识别好的车牌照片,作为训练集数据,输入模型。不断调整各种参数,直至找到正确率最高的参数组合。以后拿到新照片,就可以直接给出结果了。

7、输出的连续性

上面的模型有一个问题没有解决,按照假设,输出只有两种结果:0和1。但是,模型要求w或b的微小变化,会引发输出的变化。如果只输出0和1,未免也太不敏感了,无法保证训练的正确性,因此必须将"输出"改造成一个连续性函数。

这就需要进行一点简单的数学改造。

首先,将感知器的计算结果wx + b记为z。

z = wx + b

然后,计算下面的式子,将结果记为σ(z)。

σ(z) = 1 / (1 + e^(-z))

这是因为如果z趋向正无穷z → +∞(表示感知器强烈匹配),那么σ(z) → 1;如果z趋向负无穷z → -∞(表示感知器强烈不匹配),那么σ(z) → 0。也就是说,只要使用σ(z)当作输出结果,那么输出就会变成一个连续性函数。

原来的输出曲线是下面这样。

现在变成了这样。

som神经网络聚类简单例子_神经网络学习及其模型相关推荐

  1. som神经网络聚类简单例子_深度聚类的可视化解释

    作者:Amit Chaudhary 编译:ronghuaiyang 导读 视觉上的自监督学习方法,结合聚类,将无监督转变为有监督. 许多自监督方法使用[pretext tasks](https://a ...

  2. som神经网络聚类简单例子_基因表达聚类分析之初探SOM - 自组织特征图

    之前的培训有老师提出要做SOM分析,最后卡在code plot只能出segment plot却出不来line plot.查了下,没看到解决方案.今天看了下源码,设置了一个参数,得到趋势图.也顺便学习了 ...

  3. som神经网络聚类简单例子_ICML 2020:6篇必读图神经网络(GNN)论文 | 附下载

    国际机器学习大会ICML,是机器学习领域全球最具影响力的学术会议之一.受疫情影响,第37届ICML将于7月13日至18日在线上举行. ICML 2020共提交4990篇论文,入选论文创新高,共有108 ...

  4. 神经网络方法研究及应用,神经网络算法简单例子

    什么是神经网络,举例说明神经网络的应用 我想这可能是你想要的神经网络吧! 什么是神经网络:人工神经网络(ArtificialNeuralNetworks,简写为ANNs)也简称为神经网络(NNs)或称 ...

  5. python做神经网络有什么框架_神经网络与深度学习——基于TensorFlow框架和Python技术实现...

    目 录 第1章 绪论1 1.1 人工智能2 1.2 机器学习3 1.2.1 监督学习3 1.2.2 非监督学习3 1.2.3 半监督学习4 1.3 深度学习4 1.3.1 卷积神经网络4 1.3.2 ...

  6. Tensorflow神经网络框架 小例子 三层神经网络 卷积神经网络 循环神经网络 神经网络可视化

    Tensorflow神经网络框架 以前我们讲了神经网络基础,但是如果从头开始实现,那将是一个庞大且费时的工作,所以我们选择一条捷径---神经网络框架.我理解的神经网络框架就相当于一个工具包.就比如我们 ...

  7. knn聚类还是分类_数据分析基本算法模型之KNN算法

    最近失业了...sad 休息了一个月,然后就想着找工作的事情.浏览了一些职位的JD,发现上面都会写了解机器学习算法模型,掌握回归.分类.聚类balabala.这就让我有点蛋疼了,这些在之前工作上都没怎 ...

  8. python神经网络预测的例子,python神经网络预测模型

    python做BP神经网络,进行数据预测,训练的输入和输出值都存在负数,为什么预测值永远为正数? 谷歌人工智能写作项目:神经网络伪原创 如何用jupyter设计银行精准客户存款预测 文案狗. 用jup ...

  9. 运筹学状态转移方程例子_强化学习第4期:H-J-B方程

    在上一篇文章中,我们介绍了一种最简单的MDP--s与a都是有限的MDP的求解方法.其中,我们用到了动态规划的思想,并且推出了"策略迭代"."值迭代"这样的方法. ...

最新文章

  1. SVN服务器搭建--Subversio与TortoiseSVN的配置安装
  2. layui表格使用复选框批量删除_word表格技巧:如何对表格进行样式批处理
  3. PHP比较时间段一与时间段二是否有交集
  4. 在SQLServer中自动产生移动数据库的TSQL语句
  5. Visual Studio Code(VS code)介绍
  6. 小学计算机课每周几节,小学信息技术课时多少
  7. [国家集训队]航班安排 (最大费用最大流)
  8. 某final神犇的工作感想
  9. metasploit渗透测试指南_Metasploit渗透测试环境搭建与使用
  10. (二)混合边缘AI人脸检测
  11. Vue之import
  12. 数据库 MySQL 之 表操作、存储引擎
  13. Capture One mac版如何导入Lightroom目录
  14. python - jpg图片转pdf
  15. java 身份证地址提取籍贯_excel从身份证地址中提取籍贯
  16. 联想7400打印机如何与手机连到一起_激光打印机与喷墨打印机,哪个使用成本更低?...
  17. android之父:安迪*鲁宾
  18. 第一届广西英招杯部分WP
  19. 元数据管理系统解决方案及产品调研-数仓系列(一)
  20. 物体检测之SNIPER

热门文章

  1. 回文数--java两种方法实现
  2. RNA-seq 详细教程:假设检验和多重检验(8)
  3. 下载tomcat最新版本
  4. IDEA 配置 JDK 源码
  5. Java24小时制和12小时制转换
  6. 使用httpclient必须知道的参数设置及代码写法、存在的风险
  7. 信捷XD系列PLC程序远程上下载怎么做?
  8. 配置静态NAT和配置动态NAT
  9. 驱动led --GPIO控制
  10. python数据处理——pandas.read_csv()指定行索引和列索引