机器学习基础
第一章、机器学习的概念
1.1 机器学习是什么
什么是学习
- 从人的学习说起
- 学习理论;从实践经验中总结
- 在理论上推导;在实践中检验
- 通过各种手段获取知识或技能的过程
机器怎么学习?
- 处理某个特定的任务,以大量的“经验”为基础
- 对任务完成的好坏,给予一定的评判标准
- 通过分析经验数据,任务完成得更好了
1.2 机器学习的开端
1952 年,IBM 的 Arthur Samuel (被誉为“机器学习之父”)设计了一款可以学习的西洋跳棋程序。
它能通过观察棋子的走位来构建新的模型, 并用其提高自己的下棋技巧。
Samuel和这个程序进行多场对弈后发现, 随着时间的推移,程序的棋艺变得越来越好。
1.3 机器学习的定义
机器学习(Machine Learning, ML)主要研究计算机系统对于特定任务 的性能,逐步进行改善的算法和统计模型。
通过输入海量训练数据对模型进行训练,使模型掌握数据所蕴含的潜 在规律,进而对新输入的数据进行准确的分类或预测。
是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸优化、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。
1.4 机器学习的过程
1.5 机器学习的示例
第二章、机器学习的分类
2.1 机器学习的主要分类
有监督学习:提供数据并提供数据对应结果的机器学习过程。
无监督学习:提供数据并且不提供数据对应结果的机器学习过程。
强化学习:通过与环境交互并获取延迟返回进而改进行为的学习过程。
2.2 无监督学习
无监督学习(Unsupervised Learning)算法采用一组仅包含输入的数据,通过寻找数据中的内在结构来进行样本点的分组或聚类。
算法从没有被标记或分类的测试数据中学习。
无监督学习算法不是响应反馈,而是要识别数据中的共性特征;对于 一个新数据,可以通过判断其中是否存在这种特征,来做出相应的反馈。
无监督学习的核心应用是统计学中的密度估计和聚类分析。
2.3 无监督学习应用
无监督聚类应用的一个例子就是在谷歌新闻中。
谷歌新闻每天都会收集很多新闻内容。它将这些新闻分组,组成有关 联的新闻,然后按主题显示给用户。
谷歌新闻做的就是搜索新闻事件, 自动地把它们聚类到一起,这些新闻事件全是同一主题的。
2.4 监督学习
监督学习(Supervised Learning)算法构建了包含输入和所需输出 的一组数据的数学模型。这些数据称为训练数据,由一组训练样本组成。
监督学习主要包括分类和回归。
当输出被限制为有限的一组值(离散数值)时使用分类算法;当输出可以具有范围内的任何数值(连续数值)时使用回归算法。
相似度学习是和回归和分类都密切相关的一类监督机器学习,它的目标是使用相似性函数从样本中学习,这个函数可以度量两个对象之间 的相似度或关联度。它在排名、推荐系统、视觉识别跟踪、人脸识别 等方面有很好的应用场景。
2.5 监督学习应用
预测房价或房屋出售情况
第三章、监督学习深入介绍
3.1 监督学习三要素
模型(model):总结数据的内在规律,用数学函数描述的系统
策略(strategy):选取最优模型的评价准则
算法(algorithm):选取最优模型的具体方法
3.2 监督学习实现步骤
- 得到一个有限的训练数据集
- 确定包含所有学习模型的集合
- 确定模型选择的准则,也就是学习策略
- 实现求解最优模型的算法,也就是学习算法
- 通过学习算法选择最优模型
- 利用得到的最优模型,对新数据进行预测或分析
3.3 监督学习模型评估策略
模型评估
- 训练集和测试集
- 损失函数和经验风险
- 训练误差和测试误差
模型选择
- 过拟合和欠拟合
- 正则化和交叉验证
训练集和测试集
我们将数据输入到模型中训练出了对应模型,但是模型的效果好不好呢?我们需要对模型的好坏进行评估
我们将用来训练模型的数据称为训练集,将用来测试模型好坏的集合称为测试集。
训练集:输入到模型中对模型进行训练的数据集合。
测试集:模型训练完成后测试训练效果的数据集合。
损失函数
损失函数用来衡量模型预测误差的大小。
定义:选取模型 f 为决策函数,对于给定的输入参数X, f(X)为预测 结果,Y为真实结果;f(X)和Y之间可能会有偏差,我们就用一个 损失函数(loss function)来度量预测偏差的程度,记作L(Y,f(X))
损失函数是系数的函数
损失函数值越小,模型就越好
经验风险
训练误差和测试误差
欠拟合
模型没有很好地捕捉到数据特征,特征集过小,导致模型不能很好地 拟合数据,称之为欠拟合(under-fitting)
欠拟合的本质是对数据的特征“学习”得不够
例如,想分辨一只猫,只给出了四条腿、两只眼、有尾巴这三个特征, 那么由此训练出来的模型根本无法分辨猫
过拟合
把训练数据学习的太彻底,以至于把噪声数据的特征也学习到了,特征集过大,这样就会导致在后期测试的时候不能够很好地识别数据,即不能正确的 分类,模型泛化能力太差,称之为过拟合(over-fitting)
例如,想分辨一只猫,给出了四条腿、两只眼、一条尾巴、叫声、颜色,能 够捕捉老鼠、喜欢吃鱼、……,然后恰好所有的训练数据的猫都是白色,那 么这个白色是一个噪声数据,会干扰判断,结果模型把颜色是白色也学习到 了,而白色是局部样本的特征,不是全局特征,就造成了输入一个黑猫的数据,判断出不是猫。
模型的选择
当模型复杂度增大时,训练误差会逐渐减小并趋向于0;而测试误差会先减小,达到最小值之后再增大
当模型复杂度过大时,就会发生过拟合;所以模型复杂度应适当
正则化
奥卡姆剃刀
交叉验证
3.4 分类和回归
监督学习问题主要可以划分为两类,即分类问题和回归问题
-分类问题预测数据属于哪一类别。一一离散
-回归问题根据数据预测一个数值。一一连续
通俗地讲,分类问题就是预测数据属于哪一种类型,就像上面的房屋出售预 测,通过大量数据训练模型,然后去预测某个给定房屋能不能出售出去,属 于能够出售类型还是不能出售类型。
回归问题就是预测一个数值,比如给出房屋一些特征,预测房价
如果将上面的房屋出售的问题改为预测房屋出售的概率,得到的结果将不再是可以售出⑴和不能售出(0),将会是一个连续的数值,例如0.5,这就变成了一个回归问题
分类
精确率和召回率
回归