HNU_多传感器(专选)_作业4(构建单层感知器实现分类)
1. (论述题)(共1题,100分)
假设平面坐标系上有四个点,要求构建单层感知器实现分类。
(3,3),(4,3) 两个点的标签为1;
(1,1),(0,2) 两个点的标签为-1。
思路:要分类的数据是2维数据,需要2个输入节点,把神经元的偏置值也设置成一个节点(偏置也是一个输入,恒等于1),总共有3个输入节点。
输入数据有4组:
(1,3,3),(1,4,3),(1,1,1),(1,0,2)
对应的标签为(1,1,-1,-1)
初始化权值w0,w1,w2取-1到1的随机数;
学习率设为0.11;
激活函数为sign函数。
我的答案:
1. 初始化:
- (1)输入数据:X=[[1,3,3],[1,4,3],[1,1,1],[1,0,2]];
- (2)标签:Y=[1,1,-1,-1]
- (3)权值向量:W=[w0,w1,w2],随机在[-1,1]中;
- (4)学习率:η= 0.11
2.激活函数:
- sign(x) = 1 if x > 0 else -1
3.训练过程
- (1)前向传播:神经元输出:
![]()
- (2)计算误差:
![]()
- (3)更新权值:
![]()
- (4)若未达到“所有样本均正确分类/达到最大迭代次数”,则重复(1)~(3)
4.迭代过程:
可通过程序代码,进行迭代:(其中一次迭代如下):
初始权值: [ 0.58717924 -0.64675996 0.79238846]
=== 第 1 轮迭代 ===
样本: [1 1 1], 标签: -1, 预测: 1
权值更新量(eta * (Y[i] - y_pred) * X[i]): [-0.22 -0.22 -0.22]
更新后的权值: [ 0.36717924 -0.86675996 0.57238846]
样本: [1 0 2], 标签: -1, 预测: 1
权值更新量(eta * (Y[i] - y_pred) * X[i]): [-0.22 -0. -0.44]
更新后的权值: [ 0.14717924 -0.86675996 0.13238846]
=== 第 2 轮迭代 ===
样本: [1 3 3], 标签: 1, 预测: -1
权值更新量(eta * (Y[i] - y_pred) * X[i]): [0.22 0.66 0.66]
更新后的权值: [ 0.36717924 -0.20675996 0.79238846]
样本: [1 1 1], 标签: -1, 预测: 1
权值更新量(eta * (Y[i] - y_pred) * X[i]): [-0.22 -0.22 -0.22]
更新后的权值: [ 0.14717924 -0.42675996 0.57238846]
样本: [1 0 2], 标签: -1, 预测: 1
权值更新量(eta * (Y[i] - y_pred) * X[i]): [-0.22 -0. -0.44]
更新后的权值: [-0.07282076 -0.42675996 0.13238846]
=== 第 3 轮迭代 ===
样本: [1 3 3], 标签: 1, 预测: -1
权值更新量(eta * (Y[i] - y_pred) * X[i]): [0.22 0.66 0.66]
更新后的权值: [0.14717924 0.23324004 0.79238846]
样本: [1 1 1], 标签: -1, 预测: 1
权值更新量(eta * (Y[i] - y_pred) * X[i]): [-0.22 -0.22 -0.22]
更新后的权值: [-0.07282076 0.01324004 0.57238846]
样本: [1 0 2], 标签: -1, 预测: 1
权值更新量(eta * (Y[i] - y_pred) * X[i]): [-0.22 -0. -0.44]
更新后的权值: [-0.29282076 0.01324004 0.13238846]
=== 第 4 轮迭代 ===
训练在第 4 轮收敛
训练后的权值: [-0.29282076 0.01324004 0.13238846]
import numpy as np# 数据
X = np.array([[1, 3, 3],[1, 4, 3],[1, 1, 1],[1, 0, 2]
])
Y = np.array([1, 1, -1, -1])# 初始化权值和参数
W = np.random.uniform(-1, 1, 3) # 权值初始化
eta = 0.11 # 学习率
max_epochs = 100 # 最大迭代次数# 激活函数
def sign(x):return 1 if x > 0 else -1# 训练
print("初始权值:", W)
for epoch in range(max_epochs):print(f"\n=== 第 {epoch + 1} 轮迭代 ===")errors = 0for i in range(len(X)):# 前向传播y_pred = sign(np.dot(X[i], W))# 检查预测是否正确if y_pred != Y[i]:errors += 1delta_W = eta * (Y[i] - y_pred) * X[i] # 计算权值更新量W += delta_W # 更新权值# 打印更新信息print(f"样本: {X[i]}, 标签: {Y[i]}, 预测: {y_pred}")print(f"权值更新量(eta * (Y[i] - y_pred) * X[i]): {delta_W}")print(f"更新后的权值: {W}")if errors == 0: # 如果没有错误分类print(f"训练在第 {epoch + 1} 轮收敛")break
else:print("未在最大迭代次数内收敛")print("\n训练后的权值:", W)
相关文章:
HNU_多传感器(专选)_作业4(构建单层感知器实现分类)
1. (论述题)(共1题,100分) 假设平面坐标系上有四个点,要求构建单层感知器实现分类。 (3,3),(4,3) 两个点的标签为1; (1,1),(0,2) 两个点的标签为-1。 思路:要分类的数据是2维数据,需要2个输入…...
以太网链路详情
文章目录 1、交换机1、常见的概念1、冲突域2、广播域3、以太网卡1、以太网卡帧 4、mac地址1、mac地址表示2、mac地址分类3、mac地址转换为二进制 2、交换机的工作原理1、mac地址表2、交换机三种数据帧处理行为3、为什么会泛洪4、转发5、丢弃 3、mac表怎么获得4、同网段数据通信…...
vue3 setup语法,子组件点击一个元素打印了这个元素的下标id,怎么传递给父组件,让父组件去使用
问: vue3 setup语法,子组件点击一个元素打印了这个元素的下标id,怎么传递给父组件,让父组件去使用 回答: 在 Vue 3 中,你可以使用 setup 语法糖和组合式 API 来实现子组件向父组件传递数据。具体来说&am…...
《Keras3 minist 手写数字AI模型训练22秒精度达到:0.97》
《Keras3 minist 手写数字AI模型训练22秒精度达到:0.97》 一、修改源码加上如下两条代码二、源码修改如下三、Keras3 minist 训练22秒结束,训练过程截图四、Keras3 minist 源码截图 一、修改源码加上如下两条代码 import os os.environ["KERAS_BAC…...
【.net core】【sqlsugar】大数据写入配置(需要版本5.0.45)
官网连接 https://www.donet5.com/home/Doc?typeId2404 泛型方法 /// <summary> /// 大数据写入(泛型方法) /// </summary> /// <param name"entitys"></param> /// <returns></returns> ///代码中_d…...
ansible运维实战
通过学习ansible自动化运维,初步对ansible有了一定的了解,此次分享两个案例,希望对大家有所帮助 案例一:自动化安装nginx 本次案例目的是ansible自动化安装nginx并配置 首先创建如图所示目录 在主机上安装好nginx,如…...
DDOS分布式拒绝服务攻击
DDOS分布式拒绝服务攻击 简单来说 传统的DOS就是一台或者多台服务对一个受害目标(服务器,路由,ip,国家)进行攻击,当范围过大时就是DDOS。目的就是通过大规模的网络流量使得正常流量不能访问受害目标&…...
如何使用 Python 实现 UDP 通信?
1. UDP通信基础 UDP(用户数据报协议)是一种无连接的传输层协议,它提供了一种不可靠的数据传输服务,但具有较低的延迟和较小的开销。在Python中,可以使用socket模块来实现UDP通信。 2. 实现UDP服务端 import socketd…...
MTK 配置文件梳理
文章目录 MTK 日常配置总结屏幕默认横竖屏显示ro.build.characteristics 属性修改修改点一:build\core\product_config.mk修改点二:build\make\core\main.mk修改是否成功,adb 验证 配置部分系统app handheld_product.mk配置系统属性、第三方应…...
论文笔记:Treat Visual Tokens as Text? But Your MLLM Only Needs Fewer Efforts to See
2024 10月的arxiv 1 主要idea 针对多模态大模型(如LLaVA),提出了一系列高效的剪枝策略 在显著降低计算开销(多达 88%)的同时,保持了模型在多模态任务中的性能表现 2 目前的问题 与文本 token 相比&…...
软考高级架构 —— 10.6 大型网站系统架构演化实例 + 软件架构维护
10.6 大型网站系统架构演化实例 大型网站的技术挑战主要来自于庞大的用户,高并发的访问和海量的数据,主要解决这类问题。 1. 单体架构 特点: 所有资源(应用程序、数据库、文件)集中在一台服务器上。适用场景: 小型网站&am…...
2024美赛数学建模C题:网球比赛中的动量,用马尔可夫链求解!详细分析
文末获取历年美赛数学建模论文,交流思路模型 接下来讲解马尔可夫链在2024年C题中的运用 1. 马尔科夫链的基本原理 马尔科夫链是描述随机过程的一种数学模型,其核心特征是无记忆性。 简单来说,系统在某一时刻的状态只取决于当前状态&#x…...
23种设计模式之状态模式
目录 1. 简介2. 代码2.1 State (定义抽象状态接口)2.2 StartState (实现具体状态类)2.3 EndState (实现具体状态类)2.4 Context (定义上下文类)2.5 Test (测试类…...
Elasticsearch Serverless 中的数据流自动分片
作者:来自 Elastic Andrei Dan 在 Elastic Cloud Serverless 中,我们根据索引负载自动为数据流配置最佳分片数量,从而使用户无需摆弄分片。 传统上,用户会更改数据流的分片配置,以处理各种工作负载并充分利用可用资源。…...
YOLOv10改进,YOLOv10添加U-Netv2分割网络中SDI信息融合模块+GSConv卷积,助力小目标
理论介绍 完成本篇需要参考以下两篇文章,并已添加到YOLOv10代码中 YOLOv10改进,YOLOv10添加U-Netv2分割网络中SDI信息融合模块,助力小目标检测YOLOv10改进,YOLOv10添加GSConv卷积+Slim-neck,助力小目标检测,二次创新C2f结构下文都是手把手教程,跟着操作即可添加成功 目…...
xshell连接虚拟机,更换网络模式:NAT->桥接模式
NAT模式:虚拟机通过宿主机的网络访问外网。优点在于不需要手动配置IP地址和子网掩码,只要宿主机能够访问网络,虚拟机也能够访问。对外部网络而言,它看到的是宿主机的IP地址,而不是虚拟机的IP。但是,宿主机可…...
sql的where条件中使用case when
场景: 1、使用oracle数据库,数据类型为number,需要正无穷值。 2、数据表中有两个金额值,最大值和最小值, 如10~20, 30 ~40,40以上,数据库中这样设计 id name min max 1 j 10 20 2 …...
MacOS 上以源码形式安装 MySQL 5.7
以下是在 macOS 上从源码安装 MySQL 5.7 的步骤: 前置条件 安装 Homebrew:如果你还没有安装 Homebrew,可以在终端中运行以下命令进行安装: /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install…...
MySQL 事务隔离级别详解
一、事务的基本概念 (一)什么是事务 事务是一个逻辑工作单元,由一组数据库操作组成。这些操作要么全部成功执行,要么全部回滚,以确保数据库的一致性。事务具有以下四个特性,通常被称为 ACID 特性ÿ…...
C语言——高精度问题
1、高精度计算的本质:竖式计算; 2、适用解决超出long long int 范围的大整数计算 #include<stdio.h> #include<string.h> #define N 100 char str1[N4]{0},str2[N4]{0}; int arr1[N4]{0},arr2[N4]{0}; int ans[N5]{0};//将字符串转化成整型…...
从文档智能处理到自动化工作流:现代开发技能的全栈实践
从文档智能处理到自动化工作流:现代开发技能的全栈实践 【免费下载链接】skills 本仓库包含的技能展示了Claude技能系统的潜力。这些技能涵盖从创意应用到技术任务、再到企业工作流。 项目地址: https://gitcode.com/GitHub_Trending/skills3/skills 在日常开…...
Qt图形项事件处理全解析:从mousePressEvent到mouseReleaseEvent的正确姿势
1. Qt图形项鼠标事件处理的核心机制 在Qt框架中处理图形项的鼠标交互,本质上是在和事件传播机制打交道。我刚接触Qt图形视图框架时,也曾被mouseMoveEvent不触发的问题困扰过整整两天。后来才发现,这其实是一套设计精巧的事件处理哲学——只有…...
4大价值点:旧设备复活开源工具如何让经典iOS设备重获新生?
4大价值点:旧设备复活开源工具如何让经典iOS设备重获新生? 【免费下载链接】Legacy-iOS-Kit An all-in-one tool to downgrade/restore, save SHSH blobs, and jailbreak legacy iOS devices 项目地址: https://gitcode.com/gh_mirrors/le/Legacy-iOS-…...
咱们今天聊点干货——用MATLAB玩转储能电站和微电网的协同优化。这玩意儿听起来高大上,实操起来其实挺有意思。先看上层优化的核心代码段
MATLAB代码:基于储能电站服务的冷热电多微网系统双层优化 MATLAB代码:基于储能电站服务的冷热电多微网系统双层优化|||配置 关键词:储能电站 共享储能电站 冷热电多微网 双层优化配置 参考文档:《基于储能电站服务的冷热电多微…...
IntelliJ插件开发实战:5分钟搞定Action类库配置(附完整代码示例)
IntelliJ插件开发实战:5分钟搞定Action类库配置(附完整代码示例) 如果你刚接触IntelliJ插件开发,可能会被各种概念和配置搞得晕头转向。Action作为插件开发中最基础也最核心的组件之一,掌握它的使用方法是开发交互式功…...
OpenBot开源代码平台:可视化编程与AI模块开发教程
OpenBot开源代码平台:可视化编程与AI模块开发教程 【免费下载链接】OpenBot OpenBot leverages smartphones as brains for low-cost robots. We have designed a small electric vehicle that costs about $50 and serves as a robot body. Our software stack for…...
你的电动车续航打折了?可能是AMT换挡逻辑没调好!聊聊经济性换挡那些事儿
你的电动车续航打折了?可能是AMT换挡逻辑没调好!聊聊经济性换挡那些事儿 最近在车主群里经常看到这样的抱怨:"明明官方标称续航500公里,怎么我开起来连400都跑不到?"作为一位开了三年电动车的"老司机&q…...
PROJECT MOGFACE技术解析:深入理解LSTM在序列建模中的替代与增强
PROJECT MOGFACE技术解析:深入理解LSTM在序列建模中的替代与增强 1. 引言 如果你在几年前接触过自然语言处理或者语音识别,那么“LSTM”这个词对你来说一定不陌生。它曾经是处理序列数据的黄金标准,从机器翻译到语音合成,几乎无…...
新手必看|SRC平台漏洞挖掘全攻略(2026干货版):平台详解+规则必记+实操步骤
新手必看|SRC平台漏洞挖掘全攻略(2026 干货版):平台详解规则必记实操步骤 对于网络安全新手、计算机相关专业学生,以及想转型安全领域的从业者而言,SRC平台是合法练手、积累实战经验、衔接职场的核心载体。…...
3大核心策略构建平台化电商生态:Lilishop多商户SaaS架构深度解析
3大核心策略构建平台化电商生态:Lilishop多商户SaaS架构深度解析 【免费下载链接】lilishop 商城 JAVA电商商城 多语言商城 uniapp商城 微服务商城 项目地址: https://gitcode.com/gh_mirrors/li/lilishop 在数字化转型浪潮中,平台化电商已成为企…...

