监督学习(supervised learning)
Google给出的定义: 机器学习系统通过学习如何组合输入信息来对从未见过的数据做出有用的预测。
经过数据探索,假设场景符合 y = f(x1,x2, ... , xn), 即认为f存在,通过一些工具和算法,来找到或接近f
理想 y = f(x1,x2, ... , xn)
现实 y' = model(x1,x2, ... , xn)
标签
标签是我们要预测的事物,即简单线性回归中的 y
变量。如标签可以是图片中人物的性别,股票的涨跌,用户是否会购买等
特征
特征是指用于描述数据的输入变量, 即简单线性回归中的 x
变量, 简单的机器学习项目可能会使用单个特征,而比较复杂的机器学习项目可能会使用数百万个特征 如:
- 基本线性回归中的 {x1、x2、…xn} 变量
样本
样本指我们收集数据的特定实例
- 有标签样本 {特征,标签}: (x,y)
- 无标签样本 {特征, ?}
在监督学习中我们使用有标签样本来训练模型,然后用来预测无标签的样本的标签.
模型
模型定义了特征与标签之间的关系,即可将样本映射到预测标签:y'
模型由的内部参数定义,我通常说的训练实质上是,通过学习得到这些内部参数值
-
训练表示创建或学习模型。也就是说,您向模型展示有标签样本,让模型逐渐学习特征与标签之间的关系。
-
预测表示将训练后的模型应用于无标签样本。也就是说,您使用训练后的模型来做出有用的预测 (
y'
)比如通过模型来,判断图片中是猫还是狗,预测用户是否会点击或购买该商品
回归与分类
监督学习,通常用来解决回归和分类问题
回归模型可预测连续值。例如,回归模型做出的预测可回答如下问题:
- 北京二环一栋房产的价值是多少?
- 用户点击此广告的概率是多少?
分类模型可预测离散值。例如,分类模型做出的预测可回答如下问题:
- 这是一张狗、还是猫图片?
线性or非线性
无论是回归和分类问题都存在线性和非线性问题,在进行监督学习时会遇到非常多的非线性场景。
- 线性网络
- 非线性网络
线性网络可以由线性方程或多层线性方程组合进行拟合。需要注意如果神经网络中不使用非线性激活函数那么任何任意层数的神经网络都将只能模拟线性关系。
那么神经网络是如何通过线性方程来模型非线性的呢?有两个办法:
-
使用非线性激活函数
-
通过特征组合也可以使得线性网络来拟合非线性网络
-
如果你可以确认场景是线性的,那么不妨去掉神经网络中的激活函数,也无需使用特征组合,这样你的模型会更加简单和易收敛
特征组合
特征组合是指通过将两个或多个输入特征相乘来对特征空间中的非线性规律进行编码的合成特征。