自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 windows在anaconda中下载安装fasttext

链接地址:https://pypi.org/project/fasttext-wheel/#files。

2025-07-14 22:07:18 444

原创 文本预处理(四)

假设我们有一个文本数据集,每个文本已经被转换为单词索引的序列(通常在使用词嵌入之前会进行这一步)。我们需要将这些序列填充或截断到相同的长度,以便输入到神经网络中。# 该输入列表的所有bi-gram特征 {(3, 2), (1, 3), (2, 1), (1, 5), (5, 3)}如果序列长度不足 5,我们会在后面填充 0;如果序列长度超过 5,我们从后面截断。示例:在前面填充和截断如果我们将。

2025-07-14 22:06:28 592

原创 文本预处理(三)

获取训练集和验证集的正负样本长度散点分布。获得训练集上正负的样本的高频形容词词云。获得训练集与验证集不同词汇总数统计。获得验证集上正负的样本的形容词词云。获得训练集和验证集的标签数量分布。获取训练集和验证集的句子长度分布。

2025-07-14 22:02:43 801

原创 文本预处理(二)

假设我们给定的训练语料只有一句话: Hope can set you free (愿你自由成长),窗口大小为3,因此模型的第一个训练样本来自Hope can set,因为是CBOW模式,所以将使用Hope和set作为输入,can作为输出,在模型训练时, Hope,can,set等词汇都使用它们的one-hot编码. 如图所示: 每个one-hot编码的单词与各自的变换矩阵(即参数矩阵3x5, 这里的3是指最后得到的词向量维度)相乘之后再相加, 得到上下文表示矩阵(3x1).:操作简单,容易理解.

2025-07-14 21:08:05 796

原创 ⽂本预处理(一)

我们知道,在英⽂的⾏⽂中,单词之间是以空格作为⾃然分界符的,⽽中⽂只是字、句和段能通过明显的分界符来简单划界,唯独词没有⼀个形式上的分界符, 分词过程就是找到这样分界符的过程.⽂本语料在输送给模型前⼀般需要⼀系列的预处理⼯作, 才能符合模型输⼊的要求, 如: 将⽂本转化成模型需要的张量, 规范张量的尺⼨等, ⽽且科学的⽂本预处理环节还将有效指导模型超参数的选择, 提升模型的评估指标.词性标注以分词为基础, 是对⽂本语⾔的另⼀个⻆度的理解, 因此也常常成为AI解决NLP领域⾼阶任务的重要基础环节.

2025-07-14 21:02:42 565

原创 pytorch定义深度神经网络(二)

forward方法,在实例化模型的时候,底层会自动调用该函数。该函数中为初始化定义的layer传入数据,进行前向传播等。第1个隐藏层:权重初始化采用标准化的xavier初始化 激活函数使用sigmoid。__init__方法中定义网络中的层结构,主要是全连接层,并进行初始化。第2个隐藏层:权重初始化采用标准化的He初始化 激活函数采用relu。out输出层线性层 假若多分类,采用softmax做数据归一化。

2025-07-14 20:54:23 266

原创 使⽤Pytorch构建⼀个神经⽹络

⽐如: nn.Conv2d 需要⼀个4D Tensor, 形状为(nSamples, nChannels, Height, Width). 如果你的输⼊只有单⼀样本形式, 则需要执⾏input.unsqueeze(0), 主动将3D Tensor扩充成4D Tensor.当调⽤loss.backward()时, 整张计算图将对loss进⾏⾃动求导, 所有属性requires_grad=True的Tensors都将参与梯度求导的运算, 并将梯度累加到Tensors中的.grad属性中.

2025-07-14 20:48:35 1100 3

原创 交叉熵损失(Cross-Entropy Loss)

交叉熵损失通过衡量概率分布差异,成为分类任务的核心工具。其梯度高效、与概率模型天然契合,且可通过改进应对实际挑战(如类别不平衡)。理解其原理及变体,有助于灵活应用于不同场景。

2025-06-15 08:40:25 295

原创 SoftMax 函数

SoftMax 函数通过指数运算与归一化,将输入映射为概率分布,是多分类任务的核心组件。其数值稳定性优化、与交叉熵损失的高效结合,以及温度参数的灵活性,使其在深度学习中广泛应用。理解其数学原理及实现细节,对模型设计和调试至关重要。SoftMax 函数是机器学习中常用的激活函数,尤其在多分类任务中,用于将输出转化为概率分布。指数运算可能导致数值溢出(如 ( e^1000 ) 超出浮点范围)。缓解梯度消失,计算高效。

2025-06-15 08:37:05 1131

原创 深度学习的正则化

批标准化层的权重和偏置参数默认初始化为1和0,但可以根据需要进行自定义初始化。

2025-06-15 08:35:02 1214

原创 深度学习的优化⽅法

对于复杂的复合函数,我们将其拆分为⼀系列的加减乘除或指数,对数,三⻆函数等初等函数,通过链式法则完成复合函数的求导。,如果学习率太⼩,那么每次训练之后得到的效果都太⼩,增⼤训练的时间成本。如果设置为 True,则启用 AMSGrad 算法,这是对 Adam 的一种改进,用于解决某些情况下 Adam 可能导致收敛问题的情况。Adam 优化器会根据梯度的一阶矩和二阶矩动态调整每个参数的学习率,但学习率的初始值仍然很重要。采用较大的学习率,梯度下降太快越过了最小值点,导致震荡,甚至不收敛(梯度爆炸)。

2025-06-15 08:30:49 1065

原创 常⻅的损失函数

具有稀疏性,为了惩罚较⼤的值,因此常常将其作为正则项添加到其他。它用于衡量模型预测的输出分布与真实标签分布之间的差异。从上图中可以看出,该函数实际上就是⼀个分段函数,在。的最⼤问题是梯度在零点不平滑,导致会跳过极⼩值。多分类的交叉熵损失函数和⼆分类的交叉熵损失函数。当预测值与⽬标值相差很⼤时。激活函数,那损失函数也相应的进⾏调整,使⽤。损失,这样就解决了离群点梯度爆炸的问题。损失函数是⽤来衡量模型参数的质量的函数。,所以在这⾥我们着重介绍这种损失函数。在深度学习的分类任务中使⽤最多的是。

2025-06-15 08:17:43 706

原创 深度神经网络学习

1深度学习简介在介绍深度学习之前,我们先看下这幅图:⼈⼯智能机器学习深度学习深度学习是机器学习的⼀个⼦集,也就是说深度学习是实现机器学习的⼀种⽅法。与机器学习算法的主要区别如下图所示:传统机器学习算术依赖⼈⼯设计特征,并进⾏特征提取,⽽深度学习⽅法不需要⼈⼯,⽽是依赖算法⾃动提取特征,这也是深度学习被看做⿊盒⼦,可解释性差的原因。随着计算机软硬件的⻜速发展,现阶段通过拥有众多层数神经⽹络来模拟⼈脑来解释数据,包括图像,⽂本,⾳频等内容。

2025-06-15 08:14:22 807

原创 神经网络搭建和参数计算

【代码】神经网络搭建和参数计算。

2025-06-15 08:11:39 451

原创 参数初始化

权重参数初始化从区间均匀随机取值。即在(-1/√d,1/√d)均匀分布中生成当前神经元的权重,其中d为每个神经元的输入数量。随机初始化从均值为0,标准差是1的高斯分布中取样,使用一些很小的值对参数W进行初始化。深层网络:需要考虑方差平衡,如 Xavier 或 kaiming 初始化。的初始化⽐较重要,我们着重来介绍常⻅的初始化⽅式。将神经网络中的所有权重参数初始化为某个固定值.将神经网络中的所有权重参数初始化为 1.将神经网络中的所有权重参数初始化为 0。浅层网络:随机初始化即可。

2025-04-21 09:23:50 833

原创 激活函数

softmax直⽩来说就是将⽹络输出的logits通过softmax函数,就映射成为(0,1)的值,⽽这些值的累和为1(满⾜概率的性质),那么我们将它理解成概率,选取概率最⼤(也就是值对应最⼤的)接点,作为我们的预测⽬标类别。函数,计算量⼤(指数运算),反向传播求误差梯度时,求导涉及除法,计算量相对⼤,⽽采⽤。,这样就造成了⽹络的稀疏性,并且减少了参数的相互依存关系,缓解了过拟合问题的发⽣。然⽽,随着训练的推进,部分输⼊会落⼊⼩于。函数反向传播时,很容易就会出现梯度消失的情况,从⽽⽆法完成深层⽹络的训练。

2025-04-21 09:22:00 1484

原创 自动微分模块

这个函数非常有用,特别是在处理多维张量时,可以将多维张量缩减为一个标量值。这在许多深度学习任务中非常常见,例如在计算损失函数时,通常需要将模型的输出张量缩减为一个标量损失值,以便进行反向传播。在该算法中,参数(模型权重)会根据损失函数关于对应参数的梯度进行调整。在 PyTorch 中,TensorDataset 是一个非常方便的类,用于将多个张量组合成一个数据集对象。接下来我们使用这个结构进行自动微分模块的介绍,我们使用 backward 方法、grad 属性来实现梯度的计算和访问。

2025-04-06 16:39:56 921

原创 Pytorch中的autograd

关于方法.requires_grad_(): 该方法可以原地改变Tensor的属性.requires_grad的值. 如果没有主动设定默认为False.关于自动求导的属性设置: 可以通过设置.requires_grad=True来执行自动求导, 也可以通过代码块的限制来停止自动求导.可以通过.detach()获得一个新的Tensor, 拥有相同的内容但不需要自动求导.在具有requires_grad=True的Tensor上执行一个加法操作。

2025-04-06 16:36:09 626

原创 PyTorch框架使用

Torch7是Torch的一个后续版本,引入了Lua编程语言,并在深度学习领域取得了一定的成功。遗憾的是,随着pytorch的普及,Torch便不再维护,Torch7也就成为了Torch的最后一个版本。在PyTorch中,有些张量的底层数据在内存中的存储顺序与其在张量中的逻辑顺序不一致,view 函数无法对这样的张量进行变形处理,transpose:实现交换张量形状的指定维度, 例如: 一个张量的形状为 (2, 3, 4) ,把 3 和 4 进行交换, 将张量的形状变为 (2, 4, 3)

2025-04-06 16:09:37 839

原创 朴素贝叶斯算法总结

第一种:给定 x, 可通过直接建模 P(c |x) 来预测 c,这样得到的是"判别式模型" (discriminative models);第二种:也可先对联合概率分布 P(x,c) 建模,然后再由此获得 P(c |x), 这样得到的是"生成式模型" (generative models);显然,前面介绍的逻辑回归、决策树、都可归入判别式模型的范畴,还有后面学到的BP神经网络支持向量机等;在计算条件概率分布P(X=x∣Y=c_k)时,NB引入了一个很强的条件独立假设,解决这一问题的方法是采用贝叶斯估计。

2025-03-30 21:08:58 345

原创 案例:商品评论情感分析

朴素贝叶斯分类拉普拉斯平滑系数。

2025-03-30 21:05:32 448

原创 朴素贝叶斯

问题:从上面的例子我们得到P(Tokyo|C)和P(Japan|C)都为0,这是不合理的,如果词频列表里面有很多出现次数都为0,很可能计算结果都为0.此时我们需要用到朴素贝叶斯进行求解,在讲解贝叶斯公式之前,首先复习一下联合概率、条件概率和相互独立的概念。P(喜欢|产品, 超重) = P(产品, 超重|喜欢)P(喜欢)/P(产品, 超重)记作:P(AB) = P(A) *P(B|A) = P(B) *P(A|B):如果P(A, B) = P(A)P(B),则称事件A与事件B相互独立。

2025-03-30 21:03:27 665

原创 KMeans算法案例

已知:客户性别、年龄、年收入、消费指数需求:对客户进行分析,找到业务突破口,寻找黄金客户数据集共包含顾客的数据, 数据共有 4 个特征, 数据共有 200 条。接下来,使用聚类算法对具有相似特征的的顾客进行聚类,并可视化聚类结果。

2025-03-30 21:00:18 377

原创 聚类注意点

经过对30000样本点分别使用KMeans 和 MiniBatchKMeans 进行聚类,对比之后运行时间 MiniBatchKMeans 是 K-Means的一半(0.17 vs 0.36),但聚类结果差异性很小。当真正面对海量数据时,使用K均值算法将面临严重的结果延迟,尤其是当K均值被用做实时性或准实时性的数据预处理、分析和建模时,这种瓶颈效应尤为明显。K均值(K-Means)是聚类中最常用的方法之一,它基于点与点距离的相似度来计算最佳类别归属。t,其中n是样本量、k是划分的聚类数、t是迭代次数。

2025-03-30 20:58:26 460

原创 特征降维

皮尔逊相关系数(Pearson Correlation Coefficient)的作用是:反映变量之间相关关系密切程度的统计指标。pca不适合处理大批次的特征数据(例如:有几W个特征列...),可以先用 低方差法删除保留重要特征, 然后结合pca分析法实现。用于训练的数据集包含一些不重要的特征,可能导致模型泛化性能不佳。eg:希望特征独立存在对预测产生影响,两个特征同增同减非常相关,不会给模型带来更多的信息。删除低方差的一些特征,前面讲过方差的意义。eg:某些特征的取值较为接近,其包含的信息较少。

2025-03-30 20:57:02 846

原创 聚类算法-模型评估

在机器学习里,主要为了获取数据的特征值,那么就是说,在任何一个矩阵计算出来之后,都可以简单化,只要获取矩阵的迹,就可以表示这一块数据的最重要的特征了,这样就可以把很多无关紧要的数据删除掉,达到简化数据,提高处理速度。计算样本i到最近簇Cj 的所有样本的平均距离bij,称样本i与最近簇Cj 的不相似度,定义为样本i的簇间不相似度:bi =min{bi1, bi2, ..., bik},bi越大,说明样本i越不属于其他簇。(2)平方和是会逐渐变小的,直到k==n时平方和为0,因为每个点都是它所在的簇中心本身。

2025-03-20 17:47:20 939

原创 聚类算法实现流程

4、如果计算得出的新中心点与原中心点一样(质心不再移动),那么结束,否则重新进行第二步过程【经过判断,需要重复上述步骤,开始新一轮迭代】2、对于其他每个点计算到K个中心的距离,未知的点选择最近的一个聚类中心点作为标记类别。3、接着对着标记的聚类中心之后,重新计算出每个聚类的新中心点(平均值)5、当每次迭代结果不变时,认为算法收敛,聚类完成,

2025-03-20 17:44:21 454

原创 聚类算法api初步使用

计算聚类中心并预测每个样本属于哪个类别,相当于先调用fit(x),然后再调用predict(x)是一种智能初始化方法,它选择初始质心的方式可以避免一些不良聚类结果,从而提高聚类效果.聚类参数n_cluster传值不同,得到的聚类结果不同。2.使用k-means进行聚类,并使用CH方法评估。mode.inertia_ # 返回SSE值。

2025-03-20 17:41:32 321

原创 聚类算法简介

在聚类算法中根据样本之间的相似性,将样本划分到不同的类别中,对于不同的相似度计算方法,会得到不同的聚类结果,常用的相似度计算方法有欧式距离法。学习算法,主要用于将相似的样本自动归到一个类别中。的学习算法,而分类算法属于。

2025-03-20 17:39:25 347

原创 boost三种算法总结

boost三种算法总结

2025-03-20 17:36:22 462

原创 XGBoost

此时,公式可以看作是关于叶子结点 w 的一元二次函数,我们可以对 w 求导并令其等于 0,可得到 w 的最优值,将其代入到公式中,即可再次化简上面的公式。例如:10 个样本,落在 D 结点 3 个样本,落在 E 结点 2 个样本,落在 F 结点 2 个样本,落在 G 结点 3 个样本。叶子节点允许的最小权重值(即节点中所有样本的二阶导数值之和),可视为是对叶子节点的正则化,是一种后剪枝的手段。Gi 表示样本的一阶导之和,Hi 表示样本的二阶导之和,当确定损失函数时,就可以通过计算得到结果。

2025-03-20 17:35:00 787

原创 GBDT介绍

假如有个人30岁,我们首先用20岁去拟合,发现损失有10岁,这时我们用6岁去拟合剩下的损失,发现差距还有4岁,第三轮我们用3岁拟合剩下的差距,差距就只有一岁了。在分类树中最佳划分点的判别标准是熵或者基尼系数,都是用纯度来衡量的,但是在回归树中的样本标签是连续数值,所以再使用熵之类的指标不再合适,如果我们的 GBDT 进行的是分类问题,则损失函数变为 logloss,此时拟合的目标值就是该损失函数的负梯度值。对于回归树算法来说最重要的是寻找最佳的划分点,那么回归树中的可划分点包含了所有特征的所有可取的值。

2025-03-03 19:03:01 712

原创 特征工程中的三大向量化工具详解

在文本处理和特征工程中,`TfidfVectorizer`、`CountVectorizer` 和 `DictVectorizer` 是常用的工具,用于将原始数据转换为机器学习模型可用的数值特征。是否提取 N-gram(如 (1,2) 包含单词和双词组合)是否提取 N-gram(如 (1,2) 包含单词和双词组合)是否启用 IDF 计算(默认为 True)过滤停用词(如 "the", "is")过滤停用词(如 "the", "is")是否返回稀疏矩阵(默认为 True)结构化数据(数值 + 类别特征)

2025-02-28 19:40:48 1151

原创 Boosting

该分析涉及白葡萄酒,并基于数据集中显示的13个变量/特征:固定酸度,挥发性酸度,柠檬酸,残留糖,氯化物,游离二氧化硫,总二氧化硫,密度,pH值,硫酸盐,酒精,质量等。为了评估葡萄酒的质量,我们提出的方法就是根据酒的物理化学性质与质量的关系,找出高品质的葡萄酒具体与什么性质密切相关,这些性质又是如何影响葡萄酒的质量。- 6.样本 1、2、3、4、5、6、10 最终权重值为(正样本权重/归一化值): 0.07143。3.分类正确的样本:1、2、3、7、8、9、10,其权重调整系数为:0.5222。

2025-02-26 16:44:22 948

原创 Bagging和随机森林

由于基分类器是构建在训练样本的自助抽样集上的,只有约 63.2% 原样本集出现在中,而剩余的 36.8% 的数据作为包外数据,可以用于基分类器的验证集。例如, 如果你训练了5个树, 其中有4个树的结果是True, 1个树的结果是False, 那么最终投票结果就是True。在随机森林构造过程中,如果进行有放回的抽样,我们会发现,总是有一部分样本我们选不到。注意:随机森林的建立过程树的深度、树的个数等需要进行超参数调优。,并且其输出的类别是由个别树输出的类别的众数而定。内部节点再划分所需最小样本数。

2025-02-26 16:28:06 1525

原创 集成学习基础

集成学习是机器学习中的一种思想,它通过多个模型的组合形成一个精度更高的模型,参与组合的模型成为弱学习器(弱学习器)。训练时,使用训练集依次训练出这些弱学习器,对未知的样本进行预测时,使用这些弱学习器联合进行预测。集成学习通过建立几个模型来解决单一预测问题。,各自独立地学习和作出预测。Bagging:随机森林。Bagging思想图。

2025-02-26 16:24:51 295

原创 回归决策树

举例:如下图,假如我们想要对楼内居民的年龄进行回归,将楼划分为3个区域R1,R2,R3(红线),那么R1的输出就是第一列四个居民年龄的平均值,R2的输出就是第二列四个居民年龄的平均值,R3的输出就是第三、四列八个居民年龄的平均值。4 当划分点 s=6.5时,m(s) 最小。遍历特征j,对固定的切分特征j扫描切分点s,选择使得上式达到最小值的对 (j,s).6 在所有的特征的划分点中,选择出最小平方损失的划分点,作为当前树的分裂点。1 选择一个特征,将该特征的值进行排序,取相邻点计算均值作为待划分点。

2025-02-20 17:48:00 1159

原创 决策树算法api

这个值限制了叶子节点最少的样本数,如果某叶子节点数目小于 样本数,则会和兄弟节点一起被剪枝。默认是1,可以输入最少的 样本数的整数,或者最少样本数占样本总数的百分比。这个值限制了子树继续划分的条件,如果某节点的样本数少于 min_samples_split,则不会继续再尝试选择最优特征来进行划分。决策树的最大深度,默认可以不输入,如果不输入的话,决策树 在建立子树的时候不会限制子树的深度。如果模型样本量多,特征也多的 情况下,推荐限制这个最大深度,具体的取值取决于数据的分 布。

2025-02-20 17:45:10 239

原创 特征工程-特征提取

{'city': '北京','temperature':100}, {'city': '上海','temperature':60}, {'city': '深圳','temperature':30}]所以,如果"非常"一词在1,0000份文件出现过,而文件总数是10,000,000份的话,其逆向文件频率就是lg(10,000,000 / 1,0000)=3。之前在学习pandas中的离散化的时候,也实现了类似的效果。假如一篇文章的总词语数是100个,而词语"非常"出现了5次,那么"非常"一词在该文件中的。

2025-02-20 17:36:28 924

原创 cart剪枝

例如对下表的西瓜数据集,我们将其随机划分为两部分,其中编号为 {1,2,3,6, 7, 10, 14, 15, 16, 17} 的样例组成训练集,编号为 {4, 5, 8, 9, 11, 12, 13} 的样例组成验证集。在用属性"脐部"划分之后,上图中的结点2、3、4分别包含编号为 {1,2,3, 14}、 {6,7, 15, 17}、 {10, 16} 的训练样例,因此这 3 个结点分别被标记为叶结点"好瓜"、 "好瓜"、 "坏瓜"。一般情况下,后剪枝决策树的欠拟合风险很小,泛化性能往往优于预剪枝。

2025-02-19 16:05:42 486

AdaBoost实战葡萄酒数据

AdaBoost实战葡萄酒数据

2025-02-26

案例:波士顿房价预测,可以直接使用

案例:波士顿房价预测,可以直接使用

2025-02-02

vc++2010运行库

vc++2010运行库

2024-11-06

空空如也

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

TA关注的人

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