浅读机器学习 - 周志华
机器学习基础入门认知
前言
记录学习机器学习的日子,类笔记
随着人工智能的不断发展,很多人都开启了学习机器学习。
科学:是什么,为什么
技术:怎么做
工程:做得多快好省
应用
快速入门
一、机器学习是什么?
经典定义:利用经验改善系统自身的性能 [T.Mitchell教科书,1997]
智能数据分析 - 计算机算法
label:标签;类别标记
(使用学习算法learning algorithm)训练 -> (新数据样本进入)模型(如决策树,神经网络,支持向量机,Boosting,贝叶斯网等)
注:适用于全局的称为模型(找到了某种规律),适用于局部的称为模式(pattern)
基本术语
-
数据集,训练,测试(两个数据应不等)
-
示例(instance),样例(example)
-
样本(sample)
-
属性(attribute),特征(feature),属性值
-
属性空间/ 样本空间/ 输入空间
-
特征向量(feature vector)
-
标记空间,输出空间
-
假设(hypothesis)
-
真相(ground-truth)
-
学习器(learner)
输出:
- 分类,回归
- 二分类,多分类
- 正类,反类
学习任务:
- 监督学习(supervised learning)有期望结果
- 无监督学习(unsupervised learning)
未来:
- 未见样本(unseen instance)
- 位置“分布”
- 独立同分布数据(i.i.d.)独立随机事件
- 泛化(generalization)- specialization
归纳偏好(Inductive Bias)
任何一个有效的机器学习算法必有其偏好
与问题本身匹配,取得好的性能
一般原则:奥卡姆剃刀(Occam’s razor)- 若非必要,勿增实体
过拟合和欠拟合
泛化误差:在“未来”样本上的误差
经验误差:在训练集上的误差,亦称“训练误差”
“Overfitting” - 过配(没有完美解决方案)
“Underfitting” - 欠配
模型选择(Model Selection)
评估方法 - 获得测试结果 (with unseen data)
性能度量 - 评估性能优劣
比较检验 - 判断实质差别
(基于这三项,进行新设计/ 发明)
评估方法
关键在于怎么获得“测试集”(test set)- 测试集应该与训练集“互斥”
常见方法
a. 留出法(hold-out)
b. 交叉验证法(cross validation)
c. 自助法(bootstrap)
留出法:
拥有的数据集(训练集 | 测试集)八二
注意:
- 保持数据分布一致性(例如:分层采样)
- 多次重复划分(例如:100次随即划分 - 随机样本切分导致的影响平均掉)
- 测试集不能太大、不能太小(例如:1/5 ~ 1/3)
k-flod(折/ 倍)交叉验证法:
分为数个子集(训练集 | 测试集)-> 测试结果得平均
若k = m,则得到“留一法”(leave-one-out,LOO)
REMEMBER: NO free lunch!
自助法:
基于“自助采样”(bootstrap sampling)/ “有放回采样”、“可重复采样”
1/e ≈ 0.368,约有36.8%的样本不出现,“包外估计”(out-of-bag estimation)
- 训练集与与原样本集同规模
- 数据分布有所改变
二、
1.决策树
2.线性回归
线性模型(linear model)试图学得一个通过属性的线性组合来进行预测的函数
简单,基本,可理解性好
线性回归(linear regression)
总结
提示:这里对文章进行总结: