【机器学习西瓜书学习笔记——神经网络】
机器学习西瓜书学习笔记【第五章】
- 第五章 神经网络
- 5.1神经元模型
- 5.2 感知机与多层网络
- 学习
- 感知机
- 学习率
- 成本/损失函数
- 梯度下降
- 5.3 BP神经网络(误差逆传播)
- 5.4 全局最小与局部极小
- 5.5 其他常见神经网络
- RBF网络
- RBF 与 BP 最重要的区别
- ART网络
第五章 神经网络
5.1神经元模型
神经网络的最基本的构成元素是神经元。生物神经网络中各个网络之间相互连接,通过神经递质相互传递信息。如果某个神经元接收了足够多的神经递质(乙酰胆碱),那么其点位变会积累地足够高,从而超过某个阈值。超过这个阈值之后,这个神经元变会被激活,达到兴奋的状态,而后发送神经递质给其他的神经元。
MP神经元模型
激活函数
函数的值域是(0,1),即函数值落在0到1之间。S函数的性质有可以将较大范围内变化的输入值压缩到**(0,1)区间内,因此也被成为挤压函数**。

5.2 感知机与多层网络
学习
学习:从已知数据中学得模型(确定权重 ω i {\omega}_{i} ωi)
本质:不断更改权重( ω i {\omega}_{i} ωi),使得模型求出的预测值尽可能地接近真实值。
感知机
感知机:两层神经元组成。

通过感知机实现逻辑运算,在MP神经元模型中,有输出:
y = f ( ∑ i ω i x i − θ ) y=f({\textstyle \sum_{i}^{}} {\omega }_{i}{x}_{i}-\theta ) y=f(∑iωixi−θ)
假设激活函数为阶跃函数 s g n ( x ) sgn(x) sgn(x):
KaTeX parse error: {equation} can be used only in display mode.\geKaTeX parse error: Expected 'EOF', got '}' at position 3: 0;}̲\\ 1& \text{x<0…
通过制定权重和阈值得到可以进行逻辑运算的感知机,那么如果给定训练数据集,同样我们可以通过学习得到相应地权重和阈值。
阈值b可以看做是一个输入固定为-1.0对应连接权重ωn+1的哑结点。通过这样定义阈值,则可以将学习权重和阈值简化为只学习权重。
感知机的学习规则很简单,对于训练样本(x,y),若感知机当前的输出为y’,则感知机的权重调整如下:
Δ ω i = η ( y − y ′ ) x i \Delta{\omega }_{i}=\eta (y-y'){x}_{i} Δωi=η(y−y′)xi
ω i ← ω i + Δ ω i {\omega }_{i}\gets{\omega }_{i}+\Delta{\omega }_{i} ωi←ωi+Δωi
其中, η {\eta} η为学习速率。若感知机对样本的预测正确的话,即** y ′ y' y′= y y y**,则感知机不发生任何变化。若其预测错误,则根据错误的程度进行相应权重的调整。
左面三个是通过线性分割实现,而最右侧的异或则无法通过线性分割实现。
学习率
学习率是每次迭代中成本函数最小化的量,梯度下降到成本函数最小值所对应的速率就是学习率。

成本/损失函数
当建立一个神经网络的时候,神经网络会试图将输出预测尽可能地接近实际值。使用成本函数函数来衡量网络的准确性。成本函数会在发生错误的时候处罚网络。
目的是为了能够提高我们的预测精度,减少误差,从而最大限度的降低成本。最优化的输出即使成本/损失函数最小的输出。
梯度下降
梯度下降是最小化成本的优化算法,找到最小化的损失函数和模型参数值。
5.3 BP神经网络(误差逆传播)
①BP神经网络等于叠加多个感知机来实现非线性可分。(最少3层)
②梯度下降策略:以目标的负梯度方向对参数进行调整(此外还有牛顿法、最小二乘法等策略)
③第K个训练例的均方误差:
④更新权重
基本原理与感知机相同。
神经网络的思路总结:
-
搜集数据集( x i {x}_{i} xi,y),将 x i {x}_{i} xi代入初始的神经网络模型,计算估计值 y ^ \hat{y} y^
-
根据 y ^ \hat{y} y^与y的差异不断更改权重 ω i {\omega}_{i} ωi,使其误差尽可能的小(梯度下降)
-
大量数据训练后,再输入新的数据x,模型就可以求出y用于分类/预测/评价了
5.4 全局最小与局部极小
-
局部最小值是在某一区域内,函数的取值达到了最小,但是如果将这个区域扩展到定义域上来,那么这个局部最小值就不一定是最小的。
-
全局最小值,是在定义域内,函数值最小。全局最小一定是局部最小值,但“局部极小 ” 不一定是“全局最小 ”。因此我们的目标是找到 “ 全局最小 ”。
-
可能存在多个局部极小值,但却只会有一个全局最小值。
5.5 其他常见神经网络
RBF网络
- BP 网络

- RBF 网络:

- **径向基函数:**是一个取值仅依赖于到原点距离的实值函数。此外,也可以按到某一中心点c的距离来定义。
- **RBF 网络结构:**RBF Network 通常只有三层。输入层、中间层计算输入 x 矢量与样本矢量 c 欧式距离的值,输出层算它们的线性组合。
- 训练 RBF 网络步骤:
- 第一步,确定神经元中心,常用的方法包括随机采样、聚类。
- 第二步,利用 BP 算法来确定参数。
RBF 与 BP 最重要的区别
1 中间层神经元的区别。
- RBF: 神经元是一个以gaussian函数为核函数的神经元。
2 中间层数的区别。
- 中间层只有一层。经过训练后每一个神经元得以确定输入权重:即每一个神经元知道要在什么样的输入值下引起最大的响应。
3 运行速度的区别。
- 原因是因为层数,层数越少,需要确定的权重(weight)越少,越快。
- 为什么三层可以做这么多层的事儿?原因是核函数的输出: 是一个局部的激活函数。在中心点那一点有最大的反应;越接近中心点则反应最大,远离反应成指数递减。
ART网络
-
**竞争型学习:**是神经网络中一种常用的无监督学习策略,在使用该策略时,网络的输出神经元相互竞争,每一时刻仅有一个竞争获胜的神经元被激活,其他神经元的状态被抑制,这种机制也称 “胜者通吃” 原则。ART 就是竞争型学习的重要代表。
-
ART 网络:
该网络由比较层、识别层、识别阈值和重置模块构成。
- 比较层:负责接收输入样本,并将其传递给识别层神经元。
- 识别层:识别层每个神经元对应一个模式类,神经元数目可在训练过程中动态增长以增加新的模式类。


- **阈值:**显然,识别阈值对 ART 网络的性能有重要影响,当识别阈值较高时,输入样本会被分成较多、较精细的模式类,而如果识别阈值较低,则会产生比较少、比较粗略的模式类。
- **ART 优点:**可进行增量学习或在线学习。
SOM网络
级联相关网络
Elman网络
Boltzmann机
相关文章:

【机器学习西瓜书学习笔记——神经网络】
机器学习西瓜书学习笔记【第五章】 第五章 神经网络5.1神经元模型5.2 感知机与多层网络学习感知机学习率成本/损失函数梯度下降 5.3 BP神经网络(误差逆传播)5.4 全局最小与局部极小5.5 其他常见神经网络RBF网络RBF 与 BP 最重要的区别 ART网络 第五章 神…...

安装 electron 报错解决
1. 报错 大概率由镜像问题导致 2. 解决 2.1 打开 npm 配置 npm config edit 2.2 添加配置 registryhttps://registry.npmmirror.comelectron_mirrorhttps://cdn.npmmirror.com/binaries/electron/electron_builder_binaries_mirrorhttps://npmmirror.com/mirrors/electron…...

【Material-UI】Icon Button 组件详解
文章目录 一、基础用法1. 禁用状态 二、大小(Sizes)1. 小尺寸(Small)2. 大尺寸(Large) 三、颜色(Colors)1. 主题颜色2. 自定义颜色 四、高级用法和最佳实践1. 无障碍性(A…...

51单片机-第七节-DS1302实时时钟
一、DS1302介绍: 实时时钟芯片,可对年,月,日,周,时,分,秒计时,是一种集成电路。 二、DS1302原理: 1.寄存器定义: Command:操作模式…...

Java毕业设计 基于SSM和Vue的图书馆座位预约系统小程序
Java毕业设计 基于SSM和Vue的图书馆座位预约系统小程序 这篇博文将介绍一个基于SSM框架和Vue开发的图书馆座位预约系统微信小程序,适合用于Java毕业设计。 功能介绍 用户 登录 注册 首页 图片轮播 关于我们 公告信息 图书馆信息 图书馆详情 预约选座 收藏 …...

【C++11】:lambda表达式function包装器
目录 前言一,可变参数模板1.1 简单认识1.2 STL容器中的empalce系列相关接口 二,lambda表达式2.1 lambda表达式语法2.2 探索lambda底层 三,包装器3.1 function包装器3.2 bind 四,类的新功能4.1 默认成员函数4.2 关键字default4.3 关…...
[io]进程间通信 -有名、无名管道 区别
有名管道和无名管道的区别 无名管道有名管道 使用场景 亲缘关系进程不相关的任意进程特点 1.固定读端fd[0]写端fd[1] 2.文件IO进行操作 3.不支持lseek()操作 4.数据存储在内核空间 1.文件系统中存在管道文件 2.文件IO操作 3.不支持lseek 4.先进先出 5.数…...

pywinauto:Windows桌面应用自动化测试(七)
前言 上一篇文章地址: pywinauto:Windows桌面应用自动化测试(六)-CSDN博客 下一篇文章地址: 暂无 一、实战常用方法 1、通过Desktop快速获取窗口 通过之前章节我们了解到控制应用的方法为Application࿰…...
RGB++是什么;UTXO是什么;Nervos网络;CKB区块链;
目录 RGB++是什么,简单举例说明 RGB++简介 举例说明 UTXO是什么 定义 功能与特点 使用方式 优缺点 结论 CKB区块链 一、基础属性 二、技术特点 三、经济模型 四、应用场景 Nervos网络 一、网络架构 二、技术特点 三、经济模型 四、应用场景 五、未来展望 …...

轻闪PDF v2.14.9 解锁版下载与安装教程 (全能PDF转换器)
前言 轻闪PDF(原傲软PDF编辑软件)是一款操作简单的全能PDF转换器,轻松实现PDF转换为Word,Excel或其他格式,以及PDF压缩,合并和图片文字识别OCR等功能.这款pdf编辑转换软件几乎支持所有常见文档格式,一键完成PDF与其他文档互相转换,并含有PDF合并,压缩,图片文字识别OCR等增值功…...
mysql 5.7 解析binlog日志,并统计每个类型语句(insert、update、delete)、每个表的执行次数
1、mysqlbinlog工具 使用mysqlbinlog工具将文件中执行语句解析至某个文件中。 /usr/local/mnt/mysql/bin/mysqlbinlog --base64-outputDECODE-ROWS -v /usr/local/mnt/mysql/log/mysql-bin.017278 > binlog017278.sql --base64-outputDECODE-ROWS 参数: 这个…...

MySQL案例:MHA实现主备切换(主从架构)万字详解
目录 MHA 概念 MHA的组成 特点 案例介绍 (1)案例需求 (2)案例实现思路 (3)案例拓扑图 (4)案例环境 案例步骤 基本环境配置 关闭防火墙和内核安全机制 安装数据库 授权…...

81.SAP ME - SAP SMGW Getway Monitor
目录 1.起因 2.SMGW Displaying Logged On Clients Displaying Remote Gateways Display and Control Existing Connections Deleting a Connection Displaying Gateway Release Information Displaying Parameters and Attributes of the Gateway Change Gateway Pa…...
SAPUI5基础知识24 - 如何向manifest.json中添加模型(小结)
1. 背景 在上一篇博客中,我们总结了SAPUI5中模型的各种类型,并通过代码给出了实例化这些模型的方式。 其实,在SAPUI5中,我们可以通过在manifest.json 中添加模型配置,简化模型的初始化过程,并确保模型在应…...
操作系统---文件管理
一、系统调用(系统API) 什么是系统调用 由操作系统向应用程序提供的程序接口信息,本质上就是应用程序与操作系统之间交互的接口。 操作系统的主要功能是为了管理硬件资源和为应用软件的开发人员提供一个良好的环境,使得应用程序…...

C语言指针详解(三)目录版
C语言指针详解(三)目录版 1、字符指针变量1.1、字符指针变量的一般应用1.2、常量字符串1.3、常量字符串与普通字符串的区别1.3.1 常量字符串的不可修改性1.3.2 常量字符串的存储 2、数组指针变量2.1、数组指针变量定义2.2、数组指针变量的初始化 3、二维…...
【AI资讯早报】AI科技前沿资讯概览:2024年8月6日早报
【AI资讯早报,感知未来】AI科技前沿资讯概览,涵盖了行业大会、技术创新、应用场景、行业动态等多个方面,全面展现了AI领域的最新发展动态和未来趋势。 1.【图像生成技术再突破】Midjourney V6.1震撼发布,人像生成质量跃上新台阶 …...
等保测评中的密码技术与密钥管理
在信息安全领域,等保测评(信息安全等级保护测评)是一项重要的安全评估活动,旨在评估信息系统的安全性,并根据评估结果给予相应的安全等级。这一过程中,密码技术与密钥管理发挥着至关重要的作用。本文将详细…...
go语言flag库学习
文章目录 flag基本创建使用方法正常声明全局变量指针短写 flag 基本创建使用方法 func String(name string, value string, usage string) *string func StringVar(p *string, name string, value string, usage string) 正常声明全局变量 package mainimport ("flag…...

2024年必备技能:智联招聘岗位信息采集技巧全解析
随着大数据时代的发展,精准定位职业机会成为程序员求职的关键。本文将深入解析如何利用Python高效采集智联招聘上的岗位信息,助你在2024年的职场竞争中脱颖而出。通过实战代码示例,揭示网络爬虫背后的秘密,让你轻松掌握这一必备技…...

理解 MCP 工作流:使用 Ollama 和 LangChain 构建本地 MCP 客户端
🌟 什么是 MCP? 模型控制协议 (MCP) 是一种创新的协议,旨在无缝连接 AI 模型与应用程序。 MCP 是一个开源协议,它标准化了我们的 LLM 应用程序连接所需工具和数据源并与之协作的方式。 可以把它想象成你的 AI 模型 和想要使用它…...

linux arm系统烧录
1、打开瑞芯微程序 2、按住linux arm 的 recover按键 插入电源 3、当瑞芯微检测到有设备 4、松开recover按键 5、选择升级固件 6、点击固件选择本地刷机的linux arm 镜像 7、点击升级 (忘了有没有这步了 估计有) 刷机程序 和 镜像 就不提供了。要刷的时…...
Axios请求超时重发机制
Axios 超时重新请求实现方案 在 Axios 中实现超时重新请求可以通过以下几种方式: 1. 使用拦截器实现自动重试 import axios from axios;// 创建axios实例 const instance axios.create();// 设置超时时间 instance.defaults.timeout 5000;// 最大重试次数 cons…...

网络编程(UDP编程)
思维导图 UDP基础编程(单播) 1.流程图 服务器:短信的接收方 创建套接字 (socket)-----------------------------------------》有手机指定网络信息-----------------------------------------------》有号码绑定套接字 (bind)--------------…...

MyBatis中关于缓存的理解
MyBatis缓存 MyBatis系统当中默认定义两级缓存:一级缓存、二级缓存 默认情况下,只有一级缓存开启(sqlSession级别的缓存)二级缓存需要手动开启配置,需要局域namespace级别的缓存 一级缓存(本地缓存&#…...

Qt的学习(一)
1.什么是Qt Qt特指用来进行桌面应用开发(电脑上写的程序)涉及到的一套技术Qt无法开发网页前端,也不能开发移动应用。 客户端开发的重要任务:编写和用户交互的界面。一般来说和用户交互的界面,有两种典型风格&…...

Java数组Arrays操作全攻略
Arrays类的概述 Java中的Arrays类位于java.util包中,提供了一系列静态方法用于操作数组(如排序、搜索、填充、比较等)。这些方法适用于基本类型数组和对象数组。 常用成员方法及代码示例 排序(sort) 对数组进行升序…...

麒麟系统使用-进行.NET开发
文章目录 前言一、搭建dotnet环境1.获取相关资源2.配置dotnet 二、使用dotnet三、其他说明总结 前言 麒麟系统的内核是基于linux的,如果需要进行.NET开发,则需要安装特定的应用。由于NET Framework 是仅适用于 Windows 版本的 .NET,所以要进…...

内窥镜检查中基于提示的息肉分割|文献速递-深度学习医疗AI最新文献
Title 题目 Prompt-based polyp segmentation during endoscopy 内窥镜检查中基于提示的息肉分割 01 文献速递介绍 以下是对这段英文内容的中文翻译: ### 胃肠道癌症的发病率呈上升趋势,且有年轻化倾向(Bray等人,2018&#x…...
Java多线程实现之Runnable接口深度解析
Java多线程实现之Runnable接口深度解析 一、Runnable接口概述1.1 接口定义1.2 与Thread类的关系1.3 使用Runnable接口的优势 二、Runnable接口的基本实现方式2.1 传统方式实现Runnable接口2.2 使用匿名内部类实现Runnable接口2.3 使用Lambda表达式实现Runnable接口 三、Runnabl…...