当前位置:网站首页>吃瓜教程task04 第5章 神经网络
吃瓜教程task04 第5章 神经网络
2022-08-11 05:15:00 【雾切凉宫】
第5章 神经网络
2022/5/28 雾切凉宫 至5.3节/视频P7
文章目录
5.1 神经元模型
p7 神经网络
p7.1 M-P神经元
M-P神经元:接收n个输入(通常是来自其他神经元),并给各个输入赋予权重计算加权和,然后和自身特有的阈值θ进行比较(作减法),最后经过激活函数f(模拟“抑制"和“激活”)处理得到输出(通常是给下一个神经元)
y = f ( ∑ i = 1 n w i x i − θ ) = f ( w T x + b ) y=f(\sum_{i=1}^nw_ix_i-θ)=f(w^Tx+b) y=f(i=1∑nwixi−θ)=f(wTx+b)
常见激活函数f:
- sgn函数
- sigmoid函数
5.2 感知机与多层网络
p7.2 感知机
感知机模型
激活函数为sgn (阶跃函数)的神经元
y = s g n ( w T x − θ ) y=sgn(w^Tx-θ) y=sgn(wTx−θ)
x为特征向量,(w,θ)为神经元参数(权重,阈值)
感知机学习策略
随机初始化w, b,将全体训练样本代入模型找出误分类样本,假设此时误分类样本集合为M∈T,对任意一个误分类样本来说,以下公式恒成立:
( y ^ − y ) ( w T x − θ ) > = 0 (\hat{y}-y)(w^Tx-θ)>=0 (y^−y)(wTx−θ)>=0
所以,给定数据集T,其损失函数可以定义为:
L ( w , θ ) = ∑ x ∈ M ( y ^ − y ) ( w T x − θ ) L(w,θ)=\sum_{x∈M}(\hat{y}-y)(w^Tx-θ) L(w,θ)=x∈M∑(y^−y)(wTx−θ)
显然,,此损失函数是非负的。如果没有误分类点,损失函数值是0。而且,误分类点越少,误分类点离超平面越近,损失函数值就越小。
具体地,给定数据集
T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x n , y n ) } T = \{(x_1, y_1), (x_2,y_2),...,(x_n,y_n)\} T={ (x1,y1),(x2,y2),...,(xn,yn)}
其 中 x i ∈ R , y i ∈ { 0 , 1 } , 求 参 数 w , θ , 使 其 为 极 小 化 损 失 函 数 的 解 : 其中x_i∈R,y_i∈\{0,1\},求参数w,θ,使其为极小化损失函数的解: 其中xi∈R,yi∈{ 0,1},求参数w,θ,使其为极小化损失函数的解:
m i n L ( w , θ ) = m i n w , θ ∑ x i ∈ M ( y i ^ − y i ) ( w T x i − θ ) min L(w,θ)= {min}_{w,θ}\sum_{x_i∈M}(\hat{y_i}- y_i)(w^Tx_i-θ) minL(w,θ)=minw,θxi∈M∑(yi^−yi)(wTxi−θ)
其中M为误分类样本集合。若将阈值θ看作一个固定输入为-1的“哑节点”,即:
− θ = − 1 ∗ W n + 1 = x n + 1 ∗ w n + 1 -θ=-1*W_{n+1}=x_{n+1}*w_{n+1} −θ=−1∗Wn+1=xn+1∗wn+1
根据该式,可将要求解的极小化问题进一步简化为:
m i n w L ( w ) = m i n w ∑ x i ∈ M ( y i ^ − y i ) w T x i min_{w}L(w)=min_w\sum_{x_i∈M}(\hat{y_i}-y_i)w^Tx_i minwL(w)=minwxi∈M∑(yi^−yi)wTxi
感知机学习算法
当误分类样本集合M固定时、那么可以求得损失函数L(w)的梯度为:
▽ w L ( w ) = ∑ ( x i ∈ M ) ( y i ^ − y i ) x i ▽_wL(w)=\sum_{(x_i∈M)}(\hat{y_i}-y_i)x_i ▽wL(w)=(xi∈M)∑(yi^−yi)xi
感知机的学习算法具体采用的是随机梯度下降法,也就是极小化过程中不是一次使M中所有误分类点的梯度下降,而是一次随机选取一个误分类点使其梯度下降。所以权重w的更新公式为:(η为学习率)
w = w + △ w w=w+△w w=w+△w
△ w = − η ( y i ^ − y i ) x i = η ( y i − y i ^ ) x i △w=-η(\hat{y_i}-y_i)x_i=η(y_i-\hat{y_i})x_i △w=−η(yi^−yi)xi=η(yi−yi^)xi
p7.3 神经网络
多层前馈网络
多层前馈网络:每层神经元与下一层神经完全互连,神经元之间不存在同层连接,也不存在跨层连接。 (隐层阈值γn, 输出层阈值θj)

一般地,按照需要完成的任务来选择损失函数,比如
一个多输出回归任务:损失函数一般采用均方误差。
一个分类任务:损失函数使用交叉熵。
误差逆传播算法(BP)
基于随机梯度(损失函数的梯度)下降的参数更新算法:
w = w + △ w w=w+△w w=w+△w
△ w = − η ▽ w E △w=-η▽_wE △w=−η▽wE
使用交叉熵。
误差逆传播算法(BP)
基于随机梯度(损失函数的梯度)下降的参数更新算法:
w = w + △ w w=w+△w w=w+△w
△ w = − η ▽ w E △w=-η▽_wE △w=−η▽wE
其中只需推导出▽wE这个损失函数E关于参数w的一阶偏导数(梯度)即可(链式求导)。值得一提的是,由于NN(x )通常是极其复杂的非凸函数,不具备像凸函数这种良好的数学性质,因此随机梯度下降不能保证一定能走到全局最小值点,更多情况下走的都是局部极小值点。
边栏推荐
猜你喜欢
![[Embedded open source library] The use of cJSON, an efficient and streamlined json parsing library](/img/11/26ec988a23b239d7b01e2e29e3e32d.png)
[Embedded open source library] The use of cJSON, an efficient and streamlined json parsing library

Win10远程连接(实现多用户同时连接)

玩转mysql之查看mysql版本号

【转载】CMake 语法 - 详解 CMakeLists.txt

Four functional interfaces

(三)Redis 如何进行压测

PyTorch显存机制分析

四大函数式接口

(3) Construction of a real-time performance monitoring platform (Grafana+Prometheus+Node_explorer+Jmeter)

普林斯顿微积分读本05第四章--求解多项式的极限问题
随机推荐
玩转mysql之查看mysql版本号
nodes服务器
【嵌入式开源库】使用J-Link打印日志,让你节省一个打印串口
【转载】如何理解数据集中【训练集】、【验证集】和【测试集】
代理模式(简要介绍)
【嵌入式开源库】cJSON的使用,高效精简的json解析库
PyTorch显存机制分析
Flask框架学习:模板渲染与Get,Post请求
Flask framework learning: template rendering and Get, Post requests
提升你工作效率的技巧,你得知道——Navitcat 快捷键
Oracle常用语句归纳_持续更新
切分字符串进行输出显示
StarUML使用心得
(1) Construction of a real-time performance monitoring platform (Grafana+Influxdb+Jmeter)
一个月闭关直接面进大厂,这份Android面试笔记是真的牛逼
Idea 2021.3.3版本文件目录展开
(一)性能实时监控平台搭建(Grafana+Influxdb+Jmeter)
【动态代理】CGLIB 动态代理的使用及原理
【Mysql】----基础练习
MyEclipse数据库工具使用教程:使用驱动程序