机器学习笔记(五)--神经网络

devtools/2024/10/18 8:32:40/

神经元网络:M-P神经元模型

神经元接收来自其他n个神经元传递过来的信号,这些信号通过有权重的连接进行传递,神经元接收到的总输入值将与神经元的阈值进行对比,通过激活函数的处理产生神经元的输出。

感知机与多层网络

感知机:由两层神经元组成,输入层传递信号给输出层,输出层是M-P神经元。只有输出层进行激活函数处理,拥有一层功能神经元。不能解决异或、非线性可分的问题。

多层网络:隐藏层和输出层均拥有激活函数的功能神经元。

PS:常见的神经网络是层级结构,即每层神经元与下一层神经元互连,神经元之间不存在同层连接,也不存在跨层连接,也称为多层前馈神经网络。前馈是指网络拓扑结构上不存在环或者回路。

神经网络的学习过程,就是学习连接权值和阈值的过程

误差逆传播算法(BP)

不仅可以用于多层前馈神经网络,还可以用于其他类型的神经网络(如:训练递归神经网络

BP是迭代学习算法,在每一轮迭代中采用广义的感知机学习规则对参数进行更新估计。基于梯度下降策略,以目标的负梯度方向对参数进行调整,由于强大的表示能力,因此用以过拟合。

标准的BP算法,每次仅针对一个训练样例更新连接权和阈值。

累积BP算法,直接针对累积误差最小化,读取整个训练集之后对参数更新。

存在的问题:如何设置隐层神经元的个数。实际中,往往通过试错法调整。

解决过拟合的策略:早停、正则化

全局最小和局部极小

跳出局部最小的方法

  • 利用多组不同参数值初始化多个神经元网络,相当于从多个初始点开始搜索。
  • 模拟退火
  • 随机梯度下降
  • 遗传算法

跳出局部极小的技术大多是启发式,理论上缺乏保障。

常见的其他神经网络

  • RBF径向基函数网络;
  • ART自适应谐振理论网络,属于竞争性学习网络,是无监督学习,可塑性稳定性好;
  • SOM自组织映射网络,属于竞争性学习网络,是无监督学习;
  • 联级相关网络,即结构自适应网络
  • Elman网络,属于递归神经网络,允许网络有环形结构。
  • Boltzmann网络,基于能量的模型,属于递归神经网络

深度学习

一般复杂模型训练效率低,容易陷入过拟合,深度学习使得训练数据大幅增加,降低过拟合风险。

增加隐藏层数目比增加隐藏层神经元更有效,多层神经网络难以直接利用BP算法,因为误差在多个隐藏层传递,使得处于发散而不能收敛的状态。无监督逐层训练时多隐藏层网络训练的主要方法,即预训练+微调,另一种方法是权值共享,即让一组神经元使用相同的连接权。


http://www.ppmy.cn/devtools/125401.html

相关文章

如何恢复笔记本电脑上误删除的谷歌浏览器数据

在使用笔记本电脑的过程中,有时我们可能会不小心删除了重要的谷歌浏览器数据,如书签、历史记录或保存的密码。本文将详细介绍如何在笔记本上恢复这些误删除的数据,帮助你找回丢失的信息。(本文由https://www.gugeliulanqi.com.cn/…

java web 之过滤器Filter

1、概念 当访问服务器的资源时,Filter过滤器可以将请求拦截下来,完成一些特殊的功能。 通常都是用来拦截request进行处理的,也可以对返回的response进行拦截处理。 一般用于完成通用的操作。如:登录验证、统一编码处理、敏感字…

鸿蒙--商品列表

这里主要利用的是 List 组件 相关概念 Scroll:可滚动的容器组件,当子组件的布局尺寸超过父组件的视口时,内容可以滚动。List:列表包

2024 第一次周赛

A: 题目大意 骑士每连续 i 天每天会得到 i 个金币,(i 1, 2, 3 , …),那么展开看每一天可以得到的金币数:1 2 2 3 3 3 4 4 4 5 5 5 5 5 … 可以发现就是1个1 ,2个2, 3个3…,那么我…

鼓组编写:SsdSample鼓映射 GM Map 自动保存 互换midi位置 风格模板 逻辑编辑器

SsdSample音源的键位映射 方便编写鼓的技巧 可以这样去设置键位关系的面板和钢琴卷帘窗的面板,方便去写鼓。 可以先按GM的midi标准去写鼓,然后比对下鼓的键位映射的关系,去调整鼓。 可以边看自己发b站等处的图文笔记,然后边用电…

【QT Quick】C++交互:调用QML函数

在本节中,我们将深入探讨如何在C中调用QML函数。这项功能非常常用,尤其是在需要将C逻辑与QML界面进行交互时。我们将重点关注invokeMethod函数,它支持多种参数形式,并允许我们灵活地处理不同的调用场景。 invokeMethod概述 invo…

【vue】03-指令补充+样式绑定+计算属性+侦听器

代码获取 知识总结 ⼀、指令补充 1.指令修饰符 1.1 什么是指令修饰符? 所谓指令修饰符就是让指令的 功能更强⼤,书写更便捷 1.2 分类 1.2.1 按键修饰符 keydown.enter:当enter键按下时触发 keyup.enter:当enter键抬起时触…

llama.cpp 安装使用(支持CPU、Metal及CUDA的单卡/多卡推理)

1. 详细步骤 1.1 安装 cuda 等 nvidia 依赖(非CUDA环境运行可跳过) # 以 CUDA Toolkit 12.4: Ubuntu-22.04/24.04(x86_64) 为例,注意区分 WSL 和 Ubuntu,详见 https://developer.nvidia.com/cuda-12-4-1-download-archive?target_osLinux&target_ar…