机器学习策略-不匹配的训练和开发/测试数据 觉得有用的话,欢迎一起讨论相互学习~Follow Me 2.4在不同分布上训练和测试数据 在深度学习时代,越来越多的团队使用和开发集/测试集不同分布的数据来训练模型.下面解释一些方法来处理训练集和测试集存在差异的情况. Example1 假设你要开发一个识别猫的机器学习系统,其中 需要识别的是用户手机上传的猫的图片 这些图片往往清晰度低,取景不专业,识别度低.由于用户量少的缘故,这些图片量很少,只有大约1W张.但是从网上可以下载大量清晰度高,取景专业,…
Alink漫谈(七) : 如何划分训练数据集和测试数据集 目录 Alink漫谈(七) : 如何划分训练数据集和测试数据集 0x00 摘要 0x01 训练数据集和测试数据集 0x02 Alink示例代码 0x03 批处理 3.1 得到记录数 3.2 随机选取记录 3.2.1 得到总记录数 3.2.2 决定每个task选择记录数 3.2.3 每个task选择记录 3.3 设置训练数据集和测试数据集 0x04 流处理 0x05 参考 0x00 摘要 Alink 是阿里巴巴基于实时计算引擎 Flink…
机器学习策略 ML strategy 觉得有用的话,欢迎一起讨论相互学习~Follow Me 1.4 满足和优化指标 Stisficing and optimizing metrics 有时候把你要考虑的所有事情组合成单实数评估指标,有时候并不容易,这时候使用满足和优化指标很重要. 假设以下是一个猫分类器,在我们已经考虑准确度的情况下,我们还要考虑运行时间(即区分一张猫图片所用的时间) 我们的做法是在满足运行时间的条件下,最大限度的提高准确度.例如我们这里选取运行时间必须满足小于100ms的条件…
机器学习策略 ML strategy 觉得有用的话,欢迎一起讨论相互学习~Follow Me 1.8 为什么是人的表现 今天,机器学习算法可以与人类水平的表现性能竞争,因为它们在很多应用程序中更有生产力和更可行.并且设计和构建机器学习系统的工作流程都比以往更加高效.此外,人类所做的一些任务接近于"完美",这就是机器学习试图模仿人类水平表现的原因. 图中所示的是经过一段时间后人和机器的表现. 当算法逐渐逼近人类表现时,算法的准确率快速提高.但是当这个算法表现比人类更好时,进展和精确度的提…
机器学习策略 ML strategy 觉得有用的话,欢迎一起讨论相互学习~Follow Me 1.1 什么是ML策略 机器学习策略简介 情景模拟 假设你正在训练一个分类器,你的系统已经达到了90%准确率,但是对于你的应用程序来说还不够好,此时你有很多的想法去继续改善你的系统 收集更多训练数据 训练集的多样性不够,收集更多的具有多样性的实验数据和更多样化的反例集. 使用梯度下降法训练更长的时间 尝试一个不同的优化算法,例如Adam优化算法. 尝试更大的神经网络或者更小的神经网络 尝试dropout…
机器学习策略-误差分析 觉得有用的话,欢迎一起讨论相互学习~Follow Me 2.1 误差分析 训练出来的模型往往没有达到人类水平的效果,为了得到人类水平的结果,我们对原因进行分析,这个过程称为误差分析. 实例剖析 例如此时你正在训练一个猫分类器,其中正确率为90%,这离目标有一定的距离. 结果发现在错误图片中发现了狗的图片. 我们思考现在是否为了避免在猫图中混入狗而开始做一个项目专门处理狗.而做一个这样的项目会花费宝贵的时间并且不知道是否会取得很好的效果,此时我们利用误差分析流程权衡利弊,是…
机器学习策略-多任务学习 Learninig from multiple tasks 觉得有用的话,欢迎一起讨论相互学习~Follow Me 2.7 迁移学习 Transfer Learninig 神经网络可以从一个任务中习得知识,并将这些知识应用到另一个独立的任务中.例如:你已经训练好一个能够识别猫的系统,你利用这些知识或者这些知识的部分去完成更好的 阅读X射线扫描图. 这就是所谓的-- 迁移学习 how-to 假设你已经训练好一个图像识别神经网络,首先用一个神经网络,在(x,y)对上训练,其…
机器学习策略-端到端学习 End-to-end deeplearning 觉得有用的话,欢迎一起讨论相互学习~Follow Me 2.9 什么是端到端学习-What is End-to-end deeplearning 以前有一些数据处理系统或者学习系统,它们需要多个阶段的处理. 端到端学习就是忽略中间的过程用单个神经网络代替它. Speech recognition example 你的目标是输入X,比如说一段音频,目标是将其映射到Y,就是这段音频的听写文本. 传统阶段上,语音识别需要很多阶段…
觉得有用的话,欢迎一起讨论相互学习~Follow Me 1.1 训练/开发/测试集 对于一个数据集而言,可以将一个数据集分为三个部分,一部分作为训练集,一部分作为简单交叉验证集(dev)有时候也成为验证集,最后一部分作为测试集(test).接下来我们开始对训练集执行训练算法,通过验证集或简单交叉验证集选择最好的模型.经过验证我们选择最终的模型,然后就可以在测试集上进行评估了.在机器学习的小数据量时代常见的做法是将所有数据三七分,就是人们常说的70%训练集集,30%测试集,如果设置有验证集,我们可…
首先三个概念存在于 有监督学习的范畴 Training set: A set of examples used for learning, which is to fit the parameters [i.e., weights] of the classifier. Validation set: A set of examples used to tune the parameters [i.e., architecture, not weights] of a classifier, f…