深度学习的一些概念分享

深度学习有哪些神经网络

一般来说,训练深度学习网络的方式主要有四种:

  • 监督学习(supervised learning)
  • 无监督学习 (unsupervised learning)
  • 半监督学习(semi-supervised learning)
  • 强化学习(reinforcement learning)

监督学习

是指用已经标记好的数据,做训练模型来预测新数据的类别。

无监督学习

是指不需要提前对数据进行标记,直接对它们进行聚类。

半监督学习

是指同时用了有监督学习的方法和无监督学习的方法。准确来说是同时用来标记好的数据和未标记的数据。

强化学习

强化学习也是使用未标记的数据,但是可以通过某种方法知道你是离正确答案越来越近还是越来越远。

以上只是给出各个神经网络学习方法的基本概念,基本上初次接触深度学习基本不知道它讲的是啥,它们的定义都是从数据层面来看的,我们需要先理解什么叫做标记好的数据未标记好的数据,脱离数据谈深度学习基本都是瞎扯,我们训练模型都是为了让计算机学习到一些东西,而数据就可以说是我们的一些先验知识

什么是标记好的数据?

举个例子吧,比如我们有很多猫的图片和狗的图片,我们分别给这些图片打上标签(label),用来告诉计算机哪些是猫的图片,哪些是狗的图片,类似这些数据就是标记好的数据。而未标记好的数据则是没有被打上标签的。

图片引用自:莫烦PYTHON

监督学习有哪些数据集?

目前笔者接触深度学习并不多,都还处于监督学习的阶段当中,所以这里说的数据集也是基于监督学习来说的。

我们在进行有监督的神经网络学习当中,经常会谈到以下几个数据集:

  • 训练集(train dataset)
  • 验证集(validation dataset)
  • 测试集(test dataset)

训练集

字面意思,就是用来训练模型的数据集。

验证集

作用是当通过训练集训练出多个模型之后,使用各个模型对验证集进行预测,并记录模型的准确率。

测试集

测试集是从原始数据划分出来用来预测训练好的模型,通常用来衡量模型的性能和分类能力。必须要注意,测试集是不允许出现在训练集当中的,不然就没有意义了。

问题:三个数据集该怎么划分?

是的,这也是笔者在拿到原始数据在进行数据划分产生的疑惑,关于这三块数据集有什么经验值呢,其实是有的:

小数据集

  • 训练集 60%
  • 验证集 20%
  • 测试集 20%

大数据集

比如100万数据,我们可以按照以下比例划分:

  • 98/1/1(训练集/验证集/测试集)
  • 99.5/0.4/0.1(同上)

具体可以参考吴恩达的深度学习课程。

分类模型有哪些评测指标?

当数据集有了,模型也训练出来了,那我们怎么去评测一个模型的性能和效果呢,这里以分类模型来谈下如何衡量模型的好坏,不同的模型的评价指标不一样,后续笔者学到的话也会分享给大家。

分类模型一般会有哪些指标呢?

  • 正确率(Accuracy)
  • 精确率(Precision)
  • 召回率(Recall)
  • F1值(F1-Measure)

定义样本的计算变量:

TP(True Positive):正类被预测为正类样本数 FP(False Positive):正类被预测为负类样本数 TN(True Negative):负类被预测为负类样本数 FN(False Negative):负类被预测为正类样本数

你可能会比较懵,这里正样本指的是正类,比如我要识别一张猫的图片,猫的图片就是我们的正样本,而其他类型的图片就是我们的负样本,比如狗的图片就是负类我们不希望它被识别为猫的。

正确率

对于给定的测试集,分类器正确分类的样本数总样本数之比。

计算公式:Acc = (TP + TN) / all

精确率

正类被预测为正类样本数正类被预测为正类样本数与负类预测为正类数之和的比例。

计算公式:prec = TP / TP + FN

召回率(recall)

正类被预测为正类样本数正类被预测为正类样本与正类被预测为负类之和的比例

计算公式:recall = TP / TP + FP

F1-measure

精确率召回率的调和均值。

计算公式:F1 = 2PR / P + R

光看计算公式基本也懵了吧,笔者有时候在考虑这一块的指标也会搞混,引用一张图来看几个指标来看看会不会更好理解:

A:(搜到的也想要的) B:检索到的,但是不相关的 (搜到的但没用的) C:未检索到的,但却是相关的 (没搜到,然而实际上想要的) D:未检索到的,也不相关的(没搜到也没用的)

图引用自:https://www.cnblogs.com/sddai/p/5696870.html

我们在实际考虑模型的效果的时候,不一定所有指标都看,得结合我们的应用场景去看我们更关注哪些指标,比如说我们做敏感文本审核,我们可能更关注精确率,我们可能允许一些误伤,但如果我们要做敏感文本清洗,我们可能更关注召回率,因为我们需要保证正样本绝大部分被识别出来,漏掉的部分我们可以采取人工的手段去解决。

总结

本篇文章简单介绍了目前深度学习训练神经网络的一些方法,介绍了关于监督学习的数据集划分还介绍了我们怎么去评测一个分类模型的好坏,它们的指标有哪些,这是笔者觉得像我们这种深度学习入门者可能要关注的一些点,包括数据和评测方式,希望对你们有帮助。

原文发布于微信公众号 - 小巫技术博客(wwjblog)

原文发表时间:2018-01-30

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏iOSDevLog

机器学习概述与算法介绍

20350
来自专栏机器学习算法与Python学习

集成学习(EL)综述

机器学习方法在生产、科研和生活中有着广泛应用,而集成学习则是机器学习的首要热门方向。集成学习是使用一系列学习器进行学习,并使用某种规则把各个学习结果进行整合从而...

31080
来自专栏应兆康的专栏

22. 对比最优误差率

13510
来自专栏AI科技大本营的专栏

福利 | 跟我一起学《图解机器学习》

本文节选自日本理化学研究所先进智能研究中心主任杉山将的《图解机器学习》的第一章。 如果喜欢这本书,请在评论区留言,说出你目前在机器学习方面所遇到的问题,评论点...

28290
来自专栏个人分享

统计学如何用少量数据概括数据(相关概念)

用少量数据来概括大量数字是日常生活中常见的。那么可以用少量所谓汇总统计量或概括统计量(summary statistic)来描述定量变量的数据。任何样本的函数,...

10020
来自专栏PaddlePaddle

【AI核心技术】课程二:Modern AI课程体系

从今天开始,UAI与PaddlePaddle联合推出的【AI核心技术掌握】系列课程继续更新!

13130
来自专栏新智元

MIT 研究“看见”神经网络形成概念过程,神经网络不全是黑箱

【新智元导读】MIT 新研究为解开深度神经网络黑箱迈出重要一步:今年的CVPR上,研究者提交一份新的研究,全自动分析了 ResNet,VGG-16,GoogLe...

34150
来自专栏Java 源码分析

数字图像处理

29080
来自专栏机器之心

学界 | 与模型无关的元学习,UC Berkeley提出一种可推广到各类任务的元学习方法

选自BAIR Blog 作者:Chelsea Finn 机器之心经授权编译 参与:路雪、蒋思源 学习如何学习一直是机器学习领域内一项艰巨的挑战,而最近 UC B...

38490
来自专栏机器之心

学界 | 通过Crowd Layer,利用众包标注数据集进行深度学习

选自arXiv 机器之心编译 参与:刘晓坤、路雪 本文通过在深度神经网络中引入一种新型众包层(crowd layer),通过反向传播方式,直接利用噪声标签实现端...

47260

扫码关注云+社区

领取腾讯云代金券