当前位置: 首页 > news >正文

【机器学习西瓜书学习笔记——神经网络】

机器学习西瓜书学习笔记【第五章】

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

第五章 神经网络

5.1神经元模型

神经网络的最基本的构成元素是神经元。生物神经网络中各个网络之间相互连接,通过神经递质相互传递信息。如果某个神经元接收了足够多的神经递质(乙酰胆碱),那么其点位变会积累地足够高,从而超过某个阈值。超过这个阈值之后,这个神经元变会被激活,达到兴奋的状态,而后发送神经递质给其他的神经元

MP神经元模型

img

激活函数

函数的值域是(0,1),即函数值落在0到1之间。S函数的性质有可以将较大范围内变化的输入值压缩到**(0,1)区间内,因此也被成为挤压函数**。

img

5.2 感知机与多层网络

学习

学习:从已知数据中学得模型(确定权重 ω i {\omega}_{i} ωi

本质:不断更改权重( ω i {\omega}_{i} ωi),使得模型求出的预测值尽可能地接近真实值。

感知机

感知机:两层神经元组成。

img

通过感知机实现逻辑运算,在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=η(yy)xi

ω i ← ω i + Δ ω i {\omega }_{i}\gets{\omega }_{i}+\Delta{\omega }_{i} ωiωi+Δωi

其中, η {\eta} η学习速率。若感知机对样本的预测正确的话,即** y ′ y' y= y y y**,则感知机不发生任何变化。若其预测错误,则根据错误的程度进行相应权重的调整。

img

左面三个是通过线性分割实现,而最右侧的异或则无法通过线性分割实现。

学习率

学习率是每次迭代中成本函数最小化的量,梯度下降到成本函数最小值所对应的速率就是学习率。

img

成本/损失函数

当建立一个神经网络的时候,神经网络会试图将输出预测尽可能地接近实际值。使用成本函数函数来衡量网络的准确性。成本函数会在发生错误的时候处罚网络。
目的是为了能够提高我们的预测精度,减少误差,从而最大限度的降低成本。最优化的输出即使成本/损失函数最小的输出。

梯度下降

梯度下降是最小化成本的优化算法,找到最小化的损失函数和模型参数值。

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 全局最小与局部极小

  • 局部最小值是在某一区域内,函数的取值达到了最小,但是如果将这个区域扩展到定义域上来,那么这个局部最小值就不一定是最小的。

  • 全局最小值,是在定义域内,函数值最小。全局最小一定是局部最小值,但“局部极小 ” 不一定是“全局最小 ”。因此我们的目标是找到 “ 全局最小 ”。

  • 可能存在多个局部极小值,但却只会有一个全局最小值。

    img

5.5 其他常见神经网络

RBF网络

  • BP 网络
img
  • RBF 网络:
img
  • **径向基函数:**是一个取值仅依赖于到原点距离的实值函数。此外,也可以按到某一中心点c的距离来定义。
  • **RBF 网络结构:**RBF Network 通常只有三层。输入层、中间层计算输入 x 矢量与样本矢量 c 欧式距离的值,输出层算它们的线性组合。
  • 训练 RBF 网络步骤:
    • 第一步,确定神经元中心,常用的方法包括随机采样、聚类。
    • 第二步,利用 BP 算法来确定参数。
    • img
RBF 与 BP 最重要的区别

1 中间层神经元的区别。

  • RBF: 神经元是一个以gaussian函数为核函数的神经元。

2 中间层数的区别。

  • 中间层只有一层。经过训练后每一个神经元得以确定输入权重:即每一个神经元知道要在什么样的输入值下引起最大的响应。

3 运行速度的区别。

  • 原因是因为层数,层数越少,需要确定的权重(weight)越少,越快。
  • 为什么三层可以做这么多层的事儿?原因是核函数的输出: 是一个局部的激活函数。在中心点那一点有最大的反应;越接近中心点则反应最大,远离反应成指数递减。

ART网络

  • **竞争型学习:**是神经网络中一种常用的无监督学习策略,在使用该策略时,网络的输出神经元相互竞争,每一时刻仅有一个竞争获胜的神经元被激活,其他神经元的状态被抑制,这种机制也称 “胜者通吃” 原则。ART 就是竞争型学习的重要代表。

  • ART 网络:

    该网络由比较层、识别层、识别阈值和重置模块构成。

    • 比较层:负责接收输入样本,并将其传递给识别层神经元。
    • 识别层:识别层每个神经元对应一个模式类,神经元数目可在训练过程中动态增长以增加新的模式类。
img img
  • **阈值:**显然,识别阈值对 ART 网络的性能有重要影响,当识别阈值较高时,输入样本会被分成较多、较精细的模式类,而如果识别阈值较低,则会产生比较少、比较粗略的模式类。
  • **ART 优点:**可进行增量学习或在线学习。

SOM网络

级联相关网络

Elman网络

Boltzmann机

相关文章:

【机器学习西瓜书学习笔记——神经网络】

机器学习西瓜书学习笔记【第五章】 第五章 神经网络5.1神经元模型5.2 感知机与多层网络学习感知机学习率成本/损失函数梯度下降 5.3 BP神经网络&#xff08;误差逆传播&#xff09;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. 禁用状态 二、大小&#xff08;Sizes&#xff09;1. 小尺寸&#xff08;Small&#xff09;2. 大尺寸&#xff08;Large&#xff09; 三、颜色&#xff08;Colors&#xff09;1. 主题颜色2. 自定义颜色 四、高级用法和最佳实践1. 无障碍性&#xff08;A…...

51单片机-第七节-DS1302实时时钟

一、DS1302介绍&#xff1a; 实时时钟芯片&#xff0c;可对年&#xff0c;月&#xff0c;日&#xff0c;周&#xff0c;时&#xff0c;分&#xff0c;秒计时&#xff0c;是一种集成电路。 二、DS1302原理&#xff1a; 1.寄存器定义&#xff1a; Command&#xff1a;操作模式…...

Java毕业设计 基于SSM和Vue的图书馆座位预约系统小程序

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

【C++11】:lambda表达式function包装器

目录 前言一&#xff0c;可变参数模板1.1 简单认识1.2 STL容器中的empalce系列相关接口 二&#xff0c;lambda表达式2.1 lambda表达式语法2.2 探索lambda底层 三&#xff0c;包装器3.1 function包装器3.2 bind 四&#xff0c;类的新功能4.1 默认成员函数4.2 关键字default4.3 关…...

[io]进程间通信 -有名、无名管道 区别

有名管道和无名管道的区别 无名管道有名管道 使用场景 亲缘关系进程不相关的任意进程特点 1.固定读端fd[0]写端fd[1] 2.文件IO进行操作 3.不支持lseek&#xff08;&#xff09;操作 4.数据存储在内核空间 1.文件系统中存在管道文件 2.文件IO操作 3.不支持lseek 4.先进先出 5.数…...

pywinauto:Windows桌面应用自动化测试(七)

前言 上一篇文章地址&#xff1a; pywinauto&#xff1a;Windows桌面应用自动化测试&#xff08;六&#xff09;-CSDN博客 下一篇文章地址&#xff1a; 暂无 一、实战常用方法 1、通过Desktop快速获取窗口 通过之前章节我们了解到控制应用的方法为Application&#xff0…...

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 参数&#xff1a; 这个…...

MySQL案例:MHA实现主备切换(主从架构)万字详解

目录 MHA 概念 MHA的组成 特点 案例介绍 &#xff08;1&#xff09;案例需求 &#xff08;2&#xff09;案例实现思路 &#xff08;3&#xff09;案例拓扑图 &#xff08;4&#xff09;案例环境 案例步骤 基本环境配置 关闭防火墙和内核安全机制 安装数据库 授权…...

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. 背景 在上一篇博客中&#xff0c;我们总结了SAPUI5中模型的各种类型&#xff0c;并通过代码给出了实例化这些模型的方式。 其实&#xff0c;在SAPUI5中&#xff0c;我们可以通过在manifest.json 中添加模型配置&#xff0c;简化模型的初始化过程&#xff0c;并确保模型在应…...

操作系统---文件管理

一、系统调用&#xff08;系统API&#xff09; 什么是系统调用 由操作系统向应用程序提供的程序接口信息&#xff0c;本质上就是应用程序与操作系统之间交互的接口。 操作系统的主要功能是为了管理硬件资源和为应用软件的开发人员提供一个良好的环境&#xff0c;使得应用程序…...

C语言指针详解(三)目录版

C语言指针详解&#xff08;三&#xff09;目录版 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资讯早报&#xff0c;感知未来】AI科技前沿资讯概览&#xff0c;涵盖了行业大会、技术创新、应用场景、行业动态等多个方面&#xff0c;全面展现了AI领域的最新发展动态和未来趋势。 1.【图像生成技术再突破】Midjourney V6.1震撼发布&#xff0c;人像生成质量跃上新台阶 …...

等保测评中的密码技术与密钥管理

在信息安全领域&#xff0c;等保测评&#xff08;信息安全等级保护测评&#xff09;是一项重要的安全评估活动&#xff0c;旨在评估信息系统的安全性&#xff0c;并根据评估结果给予相应的安全等级。这一过程中&#xff0c;密码技术与密钥管理发挥着至关重要的作用。本文将详细…...

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年必备技能:智联招聘岗位信息采集技巧全解析

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

智慧树自动刷课助手:3步告别手动操作的学习效率工具

智慧树自动刷课助手&#xff1a;3步告别手动操作的学习效率工具 【免费下载链接】zhihuishu 智慧树刷课插件&#xff0c;自动播放下一集、1.5倍速度、无声 项目地址: https://gitcode.com/gh_mirrors/zh/zhihuishu 还在为智慧树平台的重复刷课操作而烦恼吗&#xff1f;智…...

举一个具体例子说明为什么索引不是越多越好,举具体字段

文章目录1. 核心舞台&#xff1a;笔记表 (t_note) 结构设计&#x1f6a8; 错误的操作&#xff1a;2. 结合具体字段&#xff0c;拆解三大翻车现场现场一&#xff1a;给 view_count&#xff08;浏览量&#xff09;加索引 —— 导致写放大&#xff0c;拖垮数据库现场二&#xff1a…...

别再手动编译了!Matlab一键调用CEC2017测试函数的完整配置指南(附30个函数调用示例)

别再手动编译了&#xff01;Matlab一键调用CEC2017测试函数的完整配置指南&#xff08;附30个函数调用示例&#xff09; 算法研究者们常常需要借助标准测试函数来验证优化算法的性能&#xff0c;而CEC2017测试函数集因其复杂性和多维度的挑战性&#xff0c;成为评估算法鲁棒性的…...

告别SVN恐惧症:美术策划也能轻松上手的Unity PlasticSCM极简入门(附团队项目拉取实战)

告别SVN恐惧症&#xff1a;美术策划也能轻松上手的Unity PlasticSCM极简入门&#xff08;附团队项目拉取实战&#xff09; 在游戏开发团队中&#xff0c;版本控制系统是协作的基石&#xff0c;但传统工具如SVN往往让非技术成员望而生畏。当美术资源频繁更新、策划案不断迭代时&…...

defx.nvim 安装与配置完全教程:从零开始搭建高效文件管理系统 [特殊字符]

defx.nvim 安装与配置完全教程&#xff1a;从零开始搭建高效文件管理系统 &#x1f680; 【免费下载链接】defx.nvim :file_folder: The dark powered file explorer implementation for neovim/Vim8 项目地址: https://gitcode.com/gh_mirrors/de/defx.nvim defx.nvim …...

别再死记公式了!用Python手写一个卷积层,彻底搞懂CNN里的‘卷’是怎么算的

用Python手写卷积层&#xff1a;从零理解CNN的"卷"运算 当你第一次看到卷积神经网络(CNN)的数学公式时&#xff0c;那些复杂的符号和下标是否让你望而却步&#xff1f;作为计算机视觉领域的基石&#xff0c;CNN的核心在于理解卷积运算的本质。本文将带你用NumPy从零实…...

别让依赖毁了你的实验:记一次Vision Mamba复现中causal_conv1d与mamba-ssm的版本“打架”事件

Vision Mamba复现实战&#xff1a;破解依赖冲突的工程化解决方案在深度学习项目的复现过程中&#xff0c;依赖管理往往是最容易被忽视却又最常导致问题的环节。最近在复现Vision Mamba模型时&#xff0c;我遭遇了一场典型的Python依赖"战争"——causal_conv1d与mamba…...

告别KITTI!用TartanAir数据集在Unreal Engine仿真环境里“虐”你的VSLAM算法(附保姆级下载与使用指南)

用TartanAir数据集在Unreal Engine中打造VSLAM算法的"极限考场"当你的视觉SLAM算法在KITTI数据集上跑出98%的准确率时&#xff0c;是否意味着它已经准备好应对真实世界的复杂场景&#xff1f;现实往往会给乐观的开发者当头一棒——实验室里的"优等生"在遇到…...

CA-CFAR、GO-CFAR、SO-CFAR怎么选?一张图看懂三种恒虚警检测算法的适用场景与避坑指南

CA-CFAR、GO-CFAR、SO-CFAR工程选型指南&#xff1a;从算法原理到场景适配 雷达信号处理工程师常常面临一个经典难题&#xff1a;在复杂环境中如何选择合适的恒虚警检测算法&#xff1f;当海面杂波、多目标干扰或低信噪比条件同时出现时&#xff0c;CA、GO、SO三种CFAR变体的性…...

Linux 负载均衡的 cache_nice_tries:缓存友好的迁移尝试

简介现如今服务器、嵌入式设备、工控主板普遍采用多核、NUMA 架构 CPU&#xff0c;多进程多线程并发运行模式成为常态。Linux 内核依靠调度域分层负载均衡机制&#xff0c;分散 CPU 运行压力&#xff0c;避免单核心负载过高、其余核心空闲浪费硬件算力。但任务跨核心迁移是一把…...