机器学习算法

Posted by RAIS on 2020-03-31
  • 本文首发自公众号:RAIS

前言

本系列文章为 《Deep Learning》 读书笔记,可以参看原书一起阅读,效果更佳。深度学习是机器学习的子集,因此想更深入的了解深度学习,需要对机器学习的一些基本原理。

学习算法

机器学习算法是一种能够从数据中学习的算法,有人给出学习的定义 “对于某类任务 T 和性能度量 P,一个计算机程序被认为可以从经验 E 中学习是指,通过经验 E 改进后,它在任务 T 上由性能度量 P 衡量的性能有所提升”(通过经验以提高计算机程序在某些任务上性能的算法),我们分别聊一聊其中提到的 任务 T性能度量 P经验 E,最后再给出一个例子进行说明。

任务 T

我们之前的文章中提到过几种机器学习类别,比如二分类问题,多分类问题,回归问题等,接下来我们做一个总结。

  • 分类:计算机程序需要指定某些输入属于 K 类中的哪一类。对于此类问题,机器学习算法可能会返回一个函数:R² -> {1, 2, 3, …, k},或者是不同类别的概率分布。
  • 输入缺失分类:输入的数据有可能“不好”,有一些属性的缺失等,这样算法学习出来的映射关系就可能不是单一的了,有可能是一组函数,其中分别对应着不同属性的缺失(数学做法上可能不是单纯的计算某些属性缺失后进行训练,而有可能是计算其联合概率分布)。
  • 回归问题:对给定输入预测数值,例如以前个房屋价格预测问题。
  • 转录问题:机器学习系统观测一些非结构化表示的数据,转录为离散的文本形式。例如根据图片内容返回文本内容或者是语音识别。
  • 机器翻译:输入一种语言,翻译成另外一种语言,自然语言处理问题。
  • 结构化输出:这是针对输出而言的,输出是向量或者是其他包含多个值的数据结构。例子有语法分析、图像的像素级分割。
  • 异常检测:标记不正常或非典型的个体,例如信用卡盗刷或者是异地登录检测等。
  • 合成和采样:机器学习生成一些和训练数据相似的新样本,比如模仿某些作家作诗、音乐家谱曲等。
  • 缺失值填补:机器学习对样本中的缺失值进行填补。
  • 去噪:机器学习算法通过损坏的样本预测干净的样本,或者是预测条件概率分布。

性能度量 P

对于不同的问题我们的度量指标不同,最常用的 准确率错误率 针对分类、缺失输入和转录任务等任务。一般情况下所需要解决的实际问题就是性能度量指标。一般情况下,我们会将数据分为 训练集测试集,我们会用普通的办法根据概率或经验预测,给出一个基准值,学习后的模型优于这个基准值才算是有效的。

经验 E

机器学习算法根据经验不同,可以分为 无监督学习算法监督学习算法。无监督学习算法是在含有许多特征的数据集中学习出有用的特征或结构性质,在无指导的情况下理解数据;监督学习算法数据集中的样本包含标签或目标,有目标导向。注意机器学习中监督和非监督形式的这两种方法很多情况下是一起使用的。这两种方法都是固定数据集的,需要指出 强化学习 算法会和环境交互,数据集不是固定的。数据集的表示方法是 矩阵,每一行是一条数据,每一列是一个数据项。

线性回归

这是一个例子,这是一个回归问题,因此是一个预测问题,线性代表数据具有线性关系,如常说的正比关系,特点是模型简单,容易解释,且速度快,在机器学习中有很大的用处。