常见机器学习任务
数据
数据通常以二维数据形式给出
– 每一行:一个样本
– 每一列:一个
属性/特征
例:纽约公寓租赁数据
监督学习
学习到一个
x->y的映射,从而对数输入的
x进行预测
- 训练数据中包含要预测的标签
- 标签在训练数据中是可见变量
- 函数逼近
- 包含
分类、回归(线性回归)、决策树(非线性)、排序
(样本函数,输入及输出)
非监督学习
发现数据中“有意思的模式”,是知识的发现
-
训练集中不包含标签
- 标签在训练集中是隐含变量
-
聚类、降纬、概率密度估计
(样本函数,只有输入没有输出y,因为y需要自己预测)
增强学习
增强学习:
从行为的反馈(奖励或惩罚)中学习
- 设计一个回报函数(reward function),如果learning agent(如机 器人、回棋AI程序)在决定一步后,获得了较好的结果,那么我 们给agent一些回报(比如回报函数结果为正),得到较差的结果, 那么回报函数为负
– 增强学习的任务:找到一条回报值最大的路径
监督学习——分类
学习从输入
x到输出y之间的映射函数
(分类函数,函数逼近)
- armax代表根据x预测y标签概率最大时y的值,参照:
https://baike.baidu.com/item/argmax/6034072?fr=aladdin
- 给定训练数据D和输入x的情况下,输出为c的条件最大概率(
代指最佳训练模型
)
- y为离散值
如信用评级的例子:
输入值:
监督学习——回归
学习从输入
x到输出y之间的映射函数
(分类函数)
- y属于线性数据
如预测二手车价格的例子
- 输入/协变量x:车辆属性
- 输出y: 车子价格
非监督学习——聚类
(分类函数)
训练完成后会生成K*个类别
获取样本所属类别,i代表第i个样本所属于的类别,为隐含变量
半监督学习:根据带标签数据及不带标签数据进行分类
如:标记3D姿态
机器学习入门案例:波士顿房价预测
尝试一:假定房价与输入特征之间是线性关系
分类函数:
在线性回归模型中w为模型参数
一个特征属性:LSTAT
y=-0.73726292*LSTAT
训练集上性能:0.52929733(我们把>=0.6以上结果表示拟合)
测试集上性能:0.54355661
测试结果:
欠拟合训练集上的性能和测试集上性能都不好,且二者差 异不大
二个特征属性:LSTAT、RM
y = 0.40574 * RM - 0.49767371 * LSTAT
• 训练集上性能:0. 65077857
• 测试集上性能:0.55982473
所有特征属性:
y = -0.08508323 ́CRIM+...0.36499271 ́RM+...-0.39541583 ́LSTAT
训练集上性能:0. 74514483
测试集上性能:0.69029595
使用11个特征
使用特征: CRIM、ZN、INDUS、CHAS、NOX、RM、 DIS、RAD、TAX、PTRATIO、B、LSTAT
– 去掉INDUS和AGE特征
模型为:
y = -0.07849129 ́CRIM+...0.31939438 ́RM+...-0.43518032 ́LSTAT
训练集上性能:0. 74076715
测试集上性能:0.69173467
特征多不一定准确率高
尝试二:决策树(输入特征与房价为非线性关系)
树的最大深度max_depth:1~10
10折交叉验证结果:
机器学习任务的一般步骤
模型
对给定的输入x,如何预测其标签y
- 不同模型对数据的假设不同
- 最简单的模型线性模型
- 确定模型类别后,模型训练转化为求解模型
参数
求解模型参数wj:目标函数最小化(即wj 最小?)
目标函数(
重点
)
目标函数通常包含两项:损失函数和正则项,目前尚不清楚它存在的意义
损失函数——回归
损失函数——分类
正则项
常用正则函数
常见线性模型的损失和正则项组合
非线性模型
模型训练
模型选择与模型评估
K折交叉验证
模型选择