学习完成了吴恩达的机器学习课程,并使用Octave完成了代码的实现,希望接下来能把学习的笔记整理成文字,并尝试用Python将算法再现。
第0课 机器学习基础
什么是机器学习,吴老师介绍了目前相对较为规范的一个定义,我试着用自己觉得比较顺口的语言来进行表述:
一个程序利用经验E进行学习,并在完成任务T的过程中,其质量达到了性能测量P。于是便可以说,该程序利用经验E在处理任务T的过程中,通过性能测量P显示出处理能力得到提升。
以学习下棋为例,对于一个一开始完全不知道下棋规则的程序,人类历史上所有的棋局都可以作为训练它的经验E,任务T则是下棋对战,而性能测量P则是程序对战获胜的次数(或者说是胜率)。
机器学习主要可以分为两大类,监督学习和非监督学习。 在监督学习中,用于训练模型的经验E数据均是包含标签的数据,而标签这个概念可以理解为是对每一个样本所做的标记。我们可以使用很多特征来描述样本,而每一组特征描述都会对应一个特征。因此在监督学习的训练数据集中,既包含特征数据,也包含对应的标签数据。 监督学习又可以继续分为两类:
- 回归问题:基于训练数据,针对一组新的特征预测一个连续值。
- 分类问题:基于训练数据,利用特征预测一个离散值。不同的离散值代表不同类型。
在非监督学习中,经验E均为不包含标签的数据,模型需要能够在学习获得这些数据的内在结构。非监督学习最典型的问题就是聚类问题,即给定一组数据,按照需求将这些数据自动聚合为特定数量的类型。