自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(86)
  • 收藏
  • 关注

原创 9个例子看懂kalman滤波5大方程

kalman滤波算法是一个在存在不确定性的情况下对系统状态进行估计和预测的强大工具,被广泛应用在诸如目标跟踪、导航和控制等应用场景中。

2024-02-21 20:49:42 1000

原创 李宏毅机器学习笔记-半监督学习

半监督学习,一般应用于少量带标签的数据(数量R)和大量未带标签数据的场景(数量U),一般来说,U>>R。半监督学习一般可以分为2种情况,一种是,这种情况下,将的feature利用进来。另外一种是,这种情况下,在训练的整个过程中,完全不看任何的信息。为什么要做呢,因为我们现实中大多数情况下,搜集数据比较容易,但是数据标注比较困难。包括我们的人生中,我们自己也是一直在做为什么会有用呢,因为可以告诉我们一些信息。通常,我们在做时,会做出一些假设,这个假设很关键,会影响最后的结果。

2023-10-18 00:51:25 661

原创 python如何训练和保存模型

1、ANN模型2、普通机器学习模型

2023-10-17 00:45:03 372

原创 李宏毅机器学习笔记-transformer

transformer是什么呢?是一个seq2seq的model。具体应用如上图所示,输入和输出的序列长度不固定,由model自己决定。语音翻译指的是,直接输入一段语音信号,例如英文,输出的直接是翻译之后的中文。seq2seq如今已经是一个应用非常广泛的模型,可以应用于NLP的各种任务,如语义分析,语义分类,聊天机器人等。另外还有个值得说明的功能是做。。和是完全不一样的,一个是多分类,另一个是一个样本可以有多个标签。但是多标签的问题,可以用seq2seq模型来解决。

2023-09-23 21:20:39 409

原创 李宏毅深度学习self-attentin学习笔记

注意力的本质思想就是说,考虑上下文的输入对当前的输入的影响,然后就和人的注意力一样,将重点放在部分输入上,值得被注意的、更为相关的输入会被分配更大的权重,也意味着更被重视。使用复杂的方式的原因在于,方法不固定,就可以利用计算结果,利用梯度下降法求出比最简单的方式可能效果更好的一种方法。接下来,我们自然会思考,在self-attention中,如何自动决定两个向量之间的相关系数为多少呢,如何自动决定2个变量之间的关联性呢。而是一次性同时被算出来的。当然,这里的输入也可以不是输入向量,而是中间层的隐藏向量。

2023-09-10 09:47:24 360

原创 matlab如何遍历文件夹及子文件夹下的所有文件

有一个比较深层的文件夹,每个文件夹及其子文件夹下都可能存在我所需要的csv文件,写一个函数,输入文件夹路径后可以返回所有符合要求的csv文件。

2023-09-07 20:33:59 2161

原创 李宏毅机器学习笔记:RNN循环神经网络

第3个输入为[2,2],结合前一个memory的输入为[6,6],这个时候hidden layer的输出为[16,16],output为[32,32]。这个时候结合前一个memory的输出[2,2],hdden layer的输出为[6,6],output为[12,12]。举例来说,我们输入的第一个向量为[1,1],则hidden layer的输出为[2,2],先被储存起来,输出为[4,4]。这样,将词汇向量化之后,我们指导,网络的输入为一个个的词汇向量,网络的输出则为:y1表示词汇属于。

2023-09-03 16:17:14 1270 1

原创 李宏毅机器学习笔记:结构学习,HMM,CRF

而在给定词性为动词V的条件下,该单词为单词a的概率为0.5,为单词c的概率为0.5。图片表示,开始start后面接的词为PN的概率是0.4,接动词V的概率是0.1,接定冠词D的概率是0.5。类似地,在词性结构已经是PN V D N的第一步的基础上,生成的句子为 John saw the saw的概率为0.2。词性s的单词为特定单词t的概率则为训练数据中所有单词为t且词性属于s的次数除以词性s出现的总次数。现在我们假设出现了该种场景,第一个单词为N,后一个单词为a,求后一个单词的词性预测。

2023-08-22 00:48:23 363

原创 python生成exe脚本全过程

python中要定义属于自己的GUI界面,所用的第三方库为tkinter总体代码框架是这样的# 使用mainloop()函数循环运行GUI界面中所定义好的功能。

2023-08-10 00:32:01 553

原创 如何将本地的conda算法库打包到无网络的服务器用于部署

【代码】如何将本地的conda算法库打包到无网络的服务器用于部署。

2023-08-05 18:02:10 709

原创 深度学习调参入门

在上述示例中,我们首先创建了一个优化器 optimizer,使用随机梯度下降(SGD)算法,并设置初始学习率为 0.1。假设说我要定义一个输入为3,输出为5维的ANN模型用来做分类,3x20x5的网络结构,可以这样做。例如,如果 step_size=5,则每训练 5 个 epoch,学习率会调整一次。第二种,只将训练集进行标准化,默认测试集与训练集同分布,均值标准差一致,只对测试集进行转换。表示学习率缩放因子,即每次调整学习率时,将当前学习率乘以。,则每次学习率调整时,学习率会变为原来的 0.1 倍。

2023-08-05 17:56:27 706

原创 python入门常用操作

在 Python 中,f-string 是一种字符串格式化的方式,它允许直接在字符串前面添加 f 前缀,并在字符串中使用表达式来插入变量的值。使用 f-string 可以更加简洁和直观地构建字符串。注意,这里双引号可以换成单引号。在Python中,单引号和双引号在绝大部分情况下毫无区别。例如一个5列的ndarry数组,想要获取第2列和第3列数据,可以用。python中似乎没有自带均值滤波函数,自己写一个。因此,如果想表示数组最后1列。

2023-08-05 17:18:04 163

原创 if __name__ == ‘__main__‘:用法

_main__函数的作用是:当我们直接运行这个脚本文件时,可以直接执行其中的某些代码;当我们将该脚本文件当作模块导入到其他脚本文件中时,__main__函数就不会执行,因为在导入时只是将其中的代码抽离成模块,供其他脚本文件使用。在Python中,__main__函数是一个特殊的函数,它是程序的入口点。它是在每个Python脚本文件中自动执行的,用来处理程序的执行流程。’:语句可以判断是否是直接执行脚本,如果是,那么就执行main()函数中的代码。,当脚本被当做模块导入时,它的值为模块的名字。

2023-06-08 09:02:58 308

原创 conda部署深度学习环境

conda部署深度学习环境。

2023-06-05 16:20:44 105

原创 Wilconxon秩和检验:t检验的替代

上篇文章已经讲过,当数据严重偏离正态时,t检验已经难以反映数据的实际情况。此时最常见的方法是采用的Wilconxon秩和检验代替。有人做过模拟统计,在数据满足正态性时,采用Wilconxon秩和检验的效率大约为t检验的95%,在数据不满足正态性要求的时候,Wilconxon秩和检验的效率则远高于t检验。

2023-05-16 22:31:35 356

原创 t检验前世今生

t检验是科研中非常常用的一种方法和手段,但是理解到位的人并不多,虽然这也不影响其使用。本文主要目的在于将与t检验有关的前前后后都讲明白。

2023-05-13 22:41:17 977

原创 如何将python的.py文件转换为exe可执行程序

通过conda或pip安装3个库。

2023-04-15 19:38:52 321

原创 MATLAB训练神经网络小结

一些matlab训练神经网络的小tips

2023-03-02 22:54:20 1131

原创 中值滤波、低通与高通滤波

首先给出结论,中值滤波,例如说设置窗长为5个点的均值滤波,属于低通滤波。这点很容易理解,假设窗长为无限长,原始信号就变为了直流分量,频率为0。因此,均值滤波属于低通滤波,中值滤波也是一样的道理。

2022-09-19 20:09:10 4739 1

原创 SVM的核函数详解

核函数进阶

2022-07-17 21:48:27 7611 1

原创 使用git拉取和上传修改简单教程

建立远程连接,如果提示远程origin已经存在,则直接将.git文件删除并重新。打开该文件夹,切换到该文件夹目录。,如果想值上传部分修改的文件,则。1、新建一个文件夹例如。才可切换分支,否则会出现。6、将修改好的文件进行。4、切换到对应的分支。...

2022-07-15 17:41:47 481

原创 MATLAB快捷打开文件夹并读取文件

一些即时记录的MATLAB小技巧

2022-06-12 17:55:02 7267

原创 python如何从txt文件中解析出有效的数据

1、 问题描述笔者所使用的的txt文件较为复杂,但是几乎所有的类似问题都可从中推演出来。笔者的txt文件有效信息格式如下====Start data collection label1====xxxxxxx #表示未知的中英文字符串xxx acc 0.1 0.2 0.3 xxxxxx gyro 0.4 0.5 0.6==== End data clooection xxx====xxxxxxx假设label1对应的标签是1,我们期望得到的csv文件是:0.1 0.2 0.3 0.4 0

2022-05-22 15:57:31 2399 1

原创 通俗理解时域采样与频域延拓

讲连续信号xa(t)x_{a}(t)xa​(t)与冲激串信号ps(t)p_{s}(t)ps​(t)相乘,即可得到离散时间信号x(n)x(n)x(n),因此,有如下公式:x(n)=xa(t)∣t=nTs=xa(t)ps(t)=xa(t)∑n=−∞∞δ(t−nTs)x(n)=x_{a}(t) |_{t=nT_{s}}=x_{a}(t)p_{s}(t)=x_{a}(t)\sum_{n=-\infty}^{\infty}\delta(t-nT_{s})x(n)=xa​(t)∣t=nTs​​=xa​(t)ps​

2022-05-21 21:29:34 4344 1

原创 数字频率、模拟频率、角频率的区别

背景我们都知道,正弦信号和复指数信号是信号处理中非常重要的2大工具。正弦序列定义为:x(n)=Acos(wn+φ)x(n)=Acos(wn+\varphi)x(n)=Acos(wn+φ)其中,A是幅度,w是数字频率,φ\varphiφ为初始相位。复指数序列定义为x(n)=Ae(α+jw)nx(n)=Ae^{(\alpha+jw)n}x(n)=Ae(α+jw)n其中,A为幅度,w为数字频率。理解设有一个正弦波$$$$...

2022-05-11 23:37:24 2996

原创 经典滤波器的设计原理

1、滤波器基础知识总的来说,滤波器可分为经典滤波器和现代滤波器两大类。经典滤波器是假定输入信号x(n)中的有用成分和希望去除的成分各自占有不同的频带。这样,当x(n)通过一个线性系统(滤波器)之后可以将欲去除的成分有效去除。如果信号和噪声的频谱相互重叠,那么经典滤波器将无能为力。现代滤波器的主要内容是从含有噪声的数据记录中估计出信号的某些特征或信号本身。一旦信号被估计出,那么利用它们的统计特征,如自相关函数、功率谱等,导出一套最佳的估值算法,所得到的估计信号的信噪比会比原信号更高。典型的现代滤波器是维纳

2022-05-10 23:30:05 10999

原创 自己动手实现fft.m函数

背景自己动手使用matlab实现fft.m函数知识回顾1、四种形式的Fourier变换首先,我们需要系统回忆一下4种形式的Fourier变换1、时域连续,周期信号x(t)=∑k=−∞∞X(kΩ0)ejkΩ0tx(t)=\sum_{k=-\infty}^{\infty}X(k\Omega_{0})e^{jk\Omega_{0}t}x(t)=k=−∞∑∞​X(kΩ0​)ejkΩ0​tX(kΩ0)=1T∫Tx(t)e−jkΩ0tdtX(k\Omega_{0})=\frac{1}{T}\int_

2022-05-08 16:52:56 1562

原创 matlab从txt文件中提取出有效信息

背景从一份txt文件中筛选出有效信息,txt文件有非常多行,依靠关键字筛选出有效行,并从行中提取有效信息。test.txt文件例如:aaa 1 2 3valid 0.1 0.2 0.3aaa 1 2 3valid 0.11 0.22 0.32我们的目的是要提取出valid后面的两行数据。实现解释一些函数fgetl用法,tline = fgetl(fileID),依次返回文件中的每一行,并删除换行符。regexp,匹配正则表达式。例如在本文中的用法是根据空格和逗号将一行进行切割。c

2022-05-07 16:58:34 2429

原创 Matlab中filter.m和filtfilt.m函数C语言实现

一些基础知识filter.m函数实现static void filter(const float* b, const float* a, const float*zi, const float* signal, const int signal_len, float* filter_result){ int i = 0; int j = 0; float state_signal[FILTER_LEN + 1] = { 0 }; float state_result[F

2022-04-05 17:02:33 4476 10

原创 gitlab使用教程

前言假设已经安装好了git,ssh,putty-gen等工具。问题描述:在使用gitlab时,需要从远程仓库中拉取工程,但每次都需要password。这个password每次输入都报错,经过一番摸索掌握了一个靠谱的方法。1、为本机设置name和emailname$ git config --global user.name "Your Name"$ git config --global user.email "email@example.com"2、将本地文件夹关联gitlab网址的项目gi

2022-03-28 19:41:47 7932

原创 C语言使用fscanf读取不同格式的txt文本

1、读取数字/*a.txt:1 2 3 0.42 3 4 0.5*/ code如下:# include <stdlib.h># include <stdio.h>int main(){ FILE* file; char path[] = "./a.txt"; file = fopen(path,"r"); int a, b, c; float d; while (fscanf(file, "%d %d %d %f",

2022-03-23 11:51:17 6922 5

原创 C语言调参小技巧

1、两个int型数相除时,如需保证最后的结果为小数,可在前面加(float)2、系统自带的函数如max min abs等是默认对于整数进行的,如果需要对浮点数进行这些运算,一般需要在末尾加f,或者使用自己编的程序。===不定期更新...

2022-02-18 17:03:57 396

原创 C语言将unix时间转换为本地系统时间

需求将unix时间戳(秒级)转换为系统时间。与网页保持一致。unix时间转换网页工具实现time_t unix_time =0;int aa = 1639037675;unix_time = aa;struct tm* time1;time1 = localtime(&unix_time);time1->tm_year = time1->tm_year + 1900;//时间校正time1->tm_mon += 1;...

2022-02-14 17:25:27 626

原创 C语言结构体数组实现python二维列表功能

需求需要用到类似python二维列表的功能,查看了下C语言中可用结构体数组实现。一 结构体结构体类型的定义struct 结构体类型名{数据类型 成员名1;数据类型 成员名2;...数据类型 成员名3;};//例如,定义一个student的结构体类型:struct student{ long num; char name[20]; char sex; int age; char addr[30]; };//以上定义中,结构体类型student由5个成员名组成结构体变量

2022-02-09 21:41:18 1093

原创 C语言按行读取txt文件详解

需求按行读取txt文件,每一行由1个字符串和4个浮点型数据组成,如下图所示://data.txtchina 0.1 0.2 0.3 0.4japan 0.1 0.2 0.3 0.4代码#include<stdlib.h>#include<stdio.h>int main(){ FILE *fp; char str[24]; float a,b,c,d; fp = fopen("./data.txt", "r"); int cnt = 0; //这

2022-02-07 19:49:49 7578

原创 matlab如何将字符数组一行一行写入到txt文件中

新建空文本文件test.txt以‘a+’方式打开该txt文件使用fprintf函数一行一行写入该文本文件,需要在每一行末尾加’\r\n’

2021-12-28 19:56:57 10162 2

原创 离散时间信号的傅里叶表示

前言

2021-11-26 20:40:39 566

原创 手推Logistic Regression及matlab的底层实现

前言Logistic Regression,也称为LR,逻辑斯蒂回归。虽然名称中有回归二字,但实际上是一种二分类算法。注意,适用范围仅仅是二分类。公式推导假设数据集x1,x2,...,xnx^{1},x^{2},...,x^{n}x1,x2,...,xn,分别属于类别C1,C2{C_{1},C_{2}}C1​,C2​,将类别C1对应标签1,类别C2对应标签0。fw,b(x)=Pw,b(C1∣x)f_{w,b}(x)=P_{w,b}(C_{1}|x)fw,b​(x)=Pw,b​(C1​∣x)表示给定w

2021-11-08 21:54:35 736 1

原创 连续时间傅里叶变换

讲述之前,我们先回顾一下什么是傅里叶级数。傅里叶级数综合方程:合成方程:x(t)=∑k=−∞+∞akejkw0tx(t)=\sum_{k=-\infty}^{+\infty} a_{k}e^{jkw_{0}t}x(t)=k=−∞∑+∞​ak​ejkw0​t分析方程:ak=1T0∫T0x(t)e−jkw0tdta_{k}=\frac{1}{T_{0}}\int _{T_{0}}x(t)e^{-jkw_{0}t}dtak​=T0​1​∫T0​​x(t)e−jkw0​tdt一个周期信号可以分解

2021-11-06 16:07:48 1288

原创 连续时间傅里叶变换

与卷积不同的是,我们考虑将信号分解为复指数的线性组合。ϕk(t)=eskt,sk为复数\phi _{k}(t)=e^{s_{k}t} , sk为复数ϕk​(t)=esk​t,sk为复数ϕk[n]=zkn,zk为复数\phi _{k}[n]=z_{k}^{n}, zk为复数ϕk​[n]=zkn​,zk为复数我们选择的输入,也就是基本构建模块,必须满足两个属性。一是系统响应可直接计算,或在某种程度上便于计算。第二是这种模块非常普遍,这样就可以用他们来构建很多种信号。复指数信号模块刚好满足这两种形

2021-11-06 10:28:12 1283

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除