机器学习西瓜书+南瓜书吃瓜教程学习笔记第五章神经网络

news2025/1/11 11:34:34

来自吃瓜教程】《机器学习公式详解》(南瓜书)与西瓜书公式推导直播合集第五章神经网络
和周志华老师的机器学习西瓜书
以下是我的学习笔记:
神经网络:
神经网络是由具有适应性的简单单元组成的广泛并行互联的网络,它的组织能够模拟生物神经系统对真实世界物体所作出的交互反应。
标准神经网络算法工作流程:
在这里插入图片描述

1、M-P神经元

(一个用来模拟生物行为的数学模型):接收n个输入(通常是来自其他神经元),并给各个输入赋予权重计算加权和,然后和自身特有的阈值进行比较(作减法),最后经过激活函数(模拟“抑制(小于0)”和“激活(大于0)”)处理得到输出(通常是给下一个神经元(当作输入))
y = f ( ∑ i = 1 n w i x i − θ ) = f ( w T x + b ) y=f\left( \sum ^{n}_{i=1}w_{i}x_{i}-\theta \right) =f\left( w^{T}x+b\right) y=f(i=1nwixiθ)=f(wTx+b)(向量化,抽象为线性模型形式)
单个M-P神经元:感知机(sign作激活函数)、对数几率回归(sigmoid作激活函数)
多个M-P神经元:神经网络
在这里插入图片描述

从数学角度
在这里插入图片描述

线性可分的数据集是指存在一个超平面(在二维空间中即为一条直线,三维空间中为一个平面,
高维空间中为一个超平面),能够将不同类别的数据完全分开的数据集。
具体而言,对于一个二分类问题,如果存在一个超平面能够将所有正类样本和负类样本完全分开
,且没有任何样本点处于超平面上或超平面两侧靠得非常近,那么这个数据集就被称为线性可分的。

从几何角度来说,给定一个线性可分的数据集T,感知机的学习目标是球的能对数据集T中的正负样本完全正确划分的超平面,其中 w T x + b = 0 w^{T}x+b=0 wTx+b=0即为超平面方程。(令方程=0把 − θ -\theta θ看作-b)
n维空间的超平面的性质:

  • 超平面方程不唯一
  • 法向量w垂直与超平面
  • 法向量w和位移项b确定一个唯一超平面
  • 法向量w指向的那一半空间为正空间(正空间上的点是大于0的),另一半为负空间(负空间上的点是小于0的),而在这个超平面上的点是等于0的。

2、感知机学习策略

随机初始化w,b,将全体训练样本代入模型找出误分类样本。对于任意一个误分类样本来说,当 W T x − θ W^{T}x-\theta WTxθ大于等于0时,模型输出值为y=1,样本真实标记为y=0;反之,当 W T x − θ W^{T}x-\theta WTxθ小于0时,模型输出值为y=0,样本真实标记值记为y=1,所以可以得出:
( y ^ − y ) ( w T x − θ ) ≥ 0 \left( \widehat{y}-y\right) \left( w^{T}x-\theta \right) \geq 0 (y y)(wTxθ)0这个式子恒成立
所以,当给出数据集T,我们可以定义其损失函数为
L ( W , θ ) = ∑ x ∈ M ( y ^ − y ) ( w T − θ ) L\left( W,\theta \right) =\sum _{x\in M}\left( \widehat{y}-y\right) \left( w^{T}-\theta \right) L(W,θ)=xM(y y)(wTθ)
显然,此损失函数是非负的。如果没有误分类点,损失函数值是0.而且,误分类点越少,误分类点离超平面越近,损失函数值就越小。
在这里插入图片描述

3、感知机学习算法

描述:当误分类样本集合M固定时,那么可以求得损失函数L(w)地梯度为
Δ w L ( w ) = ∑ x i ∈ M ( y i ^ − y i ) x i \Delta _{w}L\left( w\right) =\sum _{x_{i}\in M}\left( \widehat{y_{i}}-y_{i}\right) x_{i} ΔwL(w)=xiM(yi yi)xi
感知机的学习算法具体采用的是随机梯度下降法,也就是极小化过程中不是一次使M中所有误分类点的梯度下降,而是一次随机选取一个误分类点使其梯度下降。
在这里插入图片描述

感知机属于单个神经元分类能力有限,只能分类线性可分的数据集,
如果要解决非线性可分的问题,需考虑使用多层功能神经元。
且有理论证明(通用近似定理):只需一个包含足够多神经元的隐层,多层前馈网络(最经典的神经网络之一)就能以任意精度逼近任意复杂度的连续函数(自己需要构造特征,输入进神经网络会帮忙构造出一些特征,可能恰好就构造出了符合的特征,自己对数据进行加工)。因此,神经网络既能做回归,也能做分类,而且不需要复杂的特征工程。

特征工程(Feature Engineering)是指通过数据预处理和特征处理等手段,将原始数据转换为更有意义、更易于被机器学习算法使用的特征表示的过程。特征在机器学习中起着至关重要的作用,合适的特征能够提高模型的准确性和泛化能力,而不合适的特征则会降低模型的性能。
特征工程包括以下几个方面:
数据清洗:对数据进行去重、缺失值处理、异常值处理等操作,确保数据质量和完整性。
特征选择:根据领域知识、统计分析、特征重要性等方法,选取对目标变量具有较强预测能力的特征。
避免冗余特征和无用特征对模型性能的影响。
特征提取:通过特定的方法将原始数据转化为新的特征表示。例如,数值型特征可以进行离散化、分箱、
标准化等预处理;文本数据可以进行词袋模型、TF-IDF等特征提取方式。
特征构建:人工构造新的特征,使得特征表现出更好的分类或回归性质。该过程需要一定的领域知识
和创造性思维。
特征组合:将不同的特征进行组合,形成新的复合特征,提高模型的表达能力和泛化性能。
例如,对时间和地理位置进行组合,可以得到更具有区分度的特征。

理想很丰满,现实很骨感,神经网络还存在一些问题等待解决:
如面对一个具体的场景,神经网络该做多深,多宽?神经网络的结构该如何设计最合理?神经网络的输出结果该如何解释?

4、多层前馈网络

每层神经元与下一层神经元全互联,神经元之间不存在同层连接,也不存在跨层连接(隐层阈值 y h y_{h} yh,输出层阈值 θ j \theta _{j} θj
在这里插入图片描述
将神经网络(记为NN)看作一个特征加工函数
x ∈ R d → N N ( x ) → y = x ∗ ∈ R 1 x\in R^{d}\rightarrow NN\left( x\right) \rightarrow y=x^{\ast }\in R^{1} xRdNN(x)y=xR1
(单输出)回归:后面接一个 R 1 → R R^{1}\rightarrow R R1R的神经元。例如:没有激活函数的神经元
y = w T x ∗ + b y=w^{T}x^{\ast }+b y=wTx+b
分类:后面接一个 R 1 → [ 0 , 1 ] R^{1}\rightarrow \left[ 0,1\right] R1[0,1]的神经元,例如:激活函数为Sigmoid函数的神经元
y = 1 1 + e − ( w T x ∗ + b ) y=\dfrac{1}{1+e^{-\left( w^{T}x^{\ast }+b\right) }} y=1+e(wTx+b)1
在模型训练过程中,神经网络(NN)自动学习提取有用的特征,因此,机器学习向“全自动数据分析”又前进了一步。
但由于其强大的表示能力,BP神经网络经常遭遇过拟合,其训练误差持续降低,但测试误差却可能上升。由两种策略常用来缓解BP网络的过拟合,第一种策略是“早停”,第二种策略是“正则化”。回归任务损失函数可以采用均方误差,分类任务则用交叉熵。
误差逆传播算法(BP算法):基于随机梯度下降的参数更新算法。
在这里插入图片描述
其中只需推导出E这个损失函数关于参数的一阶偏导数(梯度)即可(链式求导)。值得一提的是,由于NN(x)通常是极其复杂的非凸函数,不具备像凸函数这种良好的数学性质,因此随机梯度下降不能保证一定能走到全局最小值点,更多情况下走到的都是局部极小值点。
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1037490.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MySQL常用日期查询统计总结

MySQL常用日期统计总结 一、准备工作 表结构如下: CREATE TABLE order_info (id int NOT NULL AUTO_INCREMENT,info varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,time datetime NULL DEFAULT NULL,PRIMARY KEY (id) USING BTRE…

联想电脑打开exe提示要在Microsoft Store中搜索应用

问题: 你需要为此任务安装应用。 是否要在Microsoft Store中搜索一个? 如图: 出现此情况,仅需要做如下操作,在要打开的exe文件上右键,属性: 如图箭头所示,点击“解除锁定”出现对钩&…

【软件设计师-从小白到大牛】上午题基础篇:第二章 操作系统

文章目录 前言章节提要一、进程管理1、进程的状态2、前趋图3、进程的同步与互斥4、PV操作6、PV操作与前趋图7、死锁问题进程资源图(补充)真题链接 二、存储管理1、分区存储组织2、页式存储组织3、段式存储组织4、段页式存储组织5、快表6、页面置换算法单…

linux 约束

linux 约束 1、约束的概念1.1什么是约束1.2约束的优劣势 2、约束的作用3、约束的分类4、约束的应用场景5、约束的管理5.1创建5.2查看5.3插入5.4删除 6、总结 1、约束的概念 1.1什么是约束 在关系型数据库中,约束是用于限制表中数据规则的一种机制。它可以确保表中…

第一百五十三回 如何实现滑动窗口

文章目录 概念介绍实现方法示例代码 我们在上一章回中介绍了自定义组件实现游戏摇杆相关的内容,本章回中将介绍 如何实现滑动窗口.闲话休提,让我们一起Talk Flutter吧。 概念介绍 我们在本章回中介绍的滑动窗口表示在屏幕底部向上滑动时弹出一个窗口&a…

数量关系(刘文超)

解题技巧 代入排除法 数字特性法 整除特性 比例倍数特性(找比例,比例不明显时找等式) 看不懂式子时,把所有的信息像表格一样列出来 看不懂式子时,把所有的信息像表格一样列出来

智慧公厕是提升公共厕所管理服务能力的创新举措

在城市化进程加速的今天,公共厕所的管理问题成为让人头疼的难题。随着智慧科技的发展,智慧公厕应运而生,为提升公共厕所综合管理服务能力提供了新思路和解决方案。本文将以智慧公厕领先厂家广州中期科技有限公司,大量精品案例项目…

基于STM32和LORA组网的养老院智能控制系统设计(第十八届研电赛)

一、整体功能 数据采集从机1采集烟雾浓度,PM2.5浓度,甲醛浓度;从机2采集温湿度,光照强度,噪声强度,老人体感温度;从机3收集厨房饮用水的TDS值。3个数据采集从机将采集到的数据显示在本地OLED屏…

idea2023.2.2修改代码区中文字体

使用idea编译代码时,中文默认使用宋体进行显示,可通过以下方式进行修改。 Editor -> Font -> Fallback font

“微信小号”注册攻略!无需绑定手机号也能注册一个新微信

微信作为移动互联时代最重要的App之一,绝大多数人的生活、工作都离不开它。 随着软件普及率的增加,不少人苦恼于工作、生活都在一个微信号上。因此,不少用户会选择注册用于工作和生活的两个单独微信账号来使用。 然而,此前一个手机…

Spring Cloud阿里的nacos注册中心的使用以及Feign远程调用

原文档 https://github.com/alibaba/spring-cloud-alibaba/blob/2022.x/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/readme-zh.md 注册中心nacos使用步骤 添加依赖 <!-- 服务注册/发现--><dependency><groupId>com.al…

Java中如何将String类型的2023年09月21日这个值变成DATE相关的类型

Java中如何将String类型的2023年09月21日这个值变成DATE 可以通过使用Java中的SimpleDateFormat类完成。以下是一个例子&#xff1a; import java.text.SimpleDateFormat; import java.text.ParseException; import java.util.Date;public class Main {public static void ma…

modbusTCP【codesys】

1添加控制器【控制器】&#xff1a; 右击左侧树型菜单【Device】→选择【添加设备】&#xff0c;在弹出对话框中下拉选择【以太网适配器】下的【Ethernet】&#xff0c;最后点击【添加设备】。 注意固件能支持的版本。我的是3.5.17 2添加主站【主站】 3添加从站【从站】 双…

如何将原始按照word为单位索引标识的数据集修改为以char单位

目录 问题描述&#xff1a; 问题解决&#xff1a; 问题描述&#xff1a; 原始数据集中&#xff0c;数据的标注是以word为单位&#xff0c;且计数从1开始的。如下图&#xff1a; 如何修改为以char为单位的&#xff0c;从0开始计数的数据格式&#xff1a; 问题解决&#xff1a;…

网站接公网+配置域名访问宝宝级教程

网站接入公网并配置域名访问【详细教程】 安装Nginx上传网页文件配置Nginx腾讯云配置域名映射接入公网备案流程 本教程将以腾讯云服务器和腾讯云域名为例&#xff0c;介绍如何快速将网站接入公网并配置域名访问。我们将使用xshell工具进行操作&#xff0c;并涵盖安装nginx、上传…

NSS [HXPCTF 2021]includer‘s revenge

NSS [HXPCTF 2021]includer’s revenge 题目描述&#xff1a;Just sitting here and waiting for PHP 8.1 (lolphp). 题目源码&#xff1a;&#xff08;index.php&#xff09; <?php ($_GET[action] ?? read ) read ? readfile($_GET[file] ?? index.php) : inclu…

《JVM》第二篇 JVM内存模型深度剖析与优化

目录 一. JDK体系结构与跨平台特性介绍二. JVM内存模型深度剖析三. 从Jvisualvm来研究下对象内存流转模型四. GC Root与STW机制五. JVM参数设置通用模型 一. JDK体系结构与跨平台特性介绍 二. JVM内存模型深度剖析 按照线程是否共享来划分 TLAB(Thread Local Allocation Buffe…

USB总线-Linux内核USB3.0主机控制器驱动框架分析(十二)

1.概述 如下图所示&#xff0c;Linux内核中USB主机体系结构由五部分组成&#xff0c;分别为Application Software、USB Class Driver、USB Core(USB Driver)、USB Host Controller Driver、USB Host Controller。应用程序处于用户空间&#xff0c;通过系统调用访问Class Drive…

C进阶-数据的存储

数据类型介绍 内置类型&#xff1a; //数据类型中的内置类型 // char //字符数据类型 // short //短整型 // int //整型 // long //长整型 // long long //更长的整型 // float //单精度浮点数 // double //双精度浮点数 //数据类型中的内置类型 单位是字节 // char //字…

使用 ggbreak 包进行Y轴多次截断

简介 最近在科研中需要比较不同模型的预测性能&#xff0c;我们使用相对偏差&#xff0c;均方根误差等来比较结果。此时&#xff0c;可能会得到以下结果&#xff1a; 上图出现以下问题&#xff1a; 问题一&#xff1a;由于经典模型&#xff08;Normal&#xff09;在复杂数据中…