- 博客(78)
- 资源 (2)
- 收藏
- 关注
原创 新建虚拟环境并与Jupyter内核连接
第一步:在cmd里新建虚拟环境,shap38是新建的虚拟环境的名字 ,python=3.x。第4步,打开jupyter,就可以看见内核啦。
2023-12-27 21:20:12
734
原创 【机器学习13】生成对抗网络
从推断的角度看, 联合概率q(x,z)=q(x)q(z|x), 其中q(x)为真实数据集上的经验数据分布, 可认为已知, 条件概率q(z|x)则要通过推断网络来表达;从生成的角度看, p(x,z)=p(z)p(x|z), 其中p(z)是事先给定的, 如z~N(0,I), 条件概率p(x|z)则通过生成网络来表达。当二者趋于一致时, 可以确定对应的边缘概率都相等, q(x)=p(x), q(z)=p(z), 对应的条件概率也都相等q(z|x)=p(z|x), q(x|z)=p(x|z)。
2023-11-19 21:13:22
483
原创 【机器学习12】集成学习
从所有的树结构中寻找最优的树结构是一个NP-hard问题, 因此在实际中往往采用贪心法来构建出一个次优的树结构, 基本思想是从根节点开始, 每次对一个叶子节点进行分裂, 针对每一种可能的分裂, 根据特定的准则选取最优的分裂。不同的决策树算法采用不同的准则, 如IC3算法采用信息增益, C4.5算法为了克服信息增益中容易偏向取值较多的特征而采用信息增益比, CART算法使用基尼指数和平方误差, XGBoost也有特定的准则来选取最优分裂。每一层在训练的时候, 对前一层基分类器分错的样本, 给予更高的权重。
2023-11-19 14:03:28
767
原创 【机器学习11】强化学习
包括深度Q-learning在内的大多数强化学习算法, 都没有收敛性的保证, 而策略梯度(Policy Gradient) 则没有这些问题, 它可以无差别地处理连续和离散状态空间,同时保证至少收敛到一个局部最优解。) : 在每个时间点t, 机器人会发出一个动作at, 收到环境给出的收益rt, 同时环境进入到一个新的状态st。设τ为某一次0到T时间所有状态及行动的集合(称作一条轨迹) , 则R(θ)=E(r(τ)), 其中函数r计算了轨迹τ的得分。奖励: 机器人可能收到的奖励, 一般是一个实数, 记作r。
2023-11-17 20:15:33
662
原创 【机器学习10】循环神经网络
与传统的循环神经网络不同的是, 从上一个记忆单元的状态ct−1到当前的状态ct的转移不一定完全取决于激活函数计算得到的状态, 还由输入门和遗忘门来共同控制。由于预测的误差是沿着神经网络的每一层反向传播的, 因此当雅克比矩阵的最大特征值大于1时, 随着离输出越来越远, 每层的梯度大小会呈指数增长, 导致梯度爆炸;该方法会保存b当前的较佳选择, 然后解码时每一步根据保存的选择进行下一步扩展和排序, 接着选择前b个进行保存, 循环迭代, 直到结束时选择最佳的一个作为解码的结果。
2023-11-17 14:46:38
390
原创 【机器学习8】采样
均匀分布是指整个样本空间中的每一个样本点对应的概率(密度) 都是相等的。对一个没有观测变量的贝叶斯网络进行采样, 最简单的方法是祖先采样(Ancestral Sampling) , 它的核心思想是根据有向图的顺序, 先对祖先节点进行采样, 只有当某个节点的所有父节点都已完成采样, 才对该节点进行采样。几种常见的MCMC采样法:Metropolis-Hastings采样法和吉布斯采样法,实际应用中一般会对得到的样本序列进行“burn-in”处理,即截除掉序列中最开始的一部分样本, 只保留后面的样本。
2023-11-16 11:02:57
403
2
原创 【机器学习7】优化算法
黄色的部分是L2和L1正则项约束后的解空间, 绿色的等高线是凸优化问题中目标函数的等高线,L2正则项约束后的解空间是圆形, 而L1正则项约束的解空间是多边形。从贝叶斯的角度来理解L1正则化和L2正则化, 简单的解释是, L1正则化相当于对模型参数w引入了拉普拉斯先验, L2正则化相当于引入了高斯先验, 而拉普拉斯先验使参数为0的可能性更大。此时, 最小值点在红点处, 对应的w是0, 产生了稀疏性。对二分类问题, Y={1,−1}, 我们希望sign f(xi,θ)=yi, 最自然的损失函数是0-1损失,
2023-11-15 14:26:33
387
原创 【机器学习6】概率图模型
用观测结点表示观测到的数据, 用隐含结点表示潜在的知识, 用边来描述知识与数据的相互关系, 最后基于这样的关系图获得一个概率分布。概率图中的节点分为隐含节点和观测节点, 边分为有向边和无向边。从概率论的角度, 节点对应于随机变量, 边对应于随机变量的依赖或相关关系, 其中有向边表示单向的依赖, 无向边表示相互依赖关系。概率图模型分为贝叶斯网络(Bayesian Network) 和马尔可夫网络(MarkovNetwork) 两大类。
2023-11-15 13:17:46
389
原创 【机器学习5】无监督学习聚类
相比于监督学习, 非监督学习的输入数据没有标签信息, 需要通过算法模型来挖掘数据内在的结构和模式。非监督学习主要包含两大类学习方法: 数据聚类和特征变量关联。
2023-11-14 17:07:08
1091
原创 【机器学习3】有监督学习经典分类算法
逻辑回归处理的是分类问题, 线性回归处理的是回归问题, 这是两者的最本质的区别。逻辑回归与线性回归最大的区别, 即逻辑回归中的因变量为离散的,而线性回归中的因变量是连续的。预剪枝的核心思想是在树中结点进行扩展之前, 先计算当前的划分是否能带来模型泛化能力的提升, 如果不能, 则不再继续生长子树。逻辑回归和线性回归的相同之处二者都使用了极大似然估计来对训练样本进行建模,另外, 二者在求解超参数的过程中, 都可以使用梯度下降的方法。后剪枝, 是在已生成的过拟合决策树上进行剪枝, 得到简化版的剪枝决策树。
2023-11-07 20:26:28
764
原创 【机器学习2】模型评估
模型评估主要分为离线评估和在线评估两个阶段。针对分类、 排序、 回归、序列预测等不同类型的机器学习问题, 评估指标的选择也有所不同。
2023-11-07 15:54:35
430
原创 关于Anaconda Navigator打不开
路径:anaconda3\Lib\site-packages\anaconda_navigator\api\anaconda_api.py。关闭后台python 进程和防火墙。
2023-07-24 15:44:05
75
原创 【5】构建手写数字模型
MNIST手写字识别模型是一个三层的神经网络模型,有输入层、隐藏层以及输出层和一个softmax函数组成,每-层的特性如下:mnist模型前向传输# 输入层为28*28的像素# 输出层0~9有10类# 隐藏层节点数# 正则化项的系数# 为模型添加正则化# 定义前向传输过程# 第一层神经网络权重# 第一层神经网络偏置项# 第一层神经网络输出# 第二层网络权重# 第二层神经网络偏置项# 第二层神经网络输出])
2023-07-23 15:25:14
216
原创 【debug】tensorflow2.0使用中遇到的问题合集--持续更新版
在安装tf_slim以后,运行程序出现以上错误,这是由于tf的版本是1.0原因,要升级tf到2.0版本。在 TensorFlow 2.x 版本中,使用 Eager Execution 模式,不再需要使用。①如果是在tf2.0 中使用旧版1.0的会话方式的话,tf2.0版本和1.0版本的命名方式不同,将。② 如果直接使用新版 2.0的模式的话,使用 Eager Execution 模式,不再需要使用。因此,你可以直接运行 TensorFlow 2.x 中的代码,而不需要创建会话。安装2.0版本的tf。
2023-07-23 15:23:46
635
原创 cv2.error
错误: gray_image = cv2.cvtColor(img, cv2.COLOR_BGRA2GRAY)opencv在识别到中文路径时会出错,因此将路径名想办法变为英文。
2023-06-23 16:34:28
107
原创 【4】tf实现神经网络模型
一个含有两个输入的神经元,指定一个输入x1=x2=1,期望y能输出0.3。要求不断的输入x1=x2=1,然后不断的训练权重w与偏置b值,训练一万次后,再次输入x1与x2输出y的值是否为0.3。
2023-06-20 11:38:01
910
原创 【3】模型相关函数及构建二维线性模型
tf.train.Saver()函数可以建立一个saver对象,然后在session中调用save即可将模型保存起来。
2023-05-24 21:08:13
114
原创 【1】安装与配置tensorflow
打开命令提示符,输入activate tensorflow。下载下来对应的whl文件,也就是我们俗称的轮子。
2023-05-23 11:03:43
338
原创 【1】机器学习
有监督学习(supervised learning)⚫ 数据集中的样本带有标签,有明确目标⚫ 回归和分类无监督学习(unsupervised learning)⚫ 数据集中的样本没有标签,没有明确目标⚫ 聚类、降维、排序、密度估计、关联规则挖掘强化学习(reinforcement learning)⚫ 智慧决策的过程,通过过程模拟和观察来不断学习、提高决策能力⚫ 试错方法⚫ 例如:AlphaGo机器学习的一些方法是深度学习不能替代的!
2023-05-22 09:10:28
614
原创 【1】Numpy基础
np.where的第⼆个和第三个参数不必是数组,它们都可以是标量值。在数据分析⼯作中,where通常⽤于根据另⼀个数组⽽产⽣⼀个新的数组。假设有⼀个由随机数据组成的矩阵,你希望将所有正值替换为2,将所有负值替换为-2。ndarray是⼀个通⽤的同构数据多维容器,也就是说,其中的所有元素必须是相同类型的。如果你想要得到的是ndarray切⽚的⼀份副本⽽⾮视图,就需要明确地进⾏复制操作,例如arr[5:8].copy()。创建⼀个没有任何具体值的数组,返回的是一些未初始化的垃圾值。
2023-05-19 11:13:23
454
原创 matlab编程基础
变量命名第一个字符必须为字母,变量可以由数字、字母、下划线组成,区分大小写。双精度:64位 智能存储15位左右十进制数 double()显示符号变量的任意精度:vpa(A),vpa(A,n)通过sym(),可以把双精度的数转换为符号型的数。显示符号变量的属性:assumptions()常用于图像表示与处理:unit8(),8位。可以看出后三位错误,以双精度输入不可行。设置符号变量的属性:assume()单精度 :32位,single()simplify():化简公式。转换为符号型:sym(A)
2023-05-18 09:53:41
907
原创 【2】Kaggle:狗的种类识别,基于论文中的 VGG(11)/ResNet(18)/SENet 结构实现
卷积层使用3x3的卷积核,生成不同数量的特征图(64、128、256、512)。Squeeze 操作:通过全局平均池化将输入的特征图在通道维度上进行压缩,得到一个通道维度上的全局特征,提取通道间的全局信息。这个通道注意力向量通过 Sigmoid 函数进行激活,用于对输入的特征图进行通道级别的缩放,使得重要的通道得到更多的权重,从而增强重要通道的表示能力。VGG11网络的结构比较简单和规律,卷积层和全连接层都使用了相同的卷积核大小和滤波器数量,即3x3的卷积核和64、128、256、512、512个滤波器。
2023-05-11 19:30:00
741
原创 【3】Kaggle:狗的种类识别(VGG(11)/ResNet(18)/SENet 结构训练模型及测试完整代码)
【代码】【3】Kaggle:狗的种类识别(VGG(11)/ResNet(18)/SENet 结构训练模型及测试完整代码)
2023-05-11 19:30:00
427
原创 【1】kaggle竞赛:狗的种类识别(基于pytorch内置函数实现VGG/ResNet)
使用预训练的VGG(11)模型,定义了一个新的输出网络替换原始的输出层,包含两个线性层和ReLU激活函数,最后输出120个类别的预测值。使用交叉熵损失来计算损失,设置了reduction=‘none’,表示不进行损失的降维处理。定义了一个函数evaluate_loss(data_iter, net, devices),该函数计算给定数据迭代器中的数据在网络net上的损失。在计算损失之前,首先将输入数据转移到指定的计算设备上(CPU或GPU),然后通过网络得到预测值outputs,并计算损失l。
2023-05-11 19:00:00
481
原创 安装环境的角度区分tensorflow和PyTorch等不同
一般情况下,我们只使用到cpu处理,不使用GPU加速。但是使用tensorflow、PyTorch等库时如果训练的数据比较多时间比较长时,需要GPU加速,而不同的深度学习库之间需要的GPU中的cuda和cudnn的版本又不同,所以如果同时需要两个库都加速使用的话,安装在一起只能使用其中一个,所以一般情况下在安装tensorflow、PyTorch都会单独建立自己的虚拟环境。当然比如已经安装了tensorflow的虚拟环境,我们还会用到open-cv,那要也单独安装open-cv的虚拟环境吗?
2023-04-03 17:19:24
264
原创 【python实现】#搭建一个可以运行在不同优化器模式下的 3 层神经网络模型(网络层节点 数 目分别为:5,2,1),对“月亮”数据集进行分类。
搭建一个可以运行在不同优化器模式下的 3 层神经网络模型(网络层节点数 目分别为:5,2,1),对“月亮”数据集进行分类。
2023-04-02 19:25:35
365
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人