【机器学习笔记】10 人工神经网络

人工神经网络发展史

1943年,心理学家McCulloch和逻辑学家Pitts建立神经网络的数学模型,MP模型

每个神经元都可以抽象为一个圆圈,每个圆圈都附带特定的函数称之为激活函数,每两个神经元之间的连接的大小的加权值即为权重。

1960年代,人工网络得到了进一步地发展感知机和自适应线性元件等被提出。M.Minsky仔细分析了以感知机为代表的神经网络的局限性,指出了感知机不能解决非线性问题,这极大影响了神经网络的研究。

1982年,加州理工学院J.J.Hopfield教授提出了Hopfield神经网络模型,引入了计算能量概念,给出了网络稳定性判断。

1986年,Rumelhart和McClelland为首的科学家提出了BP(Back Propagation)神经网络的概念,是一种按照误差逆向传播算法训练的多层前馈神经网络,目前是应用最广泛的神经网络。

极限学习机(Extreme Learning Machine, ELM),是由黄广斌提出的用于处理单隐层神经网络的算法

随机初始化输入权重𝛼𝑖和偏置,只求解输出权重值𝛽𝑖。

优点:

1.学习精度有保证

2.学习速度快

感知机算法(Perceptron Algorithm)

  • 感知机算法流程 :
    随机选择模型参数的(𝑤0, 𝑏0)初始值。
    选择一个训练样本(𝑥𝑛, 𝑦𝑛)。
    若判别函数𝑤T𝑥𝑛 + 𝑏 > 0,且𝑦𝑛 = −1,则𝑤 = 𝑤 − 𝑥𝑛,𝑏 = 𝑏 − 1。
    若判别函数𝑤T𝑥𝑛 + 𝑏 < 0,且𝑦𝑛 = +1,则𝑤 = 𝑤+𝑥𝑛,𝑏 = 𝑏+1。
    再选取另一个训练样本(𝑥𝑚, 𝑦𝑚),回到2。
    终止条件:直到所有数据的输入输出对都不满足2中的(i)和(ii)中之一,则退出循环。

BP算法


  • 最常用Sigmoid函数的优缺点:
    优点:

    1.函数处处连续,便于求导

    2.可将函数值的范围压缩至[0,1],可用于压缩数据,且幅度不变

    3.便于前向传输
    缺点:

    1.在趋向无穷的地方,函数值变化很小,容易出现梯度消失,不利于深层神经

    的反馈传输

    2.幂函数的梯度计算复杂

    3.收敛速度比较慢

  • BP算法主要步骤

    第一步,对样本明确预测输出值与损失函数

    第二步,明确参数调整策略

    第三步,计算输出层阈值的梯度

    第四步,计算隐层到输出层连接权值的梯度

    第五步,计算隐层阈值的梯度

    第六步,计算输入层到隐层连接权值的梯度

    第七步,引出归纳结论






    只要知道上一层神经元的阈值梯度,即可计算当前层神经元阈值梯度和连接权值梯度。

    随后可以计算输出层神经元阈值梯度,从而计算出全网络的神经元阈值和连接权值梯度。

    最终达到训练网络的目的

  • BP算法的优缺点
    优点

    1.能够自适应、自主学习。BP可以根据预设参数更新规则,通过不断调整神经网络中的参数,已达到最符合期望的输出。

    2.拥有很强的非线性映射能力。

    3.误差的反向传播采用的是成熟的链式法则,推导过程严谨且科学。

    4.算法泛化能力很强。
    缺点

    1.BP神经网络参数众多,每次迭代需要更新较多数量的阈值和权值,故收敛速度比较慢。

    2.网络中隐层含有的节点数目没有明确的准则,需要不断设置节点数字试凑,根据网络误差结果最终确定隐层节点个数

    3.BP算法是一种速度较快的梯度下降算法,容易陷入局部极小值的问题。

相关推荐
亚马逊云开发者5 小时前
Q CLI 助力合合信息实现 Aurora 的升级运营
人工智能
全栈胖叔叔-瓜州6 小时前
关于llamasharp 大模型多轮对话,模型对话无法终止,或者输出角色标识User:,或者System等角色标识问题。
前端·人工智能
坚果派·白晓明6 小时前
AI驱动的命令行工具集x-cmd鸿蒙化适配后通过DevBox安装使用
人工智能·华为·harmonyos
GISer_Jing6 小时前
前端营销技术实战:数据+AI实战指南
前端·javascript·人工智能
Dekesas96956 小时前
【深度学习】基于Faster R-CNN的黄瓜幼苗智能识别与定位系统,农业AI新突破
人工智能·深度学习·r语言
清风一徐7 小时前
禅道从18.3升级到21.7.6版本
笔记
Jack___Xue7 小时前
LangChain实战快速入门笔记(六)--LangChain使用之Agent
笔记·langchain·unix
大佐不会说日语~7 小时前
Spring AI Alibaba 的 ChatClient 工具注册与 Function Calling 实践
人工智能·spring boot·python·spring·封装·spring ai
零度@7 小时前
SQL 调优全解:从 20 秒到 200 ms 的 6 步实战笔记(附脚本)
数据库·笔记·sql
CeshirenTester7 小时前
Playwright元素定位详解:8种定位策略实战指南
人工智能·功能测试·程序人生·单元测试·自动化