- 博客(36)
- 资源 (7)
- 收藏
- 关注
原创 核方法总结(三)———核主成分(kernel PCA)学习笔记
本文是学习《机器学习导论》(清华大学出版社,中文版,王东,2021年)的摘录总结或笔记。
2024-06-28 17:40:49
452
原创 Pytorch-----(6)
如何计算基于不同变量的操作如矩阵乘法。0.4版本以前,张量是包裹在变量之中的,后者有三个属性grad、volatile和 requires_grad属性。(grad 就是梯度属性,requires_grad属性就是 是否需要存储梯度,volatile=True是Variable的另一个重要的标识,它能够将所有依赖它的节点全部设为volatile=True,其优先级比requires_grad=True高。
2024-06-27 21:54:54
408
原创 Pytorch(5)-----梯度计算
如何使用Pytorch计算样本张量的基本梯度呢?考虑一个样本数据集,且有两个展示变量,在给定初始权重的基础上,如何在每次迭代中计算梯度呢?
2024-06-23 12:00:45
555
原创 Pytorch-----(3A)基本的统计
进行基本的张量统计如均值、中位数、众数等;进行基本的统计有助于应用概率分布和统计推断。Torch功能与Numpy类似,但是Torch函数支持GPU加速。以下是创建基本统计量的函数;标准差反映了偏离中心度量的程度,指示着数据或变量的一致性,它表明数据中是否有较大的波动或异常。1D张量统计均值很简单,但是计算2D张量的统计量需要额外的参数,因为在这些计算中需要指定维度。
2024-06-23 10:52:46
215
原创 Python实例方法、静态方法和类方法详解
Python的类方法可以进行更详细的划分,具体可以划分为类方法、实例方法和静态方法。区分方法为:采用@ classmethod修饰方法的为类方法;采用@staticmethod修饰的方法为静态方法;不用任何修改的方法为实例方法。
2024-06-22 18:59:29
473
原创 Python函数装饰器@funA
被“@函数”修饰的函数不再是原来的函数,而是被替换成一个新的东西(取决于装饰器的返回值),即如果装饰器函数的返回值为普通变量,那么被修饰的函数名就变成了变量名;2. 将funA()函数执行完成的返回值反馈回funB,此时函数名funB已不是原来的funB(),而是经过funA()装饰函数的返回值,返回值可能是普通变量也可能是函数,因而funB可能是普通变量也可能是函数。所谓函数装饰器,就是通过装饰器函数,在不修改原函数的前提下,来对函数的功能进行合理的扩充,即通过funA 对 funB函数进行了功能扩充。
2024-06-21 18:44:40
198
原创 Pytorch————(0)
Torch是LUA语言下的一个有大量机器学习算法支持的科学框架,是一个与Numpy类似的操作库,其特点是特别灵活,但其接口语言是LUA语言(相当于一个小型加强版的C,支持类和面向对象,运行效率极高,与C语言结合“特别默契”),所以流行度不高。
2024-05-05 23:02:35
670
原创 pandas------------(五)
1、从 0.15 版本开始,pandas 可以在 DataFrame 中支持 Categorical 类型的数据。2、将 Categorical 类型数据重命名为更有意义的名称:3、对类别进行重新排序,增加缺失的类别:line 131 对 上上图的类别进行了重新排序,并增加了缺失的类别。
2024-04-30 11:09:06
137
1
原创 Pandas---------(二)
虽然标准的 Python/Numpy 的选择和设置表达式都能够直接派上用场,但是作为工程使用的代码,我们推荐使用经过优化的 pandas 数据访问方式: .at , .iat ,.loc , .iloc 和 .ix。
2024-04-23 12:16:41
403
原创 Pandas学习------(一)
Pandas 是一个基于Python的第三方数据分析库,与numpy和matplotlib共同构成了pythoin数据分析的基础工具包。它提供了易于使用的数据结构和数据分析工具,特别适用于处理结构化数据,如表格型数据。Pandas主要引入了两种新的数据结构:DataFrame和Series。Pandas 提供了大量能使我们快速便捷地处理数据的函数和方法。
2024-04-21 12:37:55
597
1
转载 Numpy---------(十)
对于一维数组,它计算的是向量点积;对于多维数组,则它计算的是:每个数组最后轴作为向量,由此产生的内积。都是二维向量或者三维向量,否则抛出异常。(当然他们也可以是二维向量的数组,或者三维向量的数组,此时一一叉乘)对于一维数组,他计算的是内积;对于二维数组,他计算的是线性代数中的矩阵乘法。它始终接收一维数组。如果是多维数组,则展平成一维数组。:计算两个向量之间的叉乘。叉积用于判断两个三维空间的向量是否垂直。是多维数组,则展平成一维再点积。:返回一维向量之间的点积。5. 内积、外积、张量积。
2024-04-11 23:06:19
17
转载 Numpy-------(九)
1. numpy.where(condition[,x,y]):它类似于python的 x if condition else y。产生结果的方式为:如果condition 某个元素为True或者非零,则对应的结果元素从x中获取;所谓龙格现象:等距离差值多项式在两个端点处有非常大的震荡,默认情况下,返回两个数组:一个是拟合多项式的系数;提供了更丰富的多项式函数类。注意其中的多项式的系数按照次数从小到大排列。:为一个列表,列表元素为布尔数组,数组形状和。:为一个列表,列表元素为函数对象。
2024-04-10 23:49:46
43
转载 Numpy———(八)
类式用法主要使用类,它是一个伪随机数生成器的容器。它提供了一些方法来生成各种各样概率分布的随机数。。其中seed可以为Noneintarray_like。这个seed是初始化伪随机数生成器。如果seed为None,则会尝试读取或者来读取数据,或用者clock来做种子。保证了通过使用同一个seed以及同样参数的方法序列调用会产生同样的随机数序列(除了浮点数精度上的区别)。提供了一些方法来产生各种分布的随机数。这些方法都有一个共同的参数size。
2024-04-09 23:55:50
30
转载 Numpy--------(七)
指定形状创建一个随机的ndarray。每个元素值来自于半闭半开区间[0,1)并且服从均匀分布。ndarray[0,1):指定形状创建一个随机的ndarray。每个元素值服从正态分布,其中正态分布的期望为0,方差为1。dindarray:返回一个随机的整数ndarray或者一个随机的整数值。highNone[0,low)high[low,high)sizendarrayNone:返回一个随机的整数ndarray或者一个随机的整数值。
2024-04-08 23:55:22
14
转载 Numpy----------(六)
可以通过将计算单个元素的函数转换成ufunc函数。func:计算单个元素的函数ninfunc的输入参数的个数noutfunc返回值的个数调用时,使用即可。也可以通过函数来实现的功能。其原型为:。func:计算单个元素的函数otypes:可以是一个表示结果数组元素类型的字符串,也可以是一个类型列表。如果使用类型列表,可以描述多个返回数组的元素类型doc:函数的描述字符串。若未给定,则使用excluded:指定func中哪些参数未被向量化。
2024-04-07 22:48:50
29
转载 Numpy—————(五)
参数,则创建新的数组来保存计算结果。函数会对这两个数组的对应元素进行计算。如果这两个数组的形状不同,就通过广播。对象像多维数组一样,使用切片元组作为下标,返回的是一组可以用于广播计算的数组。,则返回元组的每个数组的形状都是(ln,ln-1,......l2,l1)。但是它返回的是广播之后的数组,而不是广播之前的数组。即:数组的尺寸要严格匹配,并且数组的。每个转换前的一维数组,对应了一个转换后的。函数是对数组的每个元素进行运算的函数。返回的是广播前的数组,而不是广播后的数组。对象,用于创建广播运算用的数组。
2024-04-06 23:11:13
19
转载 Numpy———(三)
假设a1是一维数组,可以指定一个整数i作为索引下标,如a1[i]。可以指定一个切片作为索引下标,如a1[i:j]。通过切片获得的新的数组是原始数组的一个视图,它与原始数组共享相同的一块数据存储空间。可以指定一个整数列表对数组进行存取,如。此时会将列表中的每个整数作为下标(i1/i2/i3),使用列表作为下标得到的数组(为)不和原始数组共享数据。可以指定一个整数数组作为数组下标,如a1[a2]此时会得到一个形状和下标数组a2相同的新数组。
2024-04-04 11:46:35
20
原创 EM算法和Python代码实现
EM算法是一种迭代算法,用于含有隐变量的概率模型参数的极大似然估计或极大后验概率估计。用Y表示观测随机变量的数据,Z表示隐随机变量的数据。Y和Z都具备,则称为完全数据,观测数据Y又称为不完全数据,假设给定观测数据Y,其概率分布是P(Y|θ),其中θ是要估计的模型参数,那么不完全数据Y的似然函数是logP(Y|θ),假设Y和Z的联合概率分布是P(Y,Z|θ),则完全数据的对数似然函数是logP(Y,Z|θ)。
2024-02-01 17:10:07
1430
1
原创 CatBoost 原理解释及主要算法图分析
CatBoost 与 XGBoost 、LightGBM是主流的三大Boosting框架,都是高效的GBDT算法工程化实现框架。CatBoost 则因长于处理类别特征而取名为CatBoost(Categorical + Boosting)。算法的理论特色,包括用于处理类别变量的目标变量统计和排序提升算法。CatBoost算法论文。原文结构如下:1、Introduction(简介)2、Background(算法提出背景)3、Categary Features(处理类别特征)
2024-01-11 14:22:22
4347
原创 支持向量机(Supporting Vector Machine)SMO(Sequential Minimal Optimization)算法
SMO算法的基本想法是:如果所有变量的解都满足此最优化问题的KKT条件,那么此时的所有变量就对应这个最优化问题的一个解。否则,选择这些变量中的两个变量,固定其他变量,针对这两个变量构建一个二次规划问题。这样的凸二次规划问题,具有全局最优解,有许多优化算法可以用于这一问题的求解,但是当样本容量很大时,很多算法的时间复杂度和空间复杂度都会迅速增加,以致无法使用。当遍历完间隔边界样本集后,再次回到遍历整个样本集中寻找,即在整个样本集与间隔边界样本集上来回切换,寻找违反KKT条件的。
2023-12-24 10:08:46
436
原创 极度梯度提升树(eXtreme Gradient Boosting)算法推导
式的极值,得到未分裂前的最优权重和最优损失函数值,w1 和 L1, 然后继续分裂(分裂成w2,w3),按某个特征某个值分裂后 的 叶子(预定的节点数)结点的最优权重(一般为二分树)和对应损失函数,就是求分裂后的节点的。,前者 可以裂解为叶子结点所包含样本的一阶偏导数(对应于t-1 步模型预测值的偏导数)累加之和,后者可以理解为相应的二阶偏导数之和,对应于待分裂的某个结点的集合而言,两者均为常数。因为前 t-1 棵树的结构已确定,所以前 t-1 棵树的复杂度之和也可以表示为常数,所以上式后面可分为。
2023-11-17 15:36:20
596
转载 题目: 字符串str1和str2 ,str1是否包含str2,如果包含str2在str开始的位置,如何做到时间复杂度O(N)完成?
KMP算法;字符串;
2023-06-03 18:27:44
73
矿产资源登记统计信息系统(建库指南).pdf
2021-02-02
FME中的MAPGIS格式插件
2019-07-28
C#5入门经典课程源代码
2018-06-02
测绘专业, GIS专业,大地测量学教程
2008-09-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人