- 博客(29)
- 收藏
- 关注
原创 中华心法问答系统的解读(1)
①整体框架主要采用了Flask框架技术,用于前后端之间数据传输;②语义理解主要是采用BERT模型,用于计算问句的语义向量;③相似度匹配是用混合检索技术,主要是用于计算问句的相似度。模块功能技术举例说明动态校准策略强化高相似度区域划分域区分 BERT余弦 + Sigmoid + 加权补偿将 0.88、0.90、0.93 差异拉大关键词增强机制弥补语义遗漏关键词问题jieba分词+TF-IDF共现{“修炼”, “内功”} 与 {“内功”, “吐纳”} 匹配1个关键词,权重0.5。
2025-07-13 19:31:13
796
原创 脑电分析入门指南:信号处理、特征提取与机器学习
原理:(时域)均值、方差、峰度、Hjorth参数等;(频域)功率谱密度(PSD)、频段能量(如α、β、θ波);原理:(传统方法)SVM、KNN、RF、LDA、XGBoost;应对方法:使用滤波器(如带通0.5-45HZ),独立成分分析(ICA)、ASR等方法清伪迹。例如:情绪识别、疾病诊断(如癫痫发作检测)、人机交互控制信号提取、注意力或疲劳检测。应对方法:特征选择、降维(PCA、LDA)、轻量网络(如:EEGNet)应对方法:使用数据增强、交叉验证、正则化、Dropout、预训练模型。
2025-07-09 22:06:43
681
原创 机器学习——主成分分析PCA
主成分分析(Principal Component Analysis,PCA)是一种常用的数据降维方法。它通过线性变换将原始数据变换到一个新的坐标系中,使得第一个坐标(第一主成分)具有最大的方差,第二个坐标(第二主成分)具有次大的方差,以此类推。PCA的目的是从高维数据中提取出最重要的特征,通过保留最重要的主成分来实现数据的降维,同时尽可能保留原始数据的结构。数据的方差被最大化,这意味着我们将保留尽可能多的原始数据信息。
2025-06-03 20:18:29
1043
原创 机器学习——支持向量机SVM
支持向量机(SVM) 是一类按监督学习方式对数据进行二元分类的广义线性分类器,其决策边界是对学习样本求解的最大边距超平面,可以将问题化为一个求解凸二次规划的问题。与逻辑回归和神经网络相比,支持向量机在学习复杂的非线性方程时提供了一种更为清晰、更加强大的方式。具体来说:在线性可分时,在原空间寻找两类样本的最优分类超平面。在线性不可分时,加入松驰变量并通过使用非线性映射将低维度输入空间的样本映射到高维度空间,使其变成线性可分,这样就可以在该特征空间中寻找最优分类超平面。✅ 优点(1)效果好,尤其在小样本情况下
2025-05-25 17:48:29
1098
原创 数据库6——综合实验-水果商店进阶一
在实验过程中,通过设计触发器实现了订单详情表 orderitems 与总订单表 orders 的数据自动同步,包括插入、修改、删除时对总价与应付金额的自动更新。通过本实验,我不仅加深了对SQL语言中触发器和存储过程的理解,而且掌握了数据库中实现业务逻辑自动化的一种有效方式,提高了数据一致性控制的能力和调试分析复杂SQL问题的技巧。原因分析:orderitems.o_num 是外键,引用 orders.o_num,但插入的数据中使用了一个在 orders 表中尚未存在的订单号(例如 50010)。
2025-05-24 23:03:22
754
原创 数据库5——审计及触发器
此外,我也掌握了USER() 和 CURRENT_USER() 两个函数的区别,了解到USER()更适合记录当前执行操作的实际用户,而CURRENT_USER()则表示触发器定义者的身份,这对于审计场景尤为重要。其次,在自动更新库存数量的部分,通过触发器实现了在修改订单时同步更新fruits表中的quantity字段,这让我更加清晰地理解了OLD和NEW关键字的用法,即在触发器中获取被修改记录的旧值和新值。这部分内容不仅锻炼了我对数据逻辑的理解能力,也提升了我处理数据一致性的思维方式。
2025-05-22 22:59:49
1125
原创 数据库4——存储过程及游标
原因分析:游标的使用依赖于逐行提取数据的机制。要求:id字段自动增加,u_id 字段即客户或供货商的编号,pwd字段用AES_ENCRYPT函数加密,密码统一设置为用户编号u_id的值连接123456(如在当前表中u_id为10001,则其密码是10001123456),密钥是’hello’;(2) 在使用游标进行数据处理时,若未在进入 WHILE 循环之前执行第一次 FETCH,或者未正确设置对 done 标志变量的判断,将导致循环体内部的数据尚未初始化,从而无法进入有效的迭代更新流程。
2025-05-20 17:01:41
754
原创 数据库3——视图及安全性
在实际设计中,不同角色的用户需要访问不同的数据内容,因此应根据角色类型创建相应的视图,从而实现数据访问的隔离和系统的安全保障。实际上,我们希望的是:客户只能看到自己的信息,供货商也只能看到自己的信息,而不是大家的信息都能查。测试要求:退出root帐号,重新登陆指定帐号,显示当前数据库中所有表,查看权限内某张表内的所有信息,对权限内某张表进行增、删、改、查操作并查看能否正确执行这些操作,如果执行错误请说明导致此错误的原因。商家销售工作人员用户:B001,任意主机地址,授权为销售工作人员角色的所有权限;
2025-05-17 22:06:13
788
原创 数据库2——查询
步骤:先向数据表orders表中插入两条记录(50010,当前时间,10000)和(50008,当前时间,10004),在orderitems表中插入五条记录(50010,1,b5,10,3.6)、(50010,2,b2,5,7.6)、(50010,3,t2,7,3.6)、(50008,1,b1,10,102)、(50008,2,b5,10,3.6);方案一:修改查询条件,查询购买了‘107’号供货商部分水果的用户,以提升查询结果的可用性。错误现象:多表连接查询时,返回的结果不符合预期,或者返回空结果。
2025-05-15 23:31:09
1026
原创 学习笔记13——ros2
Lambda表达式给我的最大感受是:灵活而强大。通过编写Lambda相关代码并配置CMakeLists.txt,再使用colcon build编译和运行ROS2节点,我对其语法结构和使用方式有了更深入的理解。这种“写完就能立即用”的函数形式,让我在处理一些小规模的逻辑处理时感到非常顺手,省去了大量样板代码的书写,也让我对现代C++产生了更浓厚的兴趣。总的来说,这次的学习让我不仅掌握了C++的新特性,也更深刻地体会到现代C++的简洁性与表达能力,并增强了我将其应用于实际项目中的信心。
2025-05-10 00:01:09
330
原创 机器学习——逻辑回归
线性回归利用大量的样本xiyii1Nxiyii1N,通过有监督的学习,学习到由x到y的映射f,利用该映射关系对未知的数据进行预估,因为y为连续值,所以是回归问题。单变量情况多变量情况:二维空间的直线,转化为高维空间的平面线性回归的表达式假设函数线性回归的假设函数优化方法监督学习的优化方法=损失函数+对损失函数的优化损失函数如何衡量已有的参数θ\thetaθ的好坏?
2025-05-08 15:30:19
847
原创 学习笔记12——ros2
而在本次实验中,我通过 std::make_shared 创建共享指针,不仅简化了对象的创建过程,还能在多个对象共享同一内存资源的同时,自动完成资源释放。在实际的构建和运行过程中,通过配置 CMakeLists.txt 并使用 colcon build 进行编译,再通过 ros2 run 启动节点,我对 ROS2 的工作流程也有了更清晰的认知。智能指针的智能之处在于,它在记录指向这个内存地址的同时,它还会记录一下多少个资源引用了这个内存(即使用这个内存的资源数量,如果哪个资源不用了,记录的数量就会减一)
2025-05-06 23:19:23
771
原创 学习笔记11——ros2
使用 C++ 结合 ROS2 进行开发,更让我感受到工业级编程环境的严谨与复杂,相较于 Python,C++ 需要处理更多底层细节,这锻炼了我对代码结构、逻辑严密性的把控能力。在这个过程中,我第一次接触了 ROS2 的一些核心库,比如 #include “rclcpp/rclcpp.hpp”,而在配置这些头文件路径时,我也踩了一些坑,比如需要显式地将 opt/ros/humble/include/** 添加到配置中,这让我深刻体会到开发环境配置的重要性。这几天我使用了C++进行了编程实践。
2025-05-03 20:14:48
425
原创 学习笔记10——ros2
总体来说,这次实验增强了我对 Python 面向对象编程的理解,也提高了我的动手能力。在继承部分,我学习了如何基于已有类创建新的子类,并理解了继承可以提高代码复用性、让程序结构更加清晰。当我看到子类成功继承父类的属性和方法并能独立扩展功能时,我对面向对象的“可扩展性”有了更直观的认识。在这次的学习和实践中,我深入接触了面向对象编程(OOP)的基本概念,并使用 Python 进行了相关的编码练习。函数与方法的区别:方法是有类的参与的,即调用时要“类**.**方法”,而函数可以直接使用名字进行调用。
2025-05-01 15:29:05
270
原创 学习笔记9——ros2
此外,我还尝试了构建特定功能包的命令,如colcon build --packages-select demo_cpp_pkg,这对于大型项目中的调试与测试非常有帮助。整个构建过程非常清晰明了,但也让我意识到一些易忽略的细节:比如,必须先进入工作空间的目录才能执行构建命令,这种看似简单的规范如果忽略了会导致各种构建错误。通过调整构建顺序,将C++功能包作为Python功能包的依赖来构建,这种思维训练了我对模块关系的理解,也让我对系统整体构建流程有了更深入的认识。首先,工作空间的概念让我印象深刻。
2025-04-29 18:11:48
389
原创 学习笔记8——ros2
但是当我们下载好c++相关插件之后,#include "rclcpp/rclcpp.hpp"仍然会报错,是因为我们这个插件无法获取相关的路径,所有我们可以将鼠标放置在小黄灯笼那里,然后点击 编辑“includePath”设置,找到包含路径,将路径添加进去 /opt/ros/humble/include/** (记得按左上角的文件—保存)通过这次实验,我更加理解了为什么在实际工程中,小型项目、原型开发会优先使用Python,而在需要高性能、高稳定性的正式项目中则倾向于使用C++。(使用c++进行编写节点)
2025-04-26 18:29:50
716
原创 学习笔记7——ros2
每一次通过 nano 创建并编辑一个文件,再通过 cat 查看,最后用 rm 删除,我都能清楚地感受到对文件的每一步的变化。不同于 Windows 的磁盘划分,这种统一的目录结构让我对“路径”这个概念有了更深刻的认识。通过在虚拟机中成功安装 Ubuntu 22.04,并开始接触 Linux 终端,我第一次真正感受到了一个操作系统背后“命令行世界”的强大与高效。① pwd 用于查看当前终端的目录(Linux中有一个特殊的符号“斜杆/”,这个符号它代表整个文件系统,即整个系统的根目录)② cd 进入某个目录。
2025-04-24 22:50:48
261
原创 机器学习——朴素贝叶斯分类器
在朴素贝叶斯中,若某个属性值在训练集中没有与某个类同时出现过,则训练后的模型会出现 over-fitting 现象。比如 “敲声=清脆” 测试例,训练集中没有该样例,因此连乘式计算的概率值为0,无论其他属性上明显像好瓜,分类结果都是 “好瓜=否” ,这显然不合理。
2025-04-22 22:36:50
1061
原创 学习笔记6——ros2
随后我使用fishros的一键安装脚本成功安装了ROS2,这种便捷的安装方式大大提升了我的学习效率。②安装好Ubuntu22.04之后要进行ros2的安装,这里使用一个编辑的安装方式,直接在终端输入wget http://fishros.com/install -O fishros && .fishros即可自动进行安装。这几天开始接触ROS2,让我对机器人系统的通信机制有了初步的理解。这几天我开始着手进行ros2的学习,认识到了ros2就像人体的神经网络一样,其主要的功能是用于传递信息,进行通信。
2025-04-19 20:38:38
288
原创 学习笔记5——yoloV3
在_make_layer函数中我们首先进行了一个卷积和大小为3x3,然后步长为2x2的卷积,这样的卷积可以帮助我们对输入进来的特征层进行下采样,这个下采样会使我们输入进来的特征层,它的长和宽得到压缩,它的通道数会得到扩张。然后我们在进行这个网络的前向传播的时候(在forward里),我们会把它分为残差边(identity)和我们的主干边,也就是卷积边(relu,在里面进行两组卷积+标准化+激活函数),然后把两个结果进行相加。前几天通过学习了yoloV3的基本原理,理解其大致分为两个步骤,一个是通过。
2025-04-17 14:56:08
348
原创 学习笔记4——yoloV3
上面那张图片从下往上看,Darknet-53框最下部输出13x13x1024的图片进行7次卷积操作(白框5次卷积+红框2次卷积)之后,变成13x13x75的大小----->13x13x3x(20+1+4) 其中13x13表示化成13x13的网格,3表示3个先验框,20表示属于20个类中某个类的概率,1表示是否包括物体,4表示用4个数据对先验框进行调整。比如刚开始接触用四个参数确定框位置的时候,看着好像就 x 轴、y 轴坐标,再加上框的高和宽,感觉挺简单,可真要搞明白咋回事,对于初学者而言是有难度的。
2025-04-15 21:32:26
398
原创 数据库1——数据库和表
本次实验结合课本知识,我掌握了对数据库、表的创建及插入、更新、删除等操作,以及对数据库的备份和还原操作。2、向数据表fruits、customers、orderitems和suppliers、orders中插入给定的如下数据。解决方法:先创建主表,再创建外键表,并确保外键字段的类型匹配。(2) 表中没有明确指定外键,试分析找出各表中的外键并定义其外键约束、级联删除、级联更新操作;(1) 各表中的“字段说明”属性仅用于辅助说明该属性的含义,不用定义在表的结构中。– 创建 suppliers 表(供应商表)
2025-04-11 16:57:27
496
原创 机器学习——决策树
① 分类决策树模型是一种描述对实例进行分类的树形结构。决策树由结点和有向边组成。内部结点和叶结点。内部结点表示一个特征或属性,叶结点表示一个类。② 决策树是基于树结构来进行预测的。③ 决策过程中提出的每个判定问题都是对某个属性的“测试”。④ 每个决策的结果或是导出最终结论,或是导出进一步的判定问题,其考虑范围是在上次决策结果的限定范围之内。⑤ 从根节点到每个叶结点的路径对应了一个判定预测序列。如下图所示的决策树,长方形和椭圆形都是结点。
2025-04-09 22:57:28
993
原创 学习笔记3
学习 KNN 算法里的欧式距离和曼哈顿距离的时候,让我学会一种新的学习方法,使用类比的方式(比如:在刚看到曼哈顿距离的时候,会觉得公式枯燥无味且只知道死记硬背,但通过理解之后,发现其可以类似于城市街区中从一点到另一点只能沿着街道横竖行走所经过的路程,一下子就明白了,而且记忆深刻)。它计算的是在各个坐标轴上距离的总和,就如同在城市街区中从一点到另一点只能沿着街道横竖行走所经过的路程。欧式距离,作为最为人熟知的距离度量方式,其计算方式基于勾股定理的多维拓展,直观地反映了空间中两点的 “直线” 距离。
2025-04-07 23:03:58
267
原创 学习笔记2
掌握了move_base如何整合全局(A*/Dijkstra)与局部(DWA)路径规划,以及代价地图的分层机制(静态/障碍/膨胀层)。刚开始接触ROS导航避障的时候,面对庞大的ROS生态和零散的教程,我感到非常迷茫。网上资料虽然很多,但质量参差不齐,有的过于简单,有的又过于晦涩难懂,导致学习过程断断续续,效率低下。,里面较为详细系统地介绍了ROS的内容,还附带讲解视频,一步步引导我理解ROS导航的核心逻辑,现在我已经能在虚拟机上完成了导航避障的仿真实验(下图是仿真的效果图)。
2025-04-05 20:35:52
294
原创 学习笔记1
在学习yolov8的过程中,我最大的感受是上手快,但调优有点难。其中YOLOv8的API封装得很好,训练一个基础模型很快(几行代码就能跑起来),但想要达到更好的检测精度,需要深入理解数据、超参数和模型结构之间的关系,这对于初学者来说是比较困难的。且目标检测不同于纯理论的学习,数据质量、训练策略和部署优化都需要动手实验,不断调整。YOLOv8模型训练从数据准备开始,包括数据收集、标注和增强;最后将训练好的模型导出为部署格式并应用到实际场景中。最近正在学习YOLOv8模型的训练。
2025-04-02 22:22:31
202
原创 机器学习——基于KNN算法求PR曲线和ROC曲线
性能度量是对学习器的泛化性能进行评估,不仅需要有效可行的实验估计方法,还需要有衡量模型泛化能力的评价标准,这就是性能度量。# 生成数据# 划分训练集和测试集# 训练 KNN 模型# 预测概率# 计算 PR 曲线pr_auc = auc(recall[::-1], precision[::-1]) # 确保 recall 是单调递增的# 计算 ROC 曲线# 绘制 PR 曲线# 绘制 ROC 曲线plt.plot([0, 1], [0, 1], 'k--') # 对角线参考线# 显示图像。
2025-03-26 23:15:18
853
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人