- 博客(207)
- 收藏
- 关注
原创 CSS
CSSCSS 简介CSS 基础选择器标签选择器类选择器id 选择器通配符选择器CSS 字体属性字体类型字体大小字体粗细字体样式字体复合属性CSS 文本属性文本颜色文本对齐文本装饰文本缩进行间距CSS 的引入方式内部样式表(嵌入式引入)行内样式表(行内式引入)外部样式表(链接式引入)Emmet 语法快速生成 HTML 结构语法快速生成 CSS 样式语法CSS 的复合选择器后代选择器子选择器并集选择器伪类选择器链接伪类选择器focus 伪类选择器CSS 的元素显示模式块元素行内元素行内块元素元素显示模式的转换C
2024-08-12 12:46:53
387
原创 网页的相关概念
HTML 指的是超文本标记语言(Hyper Text Markup Language),它是用来描述网页的一种语言。网页是构成网站的基本元素,通常由图片、链接、文字、声音、视频等元素组成。网页是由网页元素组成的,这些元素利用 html 标签描述出来,然后通过浏览器解析来显示给用户看。网站是指在因特网上根据一定的规则,使用 HTML 等制作的用于展示特定内容相关的网页集合。网页是网站中的一页,通常是 HTML 格式的文件,需通过浏览器来阅读。Web 标准主要包括结构、表现和行为三个方面,其中结构是最重要的。
2024-07-27 16:33:28
345
原创 排序算法
内部排序:指将需要处理的所有数据都加载到内部存储器中进行排序外部排序:数据量过大,无法全部加载到内存中,需要借助外部存储进行排序一个算法花费的时间与算法中语句的执行次数成正比,对算法的时间频度Tn就得到了算法的时间复杂度Ofn)),比如Tn3n27n6=>On2O1Olog2nOnOnlog2nOn2On3OnkO2n一个小技巧是记住下面的典型代码结构,就可以快速判断一段代码的时间复杂度。1.常数阶O。
2024-07-16 15:49:57
996
原创 人工智能发展史
这个模型与麦卡洛克和皮茨设计的简单神经元模型基本相同,只是对输入信号的权重进行了些许调整,权重值可以在-1到1之间浮动,此外它的阈值也是可以调整的。这个模型把真实神经元的工作方式在极大程度上进行了简化:每个人工神经元都会接受几个输入信号(用二进制表示,1代表输入,0代表没有输入),总输入信号是这几个信号的加权(乘上1或是-1)再求和。如果把这些单独的人工神经元用正确的方法连接起来,即上游神经元的输出值可以作为下游神经元的输入值的话,即便这些神经元的功能极为简单,它们也可以像简单的逻辑电路一样工作。
2024-07-09 20:20:06
268
原创 知识点杂记
但是在类中,以双下划线开头的变量、函数会触发名称改编,以避免子类对基类中私有成员的直接访问,因此在外部调用时需使用。实例方法是最常用的方法类型,至少接受一个名为 self 的参数,代表类实例本身。以单下划线开头的变量、函数、类在名义上都属于私有,即建议我们不要在作用域外部去调用,但并没有强制规定,依然可以在作用域外部调用。,用于判断某个表达式的值是否为 True,如果为 True,则程序继续运行, 否则程序停止运行,并抛出。类方法可以在不创建类实例的情况下被调用,并且可以访问类属性和类方法。
2024-06-28 10:55:34
761
1
原创 YOLOv1 中的一些计算
非极大值抑制的思想很简单,对于某一类别目标的所有边界框,先挑选出得分最高的边界框,再依次计算其他边界框与这个得分最高的边界框的 IoU,超过设定的 IoU 阈值的边界框则被认为是重复检测,将其剔除。但 YOLOv1 并没有采取如此简单的做法,YOLOv1 不仅希望边界框的置信度能够表征网格是否包含目标中心点,同时也希望边界框的置信度能表征所预测的边界框的定位精度。损失函数的第三、四行,计算的是置信度损失,第三行表示的是正样本的置信度损失,第四行表示的是负样本的置信度损失,它们俩不会同时计算;
2024-06-27 17:57:52
986
原创 在 Visual Studio 2022 中配置 OpenCV
打开系统属性窗口 -> 高级 -> 环境变量 -> 在系统变量表中找到 Path 变量 -> 双击 Path -> 新建 -> 输入以下路径 -> 点击确定完成系统环境配置。环境配置完成后,可使用如下代码进行测试,验证 OpenCV 是否配置成功。最后,点击右下角的应用和确定,完成环境配置。右键项目名,然后点击属性,出现配置窗口。Win+R 打开运行窗口 -> 输入。
2024-06-11 12:03:08
338
1
原创 ResNet-18
由于第 2、3、4 个 layer 的第 1 个 block 会进行下采样,因此这些 block 的输入在进行残差连接时,会进行一次步长为 2 的 1*1 卷积,以保证进行残差连接的 block 输入在通道数和特征图大小方面都与输出一致。第 1 个 layer 没有下采样,其他 3 个 layer 中的第 1 个 block 的第 1 个卷积层会进行一次下采样(即 stride=2);此外,模型的第一个卷积层会进行一次下采样,并有一个最大池化层也会进行一次下采样;
2024-06-05 16:06:05
431
原创 *args 与 **kwargs
是一个特殊的语法,用于表示函数定义或调用时的可变参数列表(variable argument list)。这里的星号(*)表示 “任意数量”,而。是 “arguments”(参数)的缩写。在函数调用时,可以通过 * 操作符将序列(列表、元组、字符串等)中的元素解包为位置参数。时,它表示函数可以接受任意数量的关键字参数,并将它们作为字典接收。是一个常用的语法,用于表示函数调用时的关键字参数(keyword arguments)。时,它允许你传递任意数量的命名参数,这些参数在函数内部可以作为一个字典来访问。
2024-06-03 15:58:00
253
1
原创 卷积神经网络中间层特征图的可视化
如果 PIL Image 属于 (L, LA, P, I, F, RGB, YCbCr, RGBA, CMYK, 1) 中的一种图像类型,或者 numpy.ndarray 的数据类型是 np.uint8,则将像素值从 [0, 255] 归一化到 [0.0, 1.0],这是通过将每个像素值除以 255 来实现的;图片经过 ReLU 层后,得到的特征图大小为:torch.Size([1, 8, 960, 960])图片经过卷积层后,得到的特征图大小为:torch.Size([1, 8, 960, 960])
2024-05-21 15:39:03
364
原创 YOLOv1~YOLOv9
表征能力更强的 RepBi-PAN Neck 网络有效的多尺度特征融合网络对目标检测的效果尤为关键。特征金字塔网络(FPN)通过自上而下的路径融合来自主干网络不同 Stage 的输出特征,以弥补网络学习过程中目标位置信息的损失。鉴于单向信息流传输的局限性,PANet 在 FPN 之上添加了一个额外的自底向上路径。BiFPN 为不同的输入特征引入了可学习的权重,并简化了 PAN 以实现更好的性能和更高的效率。PRB-FPN 通过具有双向融合的并行残差 FPN 结构来保留高质量的特征,以进行准确定位。
2024-05-17 12:02:55
839
3
原创 gst-play-1.0
在使用 gst-play-1.0 之前,确保你的系统已经安装了 GStreamer 1.0 库及其插件。如果你在使用 gst-play-1.0 时遇到问题,可能需要安装额外的 GStreamer 插件。gst-play-1.0 是 GStreamer 多媒体框架中的一个命令行工具,用于播放多媒体文件。gst-play-1.0 命令提供了多种选项来自定义播放行为,如指定播放元件、调整音量、循环播放等。此外,GStreamer 社区提供了大量的文档和插件,可以帮助你解决各种多媒体处理的问题。
2024-04-29 15:42:51
381
2
原创 pacmd
pacmd 提供了丰富的命令和选项,可以用于各种复杂的音频管理任务。此外,不同的 PulseAudio 版本可能会有不同的命令和选项,因此在使用时请参考相应版本的 PulseAudio 文档。PulseAudio 是一个跨平台的、开源的音频系统,为音频设备提供了高级的声学功能,如音频流的路由、混音、同步等。查看音频流信息:查看当前活动的音频流和它们的属性。日志级别:设置 PulseAudio 的日志级别。配置音频设备:修改音频设备配置,如设置默认设备。列出音频设备:显示所有已识别的音频设备。
2024-04-29 15:34:46
279
2
原创 开发板登录方式及文件传输
(secure copy)是一个在 Linux 和 Unix 系统中用于安全文件传输的命令行工具,它使用 SSH(Secure Shell)协议来加密数据传输,确保数据传输的安全性。如果需要,SecureCRT 还支持其他文件传输协议,如 ASCII、Xmodem、Ymodem,但 Zmodem 通常是推荐的选择,因为它提供了更快的速度和断点续传功能。之前,确保开发板和 PC 之间的网络是互通的,并且 SSH 服务在开发板上已经启动。命令,这些命令支持 Zmodem 协议,可以实现文件的上传和下载。
2024-04-29 15:06:03
1227
原创 指针和引用的区别
指针可以是空值(nullptr),表示指针不指向任何有效的内存地址,指针在声明时可以不初始化。引用不能为空值,在声明时必须初始化,并且始终指向一个有效的对象。多个指针变量可以指向同一个变量的内存地址。一个变量可以有多个引用,但一个引用只能引用一个变量,引用了就不能变。指针可以在运行时重新赋值,使其指向不同的对象。引用在绑定后不能改变绑定的对象。引用使用起来相较于指针更安全。
2024-04-15 18:15:07
496
原创 生成器、迭代器、装饰器
send() 可以和 next() 一样用来生成值(即调用 send() 时会从生成器对象中生成值),还可以往生成器内部传递数据,会把数据传递给 yield 前面的变量;装饰器本质上是一个函数,它可以接收一个函数作为参数,并返回一个新的函数。生成器是 Python 中一种特殊的迭代器,它不需要一次性将所有值都生成出来,而是可以在需要时逐个生成值,从而节省内存空间,生成器在处理大量数据或需要延迟生成的数据时非常有用。方法的类,它可以像函数一样被调用,并且可以接受一个函数作为参数,返回一个新的函数。
2024-04-15 16:17:30
739
原创 __init__.py 的作用
初始化包:__ init __.py 文件可以包含初始化代码,当包被导入时,这些代码会被执行。指示包含该文件的目录是一个 Python 包:当 Python 导入一个包时,会查找该包所在目录下是否包含 __ init __.py 文件,如果存在,则将该目录视为一个包。方便包的管理:__ init __.py 文件可以包含一些与包相关的元数据信息,或者提供一些方便包使用者的接口。控制包的导入行为:通过在 __ init __.py 文件中定义 __ all __ 变量,可以控制在使用。
2024-03-25 14:11:28
679
原创 最小二乘法
在普通最小二乘法中,所有数据点的残差平方和被视为同等重要,而在加权最小二乘法中,可以根据实际情况为每个数据点赋予适当的权重。通常情况下,权重是根据数据点的方差或其他可靠度指标来确定的,较可靠的数据点会被赋予较高的权重,而较不可靠的数据点会被赋予较低的权重。其中,y 是因变量,x 是自变量,β0 和 β1 是待估计的回归系数,ε 是误差项。偏最小二乘法的优点在于可以减少自变量的维度,降低共线性对回归系数估计的影响,同时考虑到自变量和因变量之间的相关性,因此在一些复杂的数据分析问题中具有很好的表现。
2024-03-14 11:22:41
1054
原创 特征选择
一个数据集中的特征数过多,一方面会增加模型的复杂度,另一方也会引入更多的噪声数据,使模型更容易学到噪声,增大发生过拟合的风险。所以变量(特征)过多时,需要从原始特征中选择出一些最有效的特征以降低数据维度,从而减少模型复杂度,并有效提高模型性能。特征选择是机器学习和数据挖掘中的一个重要步骤,目的是从原始特征集合中选择出最具有预测能力和解释性的特征子集。
2024-01-29 15:47:41
1025
原创 样本均衡
SMOTE(Synthetic Minority Over-sampling Technique)过采样的核心在于生成样本,即在少数类样本之间进行插值(线性插值)来产生额外的样本,进而补充那些数据量少的样本,使得不同标签的样本量达到均衡。SMOTE+ENN 是过采样与欠采样相结合的方法,SMOTE 算法的缺点是生成的少数类样本容易与周围的多数类样本产生重叠并难以分类,而数据清洗技术恰好可以处理掉重叠样本。NearMiss 算法的基本思想是选择多数类样本中与少数类样本最接近的样本,从而减少多数类样本的数量。
2024-01-29 11:54:10
1156
原创 数据变换
举例来说,假设我们有一个包含房屋价格的数据集,通常情况下,房屋价格是右偏分布的,即大部分房价集中在较低的范围内,但存在少量极高的房价。傅里叶变换将一个复杂的时域信号拆解成若干个简单的频域信号,每个频域信号都对应着输入信号中不同的频率成分,并给出了该频率成分的权重和相位信息。异方差性(Heteroscedasticity)是指在回归分析中,随着自变量的变化,因变量的方差不是常数,而是具有一定的变化趋势。因为回归模型的基本假设之一是误差项的方差是恒定的,如果出现异方差性,那么这个假设就不再成立了。
2024-01-29 11:01:21
918
原创 KNN 回归
它的基本思想是通过找到与给定测试样本最近的 K 个训练样本,并使用它们的输出值来预测测试样本的输出。这一算法对于有很多特征(几百或更多)的数据集往往效果不好,对于大多数特征的大多数取值都为 0 的数据集(所谓的稀疏数据集)来说,这一算法的效果尤其不好。K 近邻回归算法的基本思想就是,在给定一个新的数据点,它的输出值由其 K 个最近邻数据点的输出值的平均值(或加权平均值)来预测。的取值范围在 0 到 1 之间,越接近 1 表示模型对数据的拟合越好,即模型能够解释更多的因变量的方差。为实际观测值的均值。
2024-01-04 15:08:55
1065
原创 KNN 分类(选择最佳的 K 值,并可视化模型精度与 n_neighbors 的关系)
【代码】KNN 分类(选择最佳的 K 值,并可视化模型精度与 n_neighbors 的关系)
2024-01-04 13:58:58
685
原创 进程
进程是动态的,而进程实体(进程映像)是静态的,可以理解成进程实体是进程在运行过程中的一个快照。因此,上述进程的组成更准确的说是进程实体(进程映像)的组成。如果我们同时打开三个 QQ 聊天软件,则会对于三个 QQ 进程,它们的 PCB、数据段各不相同,但程序段的内容都是相同的(都运行着相同的 QQ 程序)。进程控制的主要作用是对系统中的所有进程实施有效的管理,它具有创建新进程、撤销已有进程、实现进程状态转换等功能。PCB 是给操作系统用的,而程序段和数据段是给进程自己用的,与进程自身的运行逻辑有关。
2023-12-28 17:52:10
932
原创 机器学习概述(一)
此外,当数据中存在异常值时,斯皮尔曼相关系数的计算结果会更加稳健。斯皮尔曼相关系数(spearman correlation coefficient),衡量两个变量之间的单调关系强度的非参数统计指标,取值范围为 [-1, 1],-1 表示完全负相关,1 表示完全正相关,0 表示无相关性。皮尔逊相关系数( pearson correlation coefficient),衡量了两个变量(特征)之间的线性相关程度,取值范围为 [-1, 1],-1 表示完全负相关,1 表示完全正相关,0 表示无相关性。
2023-12-27 17:55:45
1234
原创 SVM —— 代码实现
SMO 算法的实现步骤:代码如下:为什么要使用核技巧呢?假设二维平面上存在若干点,其中点集 A 服从 {x,y∣x2+y2=1}\left \{x, y|x^2 + y^2 = 1 \right \}{x,y∣x2+y2=1},点集 B 服从 {x,y∣x2+y2=9}\left \{x, y|x^2 + y^2 = 9 \right \}{x,y∣x2+y2=9},它们在平面上的分布如下图所示:蓝色为点集 A,红色为点集 B,它们在二维平面中并不线性可分。如果采用映射的方法,将 (x,y)→(x,y,x
2023-12-22 16:45:34
2125
2
原创 SVM —— 理论推导
SVM支持向量线性可分最大间隔超平面最大间隔超平面的推导支持向量分类间隔的推导最优化问题对偶问题拉格朗日乘子法强对偶性SVM 优化软间隔解决问题优化目标及求解核函数线性不可分核函数的作用常见核函数SVM 算法优缺点支持向量机(Support Vector Machine,SVM)是一种常用的监督学习算法,主要用于分类和回归任务。它的核心思想是找到一个最优的超平面或者曲面,将不同类别的样本点分开。在二分类问题中,SVM 试图找到一个超平面来将两个类别的样本点分隔开,并使得两个类别距离超平面的最小间隔最大化
2023-12-19 20:28:36
1432
原创 朴素贝叶斯
朴素贝叶斯算法是一种基于贝叶斯定理的有监督的机器学习算法,解决的是分类问题,如文本分类、垃圾邮件过滤、客户是否流失,是否值得投资、信用等级评定等领域,并在实际应用中表现出良好的性能。该算法简单易懂,学习效率高,在某些领域的分类问题中能够与决策树、神经网络等算法相媲美。但由于该算法以自变量之间的独立(假设特征之间相互独立)性和连续变量的正态性假设为前提,就会导致算法精度在某种程度上受影响。总体来说,朴素贝叶斯算法简单易懂,计算效率高,对小规模的数据集表现良好,但在处理特征之间相关性较强的情况下可能表现不佳。
2023-12-05 16:20:05
143
原创 决策树算法
决策树(Decision Tree)是一种常用的机器学习算法,它通过对数据集进行分割来实现分类或回归。决策树的基本思想是,将数据集分成许多小的子集,直到每个子集都变成纯的单一类别或满足某个停止条件。决策树由节点和边组成,其中节点分为两种类型:内部节点和叶子节点。内部节点表示一个特征或属性,边表示该特征的取值。叶子节点表示一个类别或数值。决策树从根节点开始,沿着每个节点的边逐步向下,直到达到叶子节点,然后根据叶子节点的类别或数值进行预测。构建决策树的过程可以分为两个阶段:树的生成和树的剪枝。
2023-11-30 10:40:37
142
1
原创 K 最近邻算法
K 最近邻(K-NearestNeighbor,KNN)算法,是 1967 年由 Cover T 和 Hart P 提出的一种用于分类与回归的方法。基本原理:存在一个带标签的数据集(也称为训练集),数据集中的每一个样本与所属标签一一对应。当输入新的不带标签的样本数据(预测数据)时,新的样本数据的每个特征会与训练集中每个样本的对应特征进行相似度计算,最后提取与预测样本最相似的训练样本的标签。一般而言,我们会选择训练集中前 K 个最相似的样本数据,这就是 K 最近邻算法。
2023-11-27 15:48:44
189
原创 回归算法优化过程推导
它的基本思想是通过迭代的方式,沿着目标函数的负梯度方向逐步更新参数,以逐渐接近最优解。其中,工资和年龄是模型构建时的两个特征,额度是模型输出的目标值。一个常规的思路是,我们喂给机器一堆数据,然后告诉它该用什么样的方式学习,并让它朝着这个方向去做(目标/损失函数),每一次学习一点,经过多次迭代优化后,最终收敛至一个稳定的状态。,也许是一个比较难的事,但如果能把乘法转换成加法,对于参数的求解可能就容易了许多。其中,在各个样本都符合独立同分布的情况下,联合概率密度就等于各样本概率密度的乘积,因此这里用了累乘。
2023-11-22 19:22:30
687
原创 线性回归
简单地说,Lasso 可以自动地从所有的特征中找出对目标变量最重要的特征,并将其它特征的系数缩小或压缩为零,从而实现模型的稀疏性。线性模型的另一个优点在于,利用我们之间见过的用于回归和分类的公式,理解如何进行预测是相对比较容易的。alpha 值变小,我们可以拟合一个更复杂的模型,但如果把 alpha 设得太小,那么就会消除正则化的效果,并出现过拟合,得到与 LinearRegression 类似的结果。通过引入正则化项,岭回归可以在最小化残差平方和的同时,限制参数的大小,从而降低了过拟合的风险。
2023-11-16 11:09:12
130
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人