分类数据

如何选择神经网络的超参数

房东的猫 提交于 2019-11-28 05:17:50
原 十、如何选择神经网络的超参数 2017年08月18日 10:33:06 独孤呆博 阅读数 21041 版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 本文链接: https://blog.csdn.net/dugudaibo/article/details/77366245 本博客主要内容为图书 《神经网络与深度学习》 和National Taiwan University (NTU)林轩田老师的 《Machine Learning》 的学习笔记,因此在全文中对它们多次引用。初出茅庐,学艺不精,有不足之处还望大家不吝赐教。   在之前的部分,采用梯度下降或者随机梯度下降等方法优化神经网络时,其中许多的超参数都已经给定了某一个值,在这一节中将讨论如何选择神经网络的超参数。 1. 神经网络的超参数分类   神经网路中的超参数主要包括1. 学习率 η ,2. 正则化参数 λ ,3. 神经网络的层数 L ,4. 每一个隐层中神经元的个数 j ,5. 学习的回合数 E p o c h ,6. 小批量数据 m i n i b a t c h 的大小,7. 输出神经元的编码方式,8. 代价函数的选择,9. 权重初始化的方法,10. 神经元激活函数的种类,11.参加训练模型数据的规模 这十一类超参数。  

深度学习调参经验汇总

橙三吉。 提交于 2019-11-28 05:16:47
此篇文章是在原创教程这个栏目下,但实际上是一篇汇总整理文章。相信大家在做深度学习时对调参尤为无奈,经验不足乱调一通,或者参数太多无从下手,我也如此。希望通过此文汇总网上一些调参的经验方法,供大家参考。此文会对网上每一篇调参文章做简练的总结与提炼,以此为此文的组成单元,并附上原文的链接。如果遇到不对的地方,欢迎指正~本文也将不定期更新,最后祝大家调参(炼金)顺利! 有多少人工,就有多少智能!(笑哭脸) 人工智障 炼金大法 你已经是成熟的算法了,要学会自己调参 正文开始 UNIT 1 case1: 网络错误没有正确训练,损失完全不收敛。可能两种原因:1,错误的input data,网络无法学习。 2,错误的网络,网络无法学习。 解决办法:(1)请检测自己的数据是否存在可以学习的信息,这个数据集中的数值是否泛化(防止过大或过小的数值破坏学习)。(2)如果是错误的数据则你需要去再次获得正确的数据,如果是数据的数值异常我们可以使用zscore函数来解决这个问题(3)如果是网络的错误,则希望调整网络,包括:网络深度,非线性程度,分类器的种类等等。 case2: 部分收敛。可能原因:1.underfitting,就是网络的分类太简单了没办法去分类,因为没办法分类就是没办法学到正确的知识。2.overfitting

yolov1-yolov3原理

断了今生、忘了曾经 提交于 2019-11-28 01:26:09
YOLOv3原理 YOLO发展概述 2015 年,R-CNN 横空出世,目标检测 DL 世代大幕拉开。 各路豪杰快速迭代,陆续有了 SPP,fast,faster 版本,至 R-FCN,速度与精度齐飞,区域推荐类网络大放异彩。 奈何,未达实时检测之,难获工业应用之青睐。 此时,凭速度之长,网格类检测异军突起,先有 YOLO,继而 SSD,更是摘实时检测之桂冠,与区域推荐类二分天下。然却时遭世人诟病。 遂有 JR 一鼓作气,并 coco,推 v2,增加输出类别,成就 9000。此后一年,作者隐遁江湖,逍遥 twitter。偶获灵感,终推 v3,横扫武林! YOLO不断吸收同化对手,进化自己,提升战斗力:YOLOv1 吸收了 SSD 的长处(加了 BN 层,扩大输入维度,使用了 Anchor,训练的时候数据增强),进化到了 YOLOv2; 吸收 DSSD 和 FPN 的长处,仿 ResNet 的 Darknet-53,仿 SqueezeNet 的纵横交叉网络,又进化到 YOLO 第三形态。 但是,我相信这一定不是最终形态。让我们拭目以待吧! YOLO v1~v3的设计历程 Yolov1 这是继RCNN,fast-RCNN和faster-RCNN之后,rbg(RossGirshick)针对DL目标检测速度问题提出的另外一种框架。YOLO V1其增强版本GPU中能跑45fps

CNN原理

萝らか妹 提交于 2019-11-28 01:07:34
卷积神经网络(Convolutional Neural Network)的结构类似于神经网络,可以看做是对其的改进。它利用 局部连接 、 权值共享 、 多核卷积 、 池化 四个手段大大降低了参数的数目,使得网络的层数可以变得更深,并且能够合理的隐式的提取特征。CNN主要用来识别位移、缩放及其他形式扭曲不变性的二维图形。由于其特征检测层通过训练数据进行学习,隐式地从训练数据中进行学习, 避免了显式的特征抽取 ;再者由于同一特征映射面上的神经元权值相同,所以 网络可以并行学习 ,这也是卷积网络相对于神经元彼此相连网络的一大优势。卷积神经网络以其局部权值共享的特殊结构在语音识别和图像处理方面有着独特的优越性,其布局更接近于实际的生物神经网络,权值共享降低了网络的复杂性,特别是 多维输入向量的图像 可以直接输入网络 这一特点避免了特征提取和分类过程中数据重建的复杂度它可以直接处理灰度图片,能够直接用于处理基于图像的分类。 卷积神经网络是一种带有卷积结构的深度神经网络,卷积结构可以减少深层网络占用的内存量。卷积神经网络的结构组成如下图: 其中包含有: 输入层、 卷积层 (Convolutional Layer)、 激励层 (ReLU layer) 池化层 (下采样层Pooling Layer)、 全连接层 (Fully Connected Network) 输出层 卷积神经网络层、池化层

cs231N_课程笔记 (转)

本秂侑毒 提交于 2019-11-28 00:03:14
本文转载自:https://zhuanlan.zhihu.com/p/21560667?refer=intelligentunit 译者注:本文智能单元首发,译自斯坦福CS231n课程笔记Neural Nets notes 2,课程教师Andrej Karpathy授权翻译。本篇教程由杜客翻译完成,堃堃进行校对修改。译文含公式和代码,建议PC端阅读。 原文如下 内容列表: 设置数据和模型 数据预处理 权重初始化 批量归一化(Batch Normalization) 正则化(L2/L1/Maxnorm/Dropout) 损失函数 小结 设置数据和模型 在上一节中介绍了神经元的模型,它在计算内积后进行非线性激活函数计算,神经网络将这些神经元组织成各个层。这些做法共同定义了评分函数(score function)的新形式,该形式是从前面线性分类章节中的简单线性映射发展而来的。具体来说,神经网络就是进行了一系列的线性映射与非线性激活函数交织的运算。本节将讨论更多的算法设计选项,比如数据预处理,权重初始化和损失函数。 数据预处理 关于数据预处理我们有3个常用的符号,数据矩阵X,假设其尺寸是[N x D](N是数据样本的数量,D是数据的维度)。 均值减法(Mean subtraction)是预处理最常用的形式。它对数据中每个独立特征减去平均值

【云速建站】后台数据批量导入导出

跟風遠走 提交于 2019-11-27 21:31:06
【摘要】 主要分享了云速建站后台管理的批量导入数据操作方法,如产品分类、产品、淘宝在售产品等的批量导入 1 产品分类的导入导出 1.1 进入后台管理 首先登录云速建站控制台,进入后台管理-产品-管理分类 当前分类无数据 1.2 导出分类模板 点击导入数据,下载模板文件 打开下载的模板文件 编辑维护分类数据(先把第2行的中文删除) 数据编辑完,点保存时出现如下提示,选择是 1.3 导入产品分类 回到后台管理,点击导入数据 把刚才维护的数据文件上传,点击确定 查看管理分类,可以看到分类数据已经导入进来了,层级关系也没有错误 1.4 导出产品分类 在管理分类页,选中导出分类数据,然后点击导出按钮 打开导出的csv文件 2 产品的导入导出 2.1 导入前提 首先我们需要维护好产品分类,因为设置的分类系统会自动生成一个唯一的标识数字,导入的产品就是根据这些数字来划分到各个分类下的。 维护的分类如下 导出分类,取得各个分类的标号id,具体步骤参考1.5 2.2 维护导入数据 先添加几个产品,然后导出,取得数据模板 打开导出的csv文件 根据csv里边的产品信息填写,这里我新添加了5个产品(商品6-商品10),看店铺类目可知,新加的产品都是二手房、小区类别的 (从导出的产品数据模板可以看到,店铺类目这里对应的就是产品分类,我们在2.1已经获取到产品分类的id了) 维护好数据后,把导出的商品1

机器学习 Python scikit-learn 中文文档(3)使用 scikit-learn 介绍机器学习

走远了吗. 提交于 2019-11-27 21:16:05
与官方文档完美匹配的中文文档,请访问 https://www.studyai.cn 与官方文档完美匹配的中文文档,请访问 https://www.studyai.cn Logo 首页 安装 文档 案例 Fork me on GitHub Previous scikit-learn 教程 Next 用于科学数据处理的统计学习教程 Up scikit-learn 教程 scikit-learn v0.20.1 其他版本 该中文文档由人工智能社区的Antares翻译! 使用 scikit-learn 介绍机器学习 机器学习:问题设置 加载示例数据集 学习和预测 模型持久化 规定或约定(Conventions) 类型转换 再次训练和更新参数 多分类拟合 vs. 多标签拟合 使用 scikit-learn 介绍机器学习 内容提要 在本节中,我们介绍一些在使用 scikit-learn 过程中用到的 机器学习<https://en.wikipedia.org/wiki/Machine_learning> _ 词汇, 并且给出一些例子阐释它们。 机器学习:问题设置 通常,我们的学习问题(learning problem)要考虑一个包含n个样本 (samples) 的数据集合,然后尝试预测未知数据的某个或某些属性。 如果每个样本不止一个数字,则称其具有若干属性(attributes)或特征

使用scikit-learn进行文本分类

为君一笑 提交于 2019-11-27 21:14:53
1. 数据来源 所用的数据是分类好的数据,详细描述见 SMS Spam Collection v. 1 ,可以从 github下载 ,数据在第4章。每一行数据包括包括两列,使用逗号隔开, 第1列是分类(lable),第2列是文本。 sms = pd.read_csv(filename, sep=',', header=0, names=['label','text']) sms.head Out[5]: <bound method DataFrame.head of label text 0 ham Go until jurong point, crazy.. Available only ... 1 ham Ok lar... Joking wif u oni... 2 spam Free entry in 2 a wkly comp to win FA Cup fina... 3 ham U dun say so early hor... U c already then say... 4 ham Nah I don't think he goes to usf, he lives aro... 5 spam FreeMsg Hey there darling it's been 3 week's n... 6 ham Even my brother is not like

Python Scikit-learn ---- SVM算法

允我心安 提交于 2019-11-27 21:13:24
支持向量机(SVM)是一组用于分类、回归和异常值检测的有监督学习方法。 SVMs: LinearSVC, Linear SVR, SVC, Nu-SVC, SVR, Nu-SVR, OneClassSVM 支持向量机的优点是: 高维空间中的有效性。 在维数大于样本数的情况下仍然有效。 在决策函数中使用训练点的子集(称为支持向量),因此它也是内存有效的。 多功能:可以为决策函数指定不同的内核函数。提供了常见核函数,但也可以自定义核函数。 支持向量机的缺点包括: 如果特征数远大于样本数,通过选择核函数和正则项避免过拟合是至关重要的。 支持向量机不直接提供概率估计,这些计算使用计算量大的的5折-交叉验证。 最简单分类超平面,1维:x=0,2维:x1+x2=0 当θTXi与 θTX值大于1时,也就是距离分类边界大于1,此时无损,损失为1 - ||θTXi - θTX||,下限为0无上限。 import time import numpy as np import scipy.io as scio import pandas as pd from numpy import newaxis #from pylab import * #包含了NumPy和pyplot常用的函数 from sklearn.cluster import KMeans from sklearn import svm

从结构到性能,一文概述XGBoost、Light GBM和CatBoost的同与不同

*爱你&永不变心* 提交于 2019-11-27 19:01:11
尽管近年来神经网络复兴并大为流行,但是 boosting 算法在训练样本量有限、所需训练时间较短、缺乏调参知识等场景依然有其不可或缺的优势。本文从算法结构差异、每个算法的分类变量时的处理、算法在数据集上的实现等多个方面对 3 种代表性的 boosting 算法 CatBoost、Light GBM 和 XGBoost 进行了对比;虽然本文结论依据于特定的数据集,但通常情况下,XGBoost 都比另外两个算法慢。 最近,我参加了 kaggle 竞赛 WIDS Datathon,并通过使用多种 boosting 算法,最终排名前十。从那时开始,我就对这些算法的内在工作原理非常好奇,包括调参及其优劣势,所以有了这篇文章。尽管最近几年神经网络复兴,并变得流行起来,但我还是更加关注 boosting 算法,因为在训练样本量有限、所需训练时间较短、缺乏调参知识的场景中,它们依然拥有绝对优势。 2014 年 3 月,XGBOOST 最早作为研究项目,由陈天奇提出 2017 年 1 月,微软发布首个稳定版 LightGBM 2017 年 4 月,俄罗斯顶尖技术公司 Yandex 开源 CatBoost 由于 XGBoost(通常被称为 GBM 杀手)已经在机器学习领域出现了很久,如今有非常多详细论述它的文章,所以本文将重点讨论 CatBoost 和 LGBM,在下文我们将谈到: 算法结构差异