- 博客(45)
- 资源 (1)
- 收藏
- 关注
原创 LeetCode “AddressSanitizer:heat-use-after-free on address“问题解决方法
heat-use-after-free : 访问堆上已经被释放的内存地址:同样代码在LeetCode上报错,但是自己在IDE手动打印并不会报错个人猜测,这个bug可能来源于LeetCode后台输出打印的代码逻辑问题。
2024-02-14 19:55:59 654
原创 算法导论 7.4-5
当输入数据已经“几乎有序”时,插入排序速度很快。在实际应用中,我们可以利用这一特点来提高快速排序的速度。当对一个长度小于k的子数组调用快速排序时,让它不做任何排序就返回。当上层的快速排序调用返回后,对整个数组运行插入排序来完成排序过程。试证明:这一排序算法的期望复杂度为O(nk+nlog(n/k))。分别从理论和实践的角度说明我们应该如何选择k?
2022-11-09 09:30:31 203
原创 算法导论 实验三 快速排序及其优化
当输入基本有序时,插入排序的运行速度很快。在实际应用中,我们可以利用这一特性来提高快速排序的速度。在对一个长度小于k的子数组调用快速排序时,让它不做任何操作就返回。当上层的快速排序调用返回后,再对整个数组运用插入排序来完成排序过程。
2022-11-08 23:47:04 566
原创 段错误,shm_open打开文件失败【经验总结及解决方法】
背景:使用共享内存来进行进程间的通信环境:ubuntu20.04,vscode,c++1.头文件的问题《操作系统概念》书中共享内存实现的代码中头文件使用的是<sys/shm.h>,可是当使用shm_open()以及mmap()等时报未定义符号的错误,编译的时候也已经加上了-lrt指令还是无效。将头文件改为<sys/mman.h>时解决。如下:2.执行时发生段错误,导致我的窗口程序异常退出后来发现原因在于共享内存文件创建失败,也就是shm_open()执行时未成功,返回-1
2022-05-09 09:20:23 3170
原创 Ubuntu20.04 VSCode 配置C++环境及GTK+配置【纯个人总结用】
目录背景一、Ubuntu20.04环境下安装VSCode以及配置C++环境二、安装GTK+以及在vscode中的配置三、最终解决方案直接看这里背景操作系统实验要求实现进程之间的通信,共享内存等要涉及到使用窗口程序的输入框的方法,可以使用Win32 API或者是POSIX API,由于Win32 API各种调用函数需要参入的参数特别多(查阅说是Win API很多参数是以前远古时代留下来的,有些可能没用了有些可能还有用,所以为了兼容,变的形式很丑),所以决定用POSIX标准来实现,这意味着需要在linux环
2022-05-03 13:16:37 5069
原创 计算机硬件基础实验1【汇编程序设计】
实验平台:虚拟仿真实验教学平台一.实验目的掌握虚拟实验平台微机原理及接口技术教学实验系统的操作,熟悉实验台的操作环境。掌握不同进制数及编码相互转换的程序设计方法。二.实验内容1、编写程序,将00~0FH共16个数写入内存3000H开始的连续16个存储单元中。2、编写程序,将内存3500H单元开始的8个数据复制到3600H单元开始的数据区中。3、编写程序,将ASCII字符串‘8A’转换成十六进制。(选做)三.实验原理1、(1)利用AX寄存器将数据段寄存器DS的值设为0,即数据段的段基址从0
2022-04-22 22:24:51 4896
原创 C++ 数组指针下标的理解【个人学习笔记用】
一、C++中传递参数的三种方法1. 直接按值传递形如: int fun1(int a){ printf(a); }该方法会在调用函数时把传入的参数copy一份后在函数中进行操作,不会影响到原来的参数。2. 指针(地址)传递形如:int fun1(int *a){ printf(*a);}将参数的地址(指针)传进来,函数的操作会直接影响到原参数。函数内部使用时候需要取值操作,如 *a3.引用传递形如:int fun1(int &a){ printf(a);}
2022-04-10 15:24:35 5239 2
原创 【个人学习用】利用随机森林学习调参总结
按照这个博主写的进行了学习,在文章的后半段开始有调参的过程,前半段为随机森林的基础知识。https://www.jianshu.com/p/8a2e4e2872c8数据集:sklearn自带的乳腺癌数据涉及内容:sklearn,随机森林,交叉验证与网格搜索,调参的方法## 用sklearn 自带的乳腺癌数据进行随机森林的调参学习## 调参先根据前人经验入手## 对于random forest来说一般调参是针对降低模型复杂度,因为大部分树类的模型,模型复杂度都很高,容易过拟合,准确度当然也高,但泛化
2022-02-14 16:00:49 1261
原创 机器学习之交叉验证(sklearn相关)【个人总结用】
定义及使用的原因:提交叉验证之前,先说一下验证集。一般,验证集用来调参。调参是针对超参数来说的,比如SVM的超参数C。验证集设置的原因:When evaluating different settings ( hyperparameters ) for estimators, such as the C setting that must be manually set for an SVM, there is still a risk of overfitting on the test set
2022-02-11 00:28:01 1721
原创 偏差,残差,方差在机器学习中的区别
1.偏差与方差的区别定义偏差(bias):偏差衡量了模型的预测值与实际值之间的偏离关系。通常在深度学习中,我们每一次训练迭代出来的新模型,都会拿训练数据进行预测,偏差就反应在预测值与实际值匹配度上,比如通常在keras运行中看到的准确度为96%,则说明是低偏差;反之,如果准确度只有70%,则说明是高偏差。方差(variance):方差描述的是训练数据在不同迭代阶段的训练模型中,预测值的变化波动情况(或称之为离散情况)。从数学角度看,可以理解为每个预测值与预测均值差的平方和的再求平均数。通常在深度学
2022-01-21 16:04:17 5120
原创 皮尔逊相关系数和斯皮尔曼相关系数(等级系数)与典型相关分析
粗略的总结,仅用做学习1.皮尔逊相关系数:针对符合正态分布的,以及连续型的两组变量就是概率统计中常用的相关系数计算方法会分总体和样本两种计算方式2.斯皮尔曼相关系数:针对离散型的,有序的两组变量(分等级的)3.典型相关分析:思想类似于PCA,讲多变量进行降维成“两组变量”后再用相关系数进行分析。这里的两大组变量,一组变量都是多维的,但两组变量的维度不要求相等参考链接:https://blog.csdn.net/Aloneingchild/article/details/10867489
2021-11-11 23:02:02 4281
原创 浅谈c++的指针魅力
首先,记住一句话凡是出现在定义语句的时候,星号是指针定义标记。凡是出现在非定义语句中的时候,星号是取目标符。使用指针有多方便?赋值会非常轻松,高效。比如,现有一个vector类型的函数,即返回的是vector。现在调用函数后想用一个变量来存该函数的返回值。如果不使用vector自带的赋值函数,比如swap或者是assign。或者是vector< int >v1(v2)方法。此时就需要用遍历的方法将数组里的每个元素进行复制到新的vector类型的变量中。非常麻烦。若此时用指针的方法,就可
2021-10-19 21:21:53 322 1
原创 VirtualBox Ubuntu20.04 点击安装增强功能无弹框以及设置共享文件夹
安装增强功能若点击增强功能按钮没反应,一定要试一下如下操作:$ su$ apt-get update$ sudo apt-get install build-essential gcc make perl dkms$ reboot之后再次点击安装增强功能就会弹出并且左下角也会出现光盘图标(不过我之前已经在Virtual Box上挂了增强包的光盘,当时想手动安装的,结果挂了以后进去也没有光盘图标出现)安装的过程中可能有如下结果:有个地方没安装成功,查看如下:在网上找了很久资料也没
2021-10-08 14:59:28 7225 3
转载 各种损失函数的总结
原文见这里:https://www.jianshu.com/p/47172eb86b39原文从基本概念开始介绍,并利用基本概念推出各个损失函数的由来。
2021-10-01 21:29:36 83
原创 数据处理总结
消除量纲的方法归一化处理1.正向指标:越大越好,常见于熵权法2.负向指标:越小越好,常见于熵权法3.常见于Topsis方法标准化处理标准化后的数据均值为0,方差为1题外话:熵权法:算出指标的权重后乘标准化或归一化后的样本数据可以得到综合评价得分topsis方法:...
2021-09-04 14:17:17 391
原创 关于随机梯度下降法小心得
上述代码一次运行后的结果如下表明陷入了loss的局部极小值其他几次运行的结果也不稳定为了解释上述原因首先上面用的loss是梯度下降法就是每次迭代时计算的是训练样本的误差的和(也叫批量学习batch learning)对于非凸误差空间来说,模型的优化结果取决于权重的随机初始值可能会陷入局部极小值中出不来。为了避开这种情况,我们会使用随机梯度下降法,每一次迭代是每个训练样本的误差去更新,相当于上面的公式的累计和符号去掉而回到主题,我们上面虽然采用的是SGD(随机梯度下降法)但是由于训练.
2021-08-11 23:54:48 285
转载 反向传播算法(BP)(学习用,有注释笔记)
思想有点类似于动态规划,但又有点不同原文地址:https://blog.csdn.net/u014313009/article/details/51039334
2021-08-05 21:58:55 67
转载 如何决定神经网络的层数和一层的神经元个数?
原文地址https://zhuanlan.zhihu.com/p/47519999非常形象的解释了上述问题
2021-08-05 19:52:20 8094
原创 《自然语言处理实战》笔记(梳理用)
第二章正则表达式可进行最原始的聊天机器人朴素贝叶斯可进行情感正向还是负向进行分类,文档分类,倾向分析sklearn的NB第三章TF-IDF与余弦相似度合用可进行文档相似度对比,可用于小搜索引擎,聊天机器人(高度依赖搜索引擎的)sklearn有构建的TF-IDF的模型...
2021-08-04 16:22:52 107
原创 《机器学习实战》学习笔记之第四章朴素贝叶斯进行文档分类
朴素贝叶斯有两个假设:1.“朴素”:特征之间相互独立,单词出现的概率相同,当然这个假设不合理2.“权重相同”:每个特征等同重要,这个假设也不太合理尽管如此朴素贝叶斯的效果可观朴素贝叶斯有两种实现方式1.基于贝努利模型:不考虑词在文档中出现的次数,只考虑出不出现,相当于假设词是等权重的2.基于多项式模型:考虑词在文档中出现的次数实列...
2021-08-02 13:10:38 506
转载 机器学习中的正则化到底什么意思?
分享一篇在知乎上看到的,解释的非常好的文章https://www.zhihu.com/question/20924039感谢作者:陶轻松内容如下:解答:
2021-07-23 14:49:05 86
原创 《机器学习实战》学习笔记之第六章SVM
1.原始数据来源:https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE144269https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE144269原始数据:行为特征(基因),列为样本(两类,B为与癌症无关记-1类,A为癌症有关记1类)34262*1402.数据预处理import numpy as npimport randomfrom sklearn.decomposition .
2021-07-19 15:35:33 482
转载 Python类中self的问题
很有意思的结果解释看这位大佬的https://blog.csdn.net/qq_41621362/article/details/85805481?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-2.baidujs&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7E
2021-06-30 21:48:56 132
原创 Harris角点检测学习笔记
cv2.cornerHarris()函数的返回值其实就是R值构成的灰度图像 灰度图像坐标会与原图像对应 R值就是角点分数 当R值很大的时候 就可以认为这个点是一个角点import cv2import numpy as np##img:数据类型为float32##blocksize:角点检测中指定区域的大小##sobelsize:sobel算子的窗口大小##Rfac:角点相应R值的判断系数 R=detM-a(traceM)**2 中的a##取值为[0.04,0.06] 通常取0.04##
2021-05-05 22:28:32 376
原创 Canny边缘检测算法学习笔记
import cv2import numpy as npimport mathdef canny(img,threshold1,threshold2): #1.用高斯滤波器进行模糊处理去除噪声,使用的是二维高斯函数 #先转为灰度图 gray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) #高斯滤波器 gauss=cv2.GaussianBlur(gray,(5,5),1) #高斯核的size为5*5,标准差为1 .
2021-05-05 21:42:50 162
原创 Python的随手笔记
1.if name==“main”有什么用?当直接执行当前写好的文件test1.py时name=main,直接执行main下写的内容,若将test1.py作为模块导入到其他文件test2.py里执行时name不等于main所以不会直接返回test1.py的main下写的内容即不影响test2文件的mian下的内容2.导入模块的方法from test1 import Fun1import test1test1.Fun1()3.绝对路径与相对路径绝对路径:从某个盘开始的比如E:/相对
2021-05-02 01:22:01 84
入校管理系统项目(综合项目实践课程项目)
2022-12-13
操作系统实验:使用POSIX API 实现进程的创建,进程间通信(消息传递和共享内存),使用GTK+3实现GUI
2022-05-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人