自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

GlassySky的博客

城南花已开

  • 博客(86)
  • 资源 (6)
  • 收藏
  • 关注

原创 ChatGPT润色指令总结

【代码】ChatGPT润色指令总结。

2023-12-18 15:56:55 1226

原创 病理图像(WSI)处理

最近在做肺腺癌分型相关的项目,记录一下对病理图像(WSI)处理的一些方式。

2023-12-18 15:50:01 497

原创 CV面试知识点总结--计算机视觉

交并比(Intersection over Union, IoU)代码import numpy as npdef get_IoU(pred_bbox, gt_bbox): """ return iou score between pred / gt bboxes :param pred_bbox: predict bbox coordinate :param gt_bbox: ground truth bbox coordinate :retur

2022-05-04 22:56:48 2033

原创 CV面试知识点总结--深度学习

神经网络中的Epoch、Iteration、Batchsize神经网络中epoch与iteration是不相等的 batchsize:中文翻译为批大小(批尺寸)。在深度学习中,一般采用SGD训练,即每次训练在训练集中取batchsize个样本训练; iteration:中文翻译为迭代,1个iteration等于使用batchsize个样本训练一次;一个迭代 = 一个正向通过+一个反向通过 epoch:迭代次数,1个epoch等于使用训练集中的全部样本训练一次;一个epoch =

2022-05-04 22:24:55 268

原创 CV面试知识点总结--机器学习

逻辑回归基本概念1. 逻辑回归是经典的二分类模型2. 逻辑回归的过程是面对一个回归或者分类问题,建立代价函数,然后通过优化方法迭代求解出最优的模型参数,然后测试验证我们这个求解的模型的好坏3. 逻辑回归主要应用于研究某些事件发生的概率,本质是极大似然估计4. 逻辑回归的代价函数是交叉熵,激活函数是Sigmoid优点1. 速度快,适合二分类问题2. 简单易于理解,直接看到各个特征的权重3. 能容易地更新模型吸收新的数据缺点对数据和场景的适应能力有局限性,不如决策树算

2022-05-04 22:07:52 932

原创 牛顿法(Newton Method)的原理和实现步骤

牛顿法的法的目的牛顿法不仅可以用来求解函数的极值问题,还可以用来求解方程的根,二者在本质上是一个问题,因为求解函数极值的思路是寻找导数为0的点,这就是求解方程。牛顿法的法的原理一元函数的情况根据一元函数的泰勒展开公式,我们对目标函数在点处做泰勒展开,有:如果忽略2次以上的项,则有:现在我们在点处,要以它为基础,找到导数为0的点,即导数为0。对上面等式两边同时求导,并令导数为0,可以得到下面的方程:可以解得:这样我们就得到了下一点的位置,从而走到x1。接下...

2021-11-05 22:17:55 21440

原创 梯度下降算法(Gradient Descent)的原理和实现步骤

梯度下降的目的绝大多数的机器学习模型都会有一个损失函数。比如常见的均方误差(Mean Squared Error)损失函数:损失函数用来衡量机器学习模型的精确度。一般来说,损失函数的值越小,模型的精确度就越高。如果要提高机器学习模型的精确度,就需要尽可能降低损失函数的值。而降低损失函数的值,我们一般采用梯度下降这个方法。所以,梯度下降的目的,就是为了最小化损失函数。...

2021-10-24 15:18:48 8543

原创 Python语法:深浅拷贝

直接赋值:其实就是对象的引用(别名)。 浅拷贝(copy):拷贝父对象,不会拷贝对象的内部的子对象。 深拷贝(deepcopy):copy 模块的 deepcopy 方法,完全拷贝了父对象及其子对象。 import copya = [1, 2, 3, 4, ['a', 'b']] # 原始对象b = a # 赋值,传对象的引用c = copy.copy(a) # 对象拷贝,浅拷贝d = copy.deepcopy(a) # 对象拷贝,深拷贝...

2021-10-23 23:39:18 143

原创 Python语法:多线程和多进程(二)

多进程在linux中,每个进程都是由父进程提供的。每启动一个子进程就从父进程克隆一份数据,但是进程之间的数据本身是不能共享的。from multiprocessing import Processimport timedef f(name): time.sleep(2) print('hello', name) if __name__ == '__main__': p = Process(target=f, args=('bob',)) p.start()

2021-10-23 21:55:51 171

原创 Python语法:多线程和多进程(一)

一、基本概念线程线程是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中实际运作单位。 一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。 一个线程是一个execution context(执行上下文),即一个cpu执行时所需要的一串指令。 线程的工作方式: 假设你正在读一本书,没有读完,你想休息一下,但是你想在回来时恢复到当时读的具体进度。有一个方法就是记下页数、行数与字数这三个数值,这些数值就是execution con

2021-10-22 13:43:00 166

原创 Python语法:迭代器与生成器

一、迭代器迭代是Python最强大的功能之一,是访问集合元素的一种方式。 迭代器是一个可以记住遍历的位置的对象。 迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。 迭代器有两个基本的方法:iter()和next()。 字符串,列表或元组对象都可用于创建迭代器:>>> list=[1,2,3,4]>>> it = iter(list) # 创建迭代器对象>>> print (next(..

2021-10-20 22:21:22 157

原创 Python语法:装饰器(decorator)

一、定义装饰器 decorator 或者称为包装器,是对函数的一种包装。二、作用它能使函数的功能得到扩充,而同时不用修改函数本身的代码。 它能够增加函数执行前、执行后的行为,而不需对调用函数的代码做任何改变。三、举例初始化函数# 函数hello,输出 hello + name 的字符串 def hello(name): return 'hello ' + name 希望实现功能:在每一个调用 hello 函数的时候,将输出的字符串用 <tag>包住

2021-10-20 20:55:18 669

原创 机器学习算法(二): 基于XGBoost的分类预测

1.XGBoost的介绍XGBoost是2016年由华盛顿大学陈天奇老师带领开发的一个可扩展机器学习系统。严格意义上讲XGBoost并不是一种模型,而是一个可供用户轻松解决分类、回归或排序问题的软件包。它内部实现了梯度提升树(GBDT)模型,并对模型中的算法进行了诸多优化,在取得高精度的同时又保持了极快的速度,在一段时间内成为了国内外数据挖掘、机器学习领域中的大规模杀伤性武器。更重要的是,XGBoost在系统优化和机器学习原理方面都进行了深入的考虑。毫不夸张的讲,XGBoost提供的可扩展性,可移.

2021-08-08 10:41:36 1632

原创 机器学习算法(一): 基于逻辑回归的分类预测

1 逻辑回归的介绍和应用1.1 逻辑回归的介绍逻辑回归(Logistic regression,简称LR)虽然其中带有"回归"两个字,但逻辑回归其实是一个分类模型,并且广泛应用于各个领域之中。虽然现在深度学习相对于这些传统方法更为火热,但实则这些传统方法由于其独特的优势依然广泛应用于各个领域中。而对于逻辑回归而且,最为突出的两点就是其模型简单和模型的可解释性强。逻辑回归模型的优劣势:优点:实现简单,易于理解和实现;计算代价不高,速度很快,存储资源低; 缺点:容易欠拟合,分类精度可能不高

2021-08-08 03:18:34 717

原创 剑指 Offer:字符串查找

https://www.lintcode.com/problem/13/?utm_source=sc-zhihuzl-swj0608这题虽然简单,但是通过率挺低的,我先写一个没有用KMP算法的代码,提交后效果还不错,超过100%的用户,所以分享一下class Solution: """ @param source: @param target: @return: return the index """ def strStr(self, s...

2021-07-17 22:15:22 116

原创 剑指 Offer:旋转字符串

https://www.lintcode.com/problem/8/?utm_source=sc-zhihuzl-swj0608这个题目需要在原列表中操作,刚开始有点懵,然后想想列表的定义,最终还是解决。class Solution: """ @param str: An array of char @param offset: An integer @return: nothing """ def rotateString(self, str

2021-07-17 20:14:25 97

原创 AI百题--第十一天突击题

1. SVM算法的优缺点优点:(1)非线性映射是SVM方法的理论基础,SVM利用内积核函数代替向高维空间的非线性映射;(2)对特征空间划分的最优超平面是SVM的目标,最大化分类边际的思想是SVM方法的核心;(3)支持向量是SVM的训练结果,在SVM分类决策中起决定作用的是支持向量。(4)SVM 是一种有坚实理论基础的新颖的小样本学习方法。它基本上不涉及概率测度及大数定律等,因此不同于现有的统计方法。从本质上看,它避开了从归纳到演绎的传统过程,实现了高效的从训练样本到预报样本的“转导推理”

2021-05-26 13:14:57 247

原创 AI百题--第十天突击题

1. 请简述SVM 原理支持向量机(support vector machines, SVM)是一种二分类模型,它的基本模型是定义在特征空间上的间隔最大的线性分类器,间隔最大使它有别于感知机;SVM还包括核技巧,这使它成为实质上的非线性分类器。SVM的学习策略就是间隔最大化,可形式化为一个求解凸二次规划的问题,也等价于正则化的合页损失函数的最小化问题。SVM的学习算法就是求解凸二次规划的最优化算法。2. SVM 为什么采用间隔最大化当训练数据线性可分时,存在无穷个分离超平面可以将两.

2021-05-25 07:12:01 233 2

原创 AI百题--第九天突击题

1. 简述kmeans流程随机初始化k个中心点; 计算所有样本到中心点的距离; 比较每个样本到k个中心点的距离,将样本分类到距离最近的类别中; k个类别组成的样本点重新计算中心点(如在每一个方向上计算均值); 重复2-4,直到中心点不再变化。2. kmeans对异常值是否敏感?为何?K-Means算法对初始选取的聚类中心点是敏感的,不同的随机种子点得到的聚类结果完全不同 K-Means算法并不是适用所有的样本类型。它不能处理非球形簇、不同尺寸和不同密度的簇 K-Means算法对离群点的

2021-05-21 10:53:23 287

原创 AI百题--第八天突击题

1. 简述XGBoostXGBoost本身的核心是基于梯度提升树实现的集成算法,三个核心部分:集成算法本身,用于集成的弱评估器,以及应用中的其他过程。XGBoost的基础是梯度提升算法,梯度提升(Gradient boosting)是构建预测模型的最强大技术之一,它是集成算法中提升法(Boosting)的代表算法。集成算法通过在数据上构建多个弱评估器,汇总所有弱评估器的建模结果,以获取比单个模型更好的回归或分类表现。https://zhuanlan.zhihu.com/p/3477784242.

2021-05-20 18:55:34 151

原创 AI百题--第七天突击题

1. 简述梯度提升树(GBDT)原理Decision Tree:CART回归树GBDT使用的决策树是CART回归树,无论是处理回归问题还是二分类以及多分类,GBDT使用的决策树都是CART回归树。为什么不用CART分类树呢?因为GBDT每轮的训练是在上一轮的训练的残差基础之上进行训练的。这里的残差就是当前模型的负梯度值 。这个要求每轮迭代的时候,弱分类器的输出的结果相减是有意义的。残差相减是有意义的。如果选用的弱分类器是分类树,类别相减是没有意义的。对于回归树算法来说最重要的是寻找最佳的划分点,那

2021-05-20 07:02:35 241

原创 AI百题--第六天突击题

1. 简述一下随机森林算法的原理随机森林是一种有监督学习算法。 就像你所看到的它的名字一样,它创建了一个森林,并使它拥有某种方式随机性。 所构建的“森林”是决策树的集成,大部分时候都是用“bagging”方法训练的。 bagging方法,即bootstrap aggregating,采用的是随机有放回的选择训练数据然后构造分类器,最后组合学习到的模型来增加整体的效果。2. 随机森林的随机性体现在哪里?3. 随机森林算法的优缺点优点:1、在当前的很多数据集上,相对其他算法有着.

2021-05-18 11:51:03 232

原创 AI百题--第五天突击题

什么是集成学习算法?集成学习是通过建立几个模型来解决单一预测问题。它的工作原理是生成多个分类器/模型,各自独立的学习和做出预测,然后将这些预测最后整合成组合预测,因此优于任何一个单分类的做出的预测。集成学习主要有哪几种框架, 并简述它们的工作过程?这个可以参考之前总结的一篇博文https://blog.csdn.net/qq_38784098/article/details/116696700?spm=1001.2014.3001.5501Boosting算法有哪两类,它们之间的区别是什么.

2021-05-15 11:38:29 147

原创 剑指 Offer 15:二进制中1的个数

请实现一个函数,输入一个整数(以二进制串形式),输出该数二进制表示中 1 的个数。例如,把 9表示成二进制是 1001,有 2 位是 1。因此,如果输入 9,则该函数输出 2。示例 1:输入:00000000000000000000000000001011输出:3解释:输入的二进制串 00000000000000000000000000001011中,共有三位为 '1'。示例 2:输入:00000000000000000000000010000000输出:1解释:输入的二进制串 0..

2021-05-14 06:25:57 67

原创 AI百题--第四天突击题

往期集合https://blog.csdn.net/qq_38784098/category_11052554.html?spm=1001.2014.3001.5482本专栏作者辛苦总结,大家可以关注一下,后续会有持续的分享1. 写出全概率公式&贝叶斯公式条件概率公式:B发生后A发生的概率全概率公式:表示达到某个目的,有多种方式(或者造成某种结果,有多种原因),问达到目的的概率是多少(造成这种结果的概率是多少),设事件是一个完备事件组,则对于任意一个事件C:贝叶斯公式

2021-05-13 20:24:14 220

原创 AI百题-第三天突击题

1.逻辑回归相比线性回归,有何异同?区别:线性回归假设响应变量服从正态分布,逻辑回归假设响应变量服从伯努利分布 线性回归优化的目标函数是均方差(最小二乘法),而逻辑回归优化的是似然函数(交叉熵) 线性回归要求自变量与因变量呈线性关系,而逻辑回归研究的是因变量取值的概率与自变量的概率 逻辑回归处理的是分类问题,线性回归处理的是回归问题,这也导致了两个模型的取值范围不同:0-1和实数域联系:两个都是线性模型,线性回归是普通线性模型,逻辑回归是广义线性模型 表达形式上,逻辑回归是线性回归套上

2021-05-12 22:24:22 132 2

转载 模型融合方法概述

前几天看到模型融合,今天在天池一个官方文档里面看到总结,觉得挺详细,就在博客中记录一下。还是得在实战中检验所看的东西记忆比较深刻。在比赛中提高成绩主要有3个地方特征工程 调参 模型融合1. Voting模型融合其实也没有想象的那么高大上,从最简单的Voting说起,这也可以说是一种模型融合。假设对于一个二分类问题,有3个基础模型,那么就采取投票制的方法,投票多者确定为最终的分类2.Averaging对于回归问题,一个简单直接的思路是取平均。稍稍改进的方法是进行加权平均。权值可以用排

2021-05-12 10:12:55 660

原创 AI百题--第二天突击题

1. 在模型评估过程中,过拟合和欠拟合具体指什么现象过拟合是指模型在训练数据拟合呈过当的情况,反应到评估指标上,就是模型在训练集上的表现很好,但在测试集和新数据上的表现很差。欠拟合指的是模型在训练和预测时都不好的情况。2. 降低过拟合和欠拟合的方法A.降低过拟合风险的方法:1.从数据入手,获得更多的训练数据。使用更多的训练数据是解决过拟合问题最有效的手段,因为更多的样本能够让模型学习到更多更有效的特征,减少噪声的影响。当然,直接增加实验数据一般是很困难的,但是可以通过一定的规则来扩充训.

2021-05-11 20:37:47 142

原创 AI百题--第一天突击题

最近在看一个求职题目班,每天打卡,我把问题总结成文档,码字不易,各位互相学习1. 为什么要对特征做归一化(1)当两个特征数量级或者量纲差距较大时,数量级大的特征对最终结果的影响更大。因此要做归一化,让两个因素对于结果影响相同。(2)当两个特征数量级差距大时,两个特征​ (假设​的数量级更大),所对应的损失函数等高线图呈现椭圆形,梯度下降法下降的路线需要与椭圆切线的垂直方向,这就导致了路线非常的曲折,迭代的次数会非常多。归一化后,等高线图近似于圆形,下降路线相对简单很多,就是指向圆心的方向,迭代次

2021-05-11 20:32:57 213 2

原创 剑指 Offer 04. 二维数组中的查找

在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个高效的函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。示例:现有矩阵 matrix 如下:[ [1, 4, 7, 11, 15], [2, 5, 8, 12, 19], [3, 6, 9, 16, 22], [10, 13, 14, 17, 24], [18, 21, 23, 26, 30]]给定 target=5,返...

2021-05-10 19:33:12 65

原创 Vision Transformer:用于图像识别的Transformer

整体导读:尽管transformer体系结构已成为自然语言处理任务的实际标准,但其在计算机视觉中的应用仍然受到限制。在视觉上,注意力要么与卷积网络结合使用,要么用于替换卷积网络的某些组件,同时将其整体结构保持在适当的位置。2020年10月22日,谷歌人工智能研究院Alexey Dosovitskiy, Lucas Beyer等研究员将Transformer应用到图像识别上并在顶会“Computer Vision and Pattern Recognition(CVPR)”上发表一篇题为“An Image

2021-05-09 22:22:44 3758 6

原创 MLP-Mixer: 基于多层感知机体系结构的图像识别网络

整体导读:卷积神经网络(CNNs)是计算机视觉的主流模型,近年来,基于注意力的网络,如vision transformer也得到了广泛的应用。2021年3月4日,谷歌人工智能研究院Ilya Tolstikhin, Neil Houlsby等人研究员提出一种基于多层感知机结构的MLP-Mixer并在顶会“Computer Vision and Pattern Recognition(CVPR)”上发表一篇题为“MLP-Mixer: An all-MLP Architecture for Vision”的文

2021-05-09 22:17:44 909 3

原创 Leetcode: 三数之和

给你一个包含 n 个整数的数组nums,判断nums中是否存在三个元素 a,b,c ,使得a + b + c = 0 ?请你找出所有和为 0 且不重复的三元组。注意:答案中不可以包含重复的三元组。示例 1:输入:nums = [-1,0,1,2,-1,-4]输出:[[-1,-1,2],[-1,0,1]]示例 2:输入:nums = []输出:[]示例 3:输入:nums = [0]输出:[]https://leetcode-cn.com/problems/3sum/...

2021-05-09 22:06:44 189

原创 剑指 Offer 03. 数组中重复的数字

class Solution: def findRepeatNumber(self, nums: List[int]) -> int: # solution one: 哈希表 n = len(nums) flag = [False for i in range(n)] for i in range(n): if flag[nums[i]] == False: flag[nu.

2021-03-01 08:01:32 59

原创 生成yolov5所需的目标文件

大家在使用yolov5的过程中,会遇到生成对应的目标txt文件,这里提供一份代码,主要是想提供一下当我们在使用opencv读取图像label的过程中,如何正确的将坐标转化为yolov5所需的坐标,并且在这个处理过程中,肯定会涉及图像连通域的判断import osimport shutilimport cv2 as cvdef dir_process(path): if not os.path.exists(path): os.mkdir(path) else:

2020-12-11 14:56:33 1192

原创 文件处理

在深度学习模型训练前期,经常会对各种文件进行操作,在这里会对XML、MAT、NII、json、csv、cfg、txt等常用的文件操作做一个总结1、文件名前缀匹配 def find_FISH_file(self, project_path, flag="FISH-CAC"): file_names = os.listdir(project_path) fish_flag = 0 for i, file_name in enumerate(file

2020-12-11 14:16:16 142

原创 数据增强--对于目标检测(边框、图像)

import torchfrom PIL import Image, ImageFont, ImageDrawfrom functools import reduceimport scipy.io as sciofrom PIL import Imageimport cv2 as cvimport numpy as npimport randomimport imutilsfrom imgaug import augmenters as iaadef horisontal_flip.

2020-11-23 10:04:02 545

转载 统计学习方法|隐马尔可夫模型

'''数据集:人民日报1998年中文标注语料库------------------------------运行结果:-------------------原文----------------------深圳有个打工者阅览室去年12月,我在广东深圳市出差,听说南山区工商分局为打工者建了个免费图书阅览室,这件新鲜事引起了我的兴趣。12月18日下午,我来到了这个阅览室。阅览室位于桂庙,临南油大道,是一间轻体房,面积约有40平方米,内部装修得整洁干净,四周的书架上摆满了书,并按政治、哲学、法律法规、.

2020-08-03 22:24:07 295 1

转载 统计学习方法|EM算法及其推广

'''数据集:伪造数据集(两个高斯分布混合)数据集长度:1000------------------------------运行结果:----------------------------the Parameters set is:alpha0:0.3, mu0:0.7, sigmod0:-2.0, alpha1:0.5, mu1:0.5, sigmod1:1.0----------------------------the Parameters predict is:alpha0:.

2020-08-03 22:22:25 186

转载 统计学习方法|提升方法(AdaBoost)

'''数据集:Mnist训练集数量:60000(实际使用:10000)测试集数量:10000(实际使用:1000)层数:40------------------------------运行结果: 正确率:97% 运行时长:65m'''import timeimport numpy as npdef loadData(fileName): ''' 加载文件 :param fileName:要加载的文件路径 :return: 数据集和标签.

2020-08-03 22:20:58 156 1

liver_turmo.rar

里面有一些绘制画板,逻辑计算,适用新手学习

2021-05-13

chatrobot.zip

一个简易聊天机器人,适合新手熟悉流程,里面有训练所需文件,可以顺利运行,注意pip install foolnltk

2020-03-01

股票预测(LSTM)

文件利用lstm进行股票第二日最高价预测,偏差大概在百分之一点五左右,里面有数据集,还有其他获取数据的代码,是进行预测的方法

2019-01-24

C++ GUI Qt 4编程(第二版).pdf

这个文档具有清晰的代码和例子,适合具有一定基础的开发人员学习,可以比较全面的了解Qt,而且具有目录可以很方便查到你所要的内容

2017-08-31

mysql安装说明

mysql自定义安装

2017-08-24

qt实现拼图

可以实现拼图,而且自定义拼图的块数和图片

2017-08-23

空空如也

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

TA关注的人

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