神经网络--感知机

感知机

单层感知机原理

单层感知机:解决二分类问题,激活函数一般使用sign函数,基于误分类点到超平面的距离总和来构造损失函数,由损失函数推导出模型中损失函数对参数 w w w b b b的梯度,利用梯度下降法从而进行参数更新。让+1代表A类,0代表B类

以下是原理示意图:

在这里插入图片描述

神经元会计算传送过来的信号的总和,当这个总和超过了阈值 θ θ θ时,才会输出1。这也称为“神经元被激活”。
二进制步进函数 y = { 1 , w T x + b > θ 0 , w T x + b < θ 二进制步进函数\\ y = \begin{cases} 1, w^Tx+b>\theta\\ 0, w^Tx+b<\theta \end{cases} 二进制步进函数y={1,wTx+b>θ0,wTx+b<θ

损失函数:基于误分类点到超平面的距离总和
点 ( x , y ) 到直线 ( A x + B y + C = w T x + b = 0 ) 距离 : d = ∣ A x 0 + B y 0 + C ∣ A 2 + B 2 = ∣ w T x + b ∣ ∣ ∣ w ∣ ∣ 点(x,y)到直线(Ax+By+C=w^Tx+b=0)距离:d = \frac{|Ax_0+By_0+C|}{\sqrt{A^2+B^2}}=\frac{|w^Tx+b|}{||w||} (x,y)到直线(Ax+By+C=wTx+b=0)距离:d=A2+B2 Ax0+By0+C=∣∣w∣∣wTx+b

L O S S = ∑ i = 1 m − y i ( w T x i + b ) LOSS = \sum_{i=1}^{m}{-{y_i(w^Tx_i+b)}} LOSS=i=1myi(wTxi+b)

∂ L o s s ∂ w = − ∑ i = 1 m y i x i ∂ L o s s ∂ b = − ∑ i = 1 m y i \frac{\partial Loss}{\partial w} = -\sum^{m}_{i=1}y_ix_i\\ \frac{\partial Loss}{\partial b} = -\sum^{m}_{i=1}y_i wLoss=i=1myixibLoss=i=1myi

感知机训练算法

∗ ∗ 算法 1 :感知机训练算法 ∗ ∗ 初始化参数 w = 0 , b = 0 r e p e a t : { 从训练集随机采样一个样本 ( x i , y i ) 计算感知机的输出 t = f ( w T x i + b ) , f ( x ) = 1 , x > 0 ; f ( x ) = 0 , x ≤ 0 如果 t ≠ y i : 更新权值 : w ← w + η ( y i − t ) x i 更新偏移量 : b ← b + η ( y i − t ) } u n t i l 训练次数达到要求输出 : 分类网络参数 w 和 b , 其中 η 为学习率。 **算法 1:感知机训练算法**\\ 初始化参数 w= 0, b= 0\\ repeat:\{ 从训练集随机采样一个样本(x_i, y_i) \\ 计算感知机的输出 t = f(w^T x_i + b),f(x)=1,x>0; f(x)=0, x \leq 0\\ 如果t ≠ y_i:\\ 更新权值:w ← w + \eta (y_i-t)x_i \\ 更新偏移量:b ← b + \eta (y_i-t)\\ \}until 训练次数达到要求 输出:分类网络参数w和b,其中\eta 为学习率。 算法1:感知机训练算法初始化参数w=0,b=0repeat:{从训练集随机采样一个样本(xi,yi)计算感知机的输出t=f(wTxi+b),f(x)=1,x>0;f(x)=0,x0如果t=yi更新权值:ww+η(yit)xi更新偏移量:bb+η(yit)}until训练次数达到要求输出:分类网络参数wb,其中η为学习率。

单层感知机返回的 w T + b = 0 w^T+b=0 wT+b=0构成一条直线,这也是单层感知机的局限,可以实现与门、与非门(与门取反)、或门三种逻辑电路,无法实现异或门(XOR,(与非门和或门)的与 )逻辑电路.

在这里插入图片描述

反向传播算法

在这里插入图片描述

正确理解误差反向传播法,有两种方法:

  • 一种是基于数学式—微分链;

  • 另一种是基于计算图(computational graph),直观地理解误差反向传播法。

计算图

在这里插入图片描述

在计算图上,从左向右进行计算是正方向上的传播,简称为正向传播(forward propagation)。正向传播是从计算图出发点到结束点的传播。当然从图上看,从右向左的传播,称为反向传播(backward propagation)。反向传播在导数计算中发挥重要作用。
在这里插入图片描述

​ 假设我们想知道苹果价格的上涨会在多大程度上影响最终的支付金额,即求“支付金额关于苹果的价格的导数”。这个导数的值表示当苹果的价格稍微上涨时,支付金额会增加多少。反向传播使用与正方向相反的箭头(粗线)表示。反向传播传递“局部导数”,将导数的值写在箭头的下方。在这个例子中,反向传播从右向左传递导数的值(1→1.1→2.2)。从这个结果中可知,“支付金额关于苹果的价格的导数”的值是2.2。这意味着,如果苹果的价格上涨1元,最终的支付金额会增加2.2元(严格地讲,如果苹果的价格增加某个微小值,则最终的支付金额将增加那个微小值的2.2倍)

链式法则

在这里插入图片描述
在这里插入图片描述

加法节点

在这里插入图片描述

乘法节点

在这里插入图片描述
在这里插入图片描述

激活节点

1.relu

在这里插入图片描述

2.sigmoid函数

计算图的反向传播:

  • 步骤1:
    “/”节点表示 y = 1 x y=\frac{1}{x} y=x1,它的导数可以解析性地表示为: ∂ y ∂ x = − 1 x 2 = − y 2 \frac{\partial y}{\partial x} = -\frac{1}{x^2} = -y^2 xy=x21=y2 。反向传播时,会将上游的值乘以−y2(正向传播的输出的平方乘以−1后的值)后,再传给下游。计算图如下所示。
    在这里插入图片描述

  • 步骤2:
    “+”节点将上游的值原封不动地传给下游。计算图如下所示.

在这里插入图片描述

  • 步骤3:
    “exp”节点表示: y = e x p ( x ) y = exp(x) y=exp(x),它的导数: ∂ y ∂ x = e x p ( x ) \frac{\partial y}{\partial x} = exp(x) xy=exp(x)
    计算图中,上游的值乘以正向传播时的输出(例中是exp(−x))后,再传给下游。
    在这里插入图片描述

  • 步骤4: “×”节点将正向传播时的值翻转后做乘法运算。因此,这里要乘以−1。

在这里插入图片描述

这里要注意,反向传播的输出 ∂ L ∂ y y 2 e x p ( − x ) \frac{\partial L}{\partial y}y^2exp(-x) yLy2exp(x),这个值只根据正向传播时的输入x和输出y就可以算出来。
因此,计算图可以画成集约化的“sigmoid”节点。
在这里插入图片描述

简洁版的计算图可以省略反向传播中的计算过程,因此计算效率更高。

∂ L ∂ y y 2 e x p ( − x ) = ∂ L ∂ y y ( 1 − y ) \frac{\partial L}{\partial y}y^2exp(-x) = \frac{\partial L}{\partial y}y(1-y) yLy2exp(x)=yLy(1y)

因此,Sigmoid 层的反向传播,只根据正向传播的输出就能计算出来。
在这里插入图片描述

(3)Affine层 (np.dot())

矩阵的乘积运算在几何学领域被称为“仿射变换”Affine。因此,使用仿射变换的处理实现为“Affine层”

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

ZMTP协议

ZoreMQ Transport Protocol是一个传输层协议&#xff0c;用于ZMQ的连接的信息交互&#xff0c;本文档描述的是3.0协议&#xff0c;主要分析基于NULL Security Mechanism 协议语法 ZMTP由三部分组成&#xff0c;分别是 greeting、handshake、traffic 部分描述构成greeting描述…

数据挖掘导论学习笔记1(第1 、2章)

参考&#xff1a;https://blog.csdn.net/u013232035/article/details/48281659?spm1001.2014.3001.5506 和《数据挖掘导论》学习笔记&#xff08;第1-2章&#xff09;_时机性样本_schdut的博客-CSDN博客 第1章 绪论 数据挖掘是一种技术&#xff0c;它将传统的数据分析方法…

【配置环境】Visual Studio 配置 OpenCV

目录 一&#xff0c;环境 二&#xff0c;下载和配置 OpenCV 三&#xff0c;创建一个 Visual Studio 项目 四&#xff0c;配置 Visual Studio 项目 五&#xff0c;编写并编译 OpenCV 程序 六&#xff0c;解决CMake编译OpenCV报的错误 一&#xff0c;环境 Windows 11 家庭中…

十大管理——项目成本管理

目录 1.成本管理概念 2.成本管理的四个过程域 2.1四个过程的整体理解 ​2.2四个过程的ITO口诀版记忆 2.3过程1——制定项目管理计划 ​2.4过程2——项目成本估算​ 2.5过程3——项目成本预算 2.5过程4——项目成本控制 3计算题 1.成本管理概念 项目成本管理就是要确保…

在R中安装TensorFlow、TensorFlow_Probability、numpy(R与Python系列第二篇)

目录 前言&#xff1a; 1-安装tensorflow库 Step1: 下载R包tensorflow Step2&#xff1a;安装TensorFlow库 Step3&#xff1a;导入R中 2-安装tensorflow_probability库 Step1&#xff1a;下载R包&#xff1a;tfprobability Step2&#xff1a;安装TensorFlow Probability …

【分类】分类性能评价

评价指标 1、准确率、召回率、精确率、F-度量、ROC ​ 属于各类的样本的并不是均一分布&#xff0c;甚至其出现概率相差很多个数量级&#xff0c;这种分类问题称为不平衡类问题。在不平衡类问题中&#xff0c;准确率并没有多大意义&#xff0c;我们需要一些别的指标。 ​ 通…

Flutter:getX的学习

前言 学习教程&#xff1a;Getx教程_FlutterGetx系列实战教程 简介 getX是第三方的状态管理插件&#xff0c;不仅具有状态管理的功能&#xff0c;还具有路由管理、主题管理、国际化多语言管理、网络请求、数据验证等功能。相比其他状态管理组件&#xff0c;getX简单、功能强大…

【网络编程上】

目录 一.什么是互联网 1.计算机网络的定义与分类&#xff08;了解&#xff09; &#xff08;1&#xff09;计算机网络的定义 &#xff08;2&#xff09;计算机网络的分类 ① 按照网络的作用范围进行分类 ②按照网络的使用者进行分类 2.网络的网络 &#xff08;理解&#xf…

基于Vue3+ts+Pinia的后台管理系统

Vue3tsPinia管理系统 项目介绍项目简介界面展示登录界面商品界面用户界面角色管理界面 接口文档项目地址 项目介绍 包含对商品、订单、用户增删改查等后台的管理业务&#xff0c;并提供数据可视化的报表功能的管理系统。界面进行了高级封装&#xff0c;可以通过引入组件传入配…

利用frps搭建本地自签名https服务的透传

nginx的搭建就不介绍了&#xff0c;教程很多&#xff0c;基本上油手就会。 在本例中&#xff0c;frp服务器的域名是 www.yourfrp.com&#xff0c;同时也是反向代理nginx服务器; 本地网站要用的域名&#xff1a; test.abcd.com 请事先将 test.abcd.com 解析到 frp所在服务器…

OpenCV(十三):图像中绘制直线、圆形、椭圆形、矩形、多边形和文字

目录 1.绘制直线line() 2.绘制圆形circle() 3.绘制椭圆形ellipse() 4.绘制矩形rectangle() 5.绘制多边形 fillPoly() 6.绘制文字putText() 7.例子 1.绘制直线line() CV_EXPORTS_W void line(InputOutputArray img,Point pt1, Point pt2,const Scalar& color,int t…

CSS学习笔记05

CSS笔记05 定位 position CSS 属性position - 用于指定一个元素在文档中的定位方式。top&#xff0c;right&#xff0c;bottom 和 left 属性则决定了该元素的最终位置。position 有以下常用的属性值&#xff1a; position: static; - 默认值。指定元素使用正常的布局行为&am…

wap2app 隐藏系统状态栏

一、首先创建wap2App项目 1、文件》新建》项目 2、选择Wap2App项目&#xff1a;输入项目名称、网站首页地址&#xff08;如果是本地localhost的话改为你的IP地址即可&#xff09;&#xff0c;点击创建 二、创建完wap2App项目后 隐藏系统状态栏只要修改1、2选项即可 1、找到根…

uniapp实现移动端的视频图片轮播组件

1、视频轮播组件app体验地址 https://tt.appc02.com/nesxr6 2、支持小程序、H5、APP&#xff0c;在小程序上运行的效果图 3、使用方法 第一步&#xff0c;按照截图步骤配置好 第二步&#xff1a;参考以下代码&#xff0c;使用视频图片轮播组件 <template><view>…

aarch64-linux交叉编译libcurl带zlib和openssl

交叉编译libcurl需要依赖zlib和openssl 需要先用aarch64工具链编译zlib和openssl aarch64-linux环境搭建 下载工具链 gcc用于执行交叉编译 gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnusysroot是交叉版本的库文件集合 sysroot-glibc-linaro-2.25-2019.12-aarch64-lin…

K8S最新版本集群部署(v1.28) + 容器引擎Docker部署(下)

温故知新 &#x1f4da;第三章 Kubernetes各组件部署&#x1f4d7;安装kubectl&#xff08;可直接跳转到安装kubeadm章节&#xff0c;直接全部安装了&#xff09;&#x1f4d5;下载kubectl安装包&#x1f4d5;执行kubectl安装&#x1f4d5;验证kubectl &#x1f4d7;安装kubead…

常见矿石材质鉴定VR实训模拟操作平台提高学员的学习效果和实践能力

随着“元宇宙”概念的不断发展&#xff0c;在矿山领域中&#xff0c;长期存在传统培训内容不够丰富、教学方式单一、资源消耗大等缺点&#xff0c;无法适应当前矿山企业发展需求的长期难题。元宇宙企业借助VR虚拟现实、web3d开发和计算机技术构建的一个虚拟世界&#xff0c;为用…

F5服务器负载均衡能力如何?一文了解

但凡知道服务器负载均衡这个名词的&#xff0c;基本都知道 F5&#xff0c;因为负载均衡是 F5 的代表作&#xff0c;换句话来说&#xff0c;负载均衡就是由 F5 发明的。提到F5服务器负载均衡能力如何&#xff1f;不得不关注F5提出的关于安全、网络全面优化的解决方案&#xff0c…

游戏思考30(补充版):关于逆水寒铁牢关副本、白石副本和技能的一些注释(2023/0902)

前期介绍 我是一名逆水寒的玩家&#xff0c;做一些游戏的笔记当作攻略记录下来&#xff0c;荣光不朽-帝霸来源视频连接 传送门 一、旧版铁牢关&#xff08;非逆水寒老兵服&#xff09; &#xff08;1&#xff09;老一&#xff1a;巨鹰 1&#xff09;机制一&#xff1a;三阵风…

html中如何用vue语法,并使用UI组件库 ,html中引入vue+ant-design-vue或者vue+element-plus

html中如何用vue语法&#xff0c;并使用UI组件库 前言 先说一下本次应用的场景&#xff0c;本次项目中&#xff0c;需要引入github中别人写好的插件&#xff0c;插件比较大&#xff0c;没有方法直接在自己项目中&#xff0c;把别人的项目打包合并生成html&#xff08;类似于前…