AI
文章平均质量分 61
机器学习 深度学习
Yellow0523
这个作者很懒,什么都没留下…
展开
-
欠拟合的原因以及解决办法(深度学习)
之前这篇文章,我分析了一下深度学习中,模型过拟合的主要原因以及解决办法:过拟合的原因以及解决办法(深度学习)_大黄的博客-CSDN博客这篇文章中写一下深度学习中,模型欠拟合的原因以及一些常见的解决办法。也就是为什么我们设计的神经网络它不收敛?这里还是搬这张图出来,所谓欠拟合(也就是神经网络不收敛),它的表现就是训练集上的性能表现很辣鸡,测试集的表现同样很辣鸡。一个良好的模型,它应该是训练集上表现很好,测试集上表现也很好的。下面我列举几种常见的原因以及解决办法:一...原创 2021-12-12 10:36:35 · 33697 阅读 · 9 评论 -
贝叶斯优化代码
首先,我们安装贝叶斯优化的包。贝叶斯优化的包只支持python3.x版本(注意!),python2.x版本虽然也能安装成功,但是会报错,贼傻逼。安装命令,使用pip3.pip3 install bayesian-optimization后面的使用教程有时间再更新。...原创 2021-05-11 14:55:29 · 1645 阅读 · 6 评论 -
过拟合的原因以及解决办法(深度学习)
过拟合:模型在训练集上表现的非常好,但在测试集的数据下表现很差。具体观察loss函数就是,train loss一直降低,而test loss先降低,而后随着epoach的增加,而不断增加。过拟合的原因:1.训练数据太少(比如只有几百组)2.模型的复杂度太高(比如隐藏层层数设置的过多,神经元的数量设置的过大),举个简单的例子,你的模型是高射炮,结果你的数据是蚊子,这不就很扯淡了吗。过拟合的解决方案:解决过拟合问题有两个方向:降低参数空间的维度或者降低每个维度上的有效规模(eff原创 2021-12-02 22:50:40 · 49212 阅读 · 3 评论 -
train loss与test loss结果分析
在我们进行神经网络的超参数调优时,需要分析参数设置的是否合理以及网络结构是否设置的合适。对于train loss与test loss,进行分析,可以得出以下结果,一般有以下几种情况:1.train loss 不断下降,test loss不断下降,说明网络仍在学习;2.train loss 不断下降,test loss趋于不变或者上升,说明网络过拟合;3.train loss 趋于不变,test loss不断下降,说明数据集异常;4.train loss 趋于不变,test loss趋于原创 2021-12-01 18:28:33 · 3795 阅读 · 0 评论 -
sklearn与pytorch模型的保存与读取
当我们花了很长时间训练了一个模型,需要用该模型做其他事情(比如迁移学习),或者我们想把自己的机器学习模型分享出去的时候,我们这时候需要将我们的ML模型持久化到硬盘中去。1.sklearn中模型的保存与读取sklearn模型的保存有两种方法。pickle与joblib。第一种方法,使用pickle方法保存。import pickle #pickle模块#保存模型with open('model.pickle', 'wb') as f: pickle.dump(clf, f)原创 2021-11-29 17:03:50 · 2921 阅读 · 0 评论 -
numpy list df tensor的相互转换
每次用python处理数据时候,都要特码的搜这些数据类型之间是怎么转换的,这里我直接总结一下。1.numpy与list之间numpy转listlistData=numpyData.tolist()list转numpynumpyData=numpy.array(listData)2.df与list之间df转list#一维的dataFramelistData=dfData.values.tolist()#某列dataFramelistData=df['columnNa原创 2021-11-29 16:18:39 · 2831 阅读 · 0 评论 -
确定神经网络层数以及神经元个数
神经网络主要由输入层,隐藏层以及输出层构成,合理的选择神经网络的层数以及隐藏层神经元的个数,会在很大程度上影响模型的性能(不论是进行分类还是回归任务)。输入层的节点数量以及输出层的节点数量是最容易获得的。输入层的神经元数量等于数据的特征数量(feature个数)。若为回归,则输出层的神经元数量等于1;若为分类,则输出层的神经元数量为分类的类别个数(如区分猫狗,则为2;区分手写数字0-9,则为10)。1.确定隐藏层的层数对于一些很简单的数据集,一层甚至两层隐藏元都已经够了,隐藏..原创 2021-11-25 15:04:54 · 30271 阅读 · 3 评论 -
Pytorch优化器选择
Pytorch中有四种常用的优化器,SGD、Momentum、RMSProp、Adam,那我们该如何选择呢。1.SGD参数介绍:--lr(float) :学习率--momentum(float,可选):动量因子(默认为0)--weight_decay(float,可选):权重衰减(L2惩罚,默认为0)--dampening(float,可选):动量的抑制因子(默认为0)--nesterov(bool,可选):使用Nesterov动量(默认为false)示例代码:op原创 2021-11-20 20:32:55 · 4948 阅读 · 0 评论 -
python tqdm添加进度条
用神经网络做迭代的时候,有些时候迭代次数比较多,等待的时候想看究竟迭代到了哪一次,虽然普通的print输出可以满足我们的需求,但是比较low,这里介绍一种超级简单的进度条安装包tqdm。导入包from tqdm import tqdmfrom colorama import Forefor epoch in tqdm(range(1000),bar_format='{l_bar}%s{bar}%s{r_bar}' % (Fore.CYAN, Fore.RESET)): time.sl原创 2021-11-19 15:28:02 · 1355 阅读 · 0 评论 -
pycharm安装pytorch
在pycharm上安装pytorch时候,踩了不少坑,终于安装好了。下面是教程:1.安装前的准备工作最好先将conda或者pip的镜像源更换为国内的镜像,否则会报莫名其妙的超时错误或者失败等等。 并且将python版本升级到3.6.2以上,否则python版本过低也会报错,这里可以使用conda创建虚拟环境,选择你想要的python版本。2.确定你的cuda版本cmd命令行查看cuda版本nvidia-smi3.命令行的方式安装去pytorch官网:Start Locall原创 2021-11-05 15:57:25 · 19484 阅读 · 0 评论 -
遗传算法代码
全局搜索最优算法(1)——遗传算法这里以github上的遗传算法开源库为例子:首先我们安装GA(官方说依赖库好像只支持Python 3,但是我好像python2也安装成功了。。。)pip3 install pygad在这里我们讨论一个简单的全局优化过程,讨论(x−2)2+(y−4)2(x-2)^2+(y-4)^2(x−2)2+(y−4)2在x⊂(1,5),y⊂(6,9)x\subset(1,5),y\subset(6,9)x⊂(1,5),y⊂(6,9)的最大值。源码如下:import nump原创 2020-09-07 16:48:10 · 4645 阅读 · 6 评论