机器学习(一)概述

目录

前言

一、机器学习的定义

二、机器学习的用处

三、机器学习系统的类别

四、机器学习面临的挑战及解决办法


前言

想要在入职前将机器学习的理论和代码系统地学习一遍,所以从今天起打算日更一篇博文,以记录每天的学习成果和进步。今天是第一天,从机器学习概述讲起,主要包括机器学习的四个方面:定义、用处、类别、挑战及解决办法。

一、机器学习的定义

机器学习(ML, Machine Learning)有很多种定义方法,我比较认可的是Tom Mitchell在1997年提出的“ETP定义”:A computer program is said to learn from experience E with respect to some task T and some performance measure P, if its performance on T, as measured by P, improves with experience E.

我的理解是:

机器学习是能够通过对E的学习从P的意义上提升解决T的能力电脑程序

E:Experience,经验,通常指数据集;

P:Performance measure,性能测度,如准确率、召回率等;

T:Task,任务,如垃圾邮件检测、目标识别等。

二、机器学习的用处

在机器学习方法出现之前,一般是通过写规则的方式来处理一些任务,并不断对规则进行完善和更新,例如维护一个垃圾邮件中常频词的词表,根据邮件中出现的常频词的个数来识别垃圾邮件。

而近几年火起来的机器学习,采用大量数据对算法进行训练,在以下四种情形中超越了传统的基于规则的方法:

  • 传统规则太多太复杂太难调试
  • 任务复杂到无法写规则、没有解
  • 需要适应不断有新数据的波动情形(在新数据下自动重新训练ML算法;或采用online learning的ML算法)
  • 需要从大量数据中观察规律(Data mining)

三、机器学习系统的类别

一个机器学习系统可以从三个维度上进行划分,先上一个简图:

机器学习(一)概述_第1张图片

再来一个全面的思维导图:

机器学习(一)概述_第2张图片

补充:

1. 如果batch learning的数据量太大,也可以将batch learning通过MapReduce技术分散到多个服务器上。 

2. 回归按特征数量有multiple regression(多个特征),按预测值的个数有univariate regression(只预测一个变量)和multivariate(预测多个变量)。

四、机器学习面临的挑战及解决办法

机器学习(一)概述_第3张图片

其中对数据集进行4组划分需要额外说明一下:

1. 通过train set来训练模型

2. 通过test set来检验训练出的模型对新数据的适应性,防止对train set过拟合,从而选定模型大类(如线性模型or多项式模型),划分时一般留足测试样本数量以保证准确率小数点的精确性即可,也即一般80%训练集、20%测试集,但当数据量比较多时留足测试样本就可以了

3. 通过validation set来选定模型的超参数,包括holdout验证、交叉验证、留一验证等方法,一般是从训练集中分出一部分作为验证集

机器学习(一)概述_第4张图片

4. 通过train-dev set来判断是否有训练数据与应用数据的mismatch

当搜集到的data set和真正应用到production的data无法保证全都匹配的话,需要注意两件事:一是要保证验证集和测试集的data必须和production中的data完全匹配,从而保证验证结果的准确性;二是提前从训练集里分出一部分作为train-dev集,用来区分在验证集上性能不好的原因,如果在train-dev集上面性能好那就是因为数据不匹配,如果在train-dev集上面性能不好那就是因为对训练集overfitting了。

你可能感兴趣的:(机器学习)