1.单一数字评估指标(a single number evaluation metric)
有时候要比较那个分类器更好,或者哪个模型更好,有很多指标,很难抉择,这个时候就需要设置一个单一数字评估指标。
例1:比较A,B两个分类器的性能,有精确率(Precision)和召回率(Recall)两个指标,难以抉择,F1分数(F1 Score)就是一个单一数字评估指标,兼顾了Precision和Recall,。
![](https://i-blog.csdnimg.cn/blog_migrate/4e99ea2980583ef9c7f17575d56aa267.png)
例2:比较下面几个算法,Average也是一个单一数字评估指标。
![](https://i-blog.csdnimg.cn/blog_migrate/8a2971b3e1fd8356d49286f00585f5f3.png)
2.迁移学习(Transfer learning)
从一个已经训练好的神经网络中学习到的知识,应用到另一个神经网络中。
例:从一个识别猫的神经网络中,有很多低层次的特征(low level features),比如边缘检测、曲线检测,可以将这些知识应用到放射科诊断的神经网络。
迁移学习什么时候有意义?(任务A->任务B)
①两个任务(神经网络)有相同的输入,比如都是图片或音频。
②往往任务A的训练数据很多,任务B的训练数据没有很多。
③任务A的神经网络的低层次特征对任务B是有用的。
3.多任务学习(Muti-task learning)
让神经网络同时做几件事情。
例:无人驾驶汽车,需要同时检测不同的物体,比如行人、车辆、停车标志、交通灯。如果要检测这四种物体,每一个训练样本的标签是一个4x1的向量。
![](https://i-blog.csdnimg.cn/blog_migrate/dbac1b2db7892af8e1ea40ad25047503.png)
多任务学习什么时候有意义?
①这些任务有共同的低层次特征(shared lower-level features)。
②每个任务的训练数据差不多。
4.端到端的深度学习(end-to-end deep learning)
传统的学习系统,需要多个阶段的处理过程,端到端的深度学习就是忽略这些阶段,仅用单个神经网络代替它。
例1:语音识别(speech recognition)。
传统方法:输入一段音频,提取低层次特征,从音频片段中找到音位,将音位串起来形成单词,最后构成音频的听写文本。
端到端:用一个神经网络,输入是一段音频,输出直接是听写文本。
例2:人脸识别(face recognition)。
一般分两步。第一步,检测器查找人脸位置,找到并提取人脸图片,然后,放大,剪裁,让人脸居中。第二步,将人脸图片喂进神经网络,判断人的身份。
例3:机器翻译(machine translation),比如英语->法语。
传统方法:拿到英语文本,文本分析,从文本中提取特征...
端到端:用一个神经网络,输入是英语文本,输出直接是法语文本。如今收集大量这种(英文,法文)的数据对也很容易。
优点:简化整个设计流程,不需要中间的那些手工设计组件(hand-designing of components)。
缺点:需要大量数据来训练。排除了那些可能有用的手工设计组件。