一、机器学习
1. 如何理解机器学习
机器学习有三个关键词:Task T、Experience E、Performance P。简而言之,机器学习就是通过Experience,提升完成Task的Performance。
举一个简单的例子。Tom开发了一个跳棋的算法,并且与算法不断的与游对弈,使算法了解到什么样的棋局是容易赢的棋局,什么样的棋局是容易输的棋局,最终使得算法与他人对弈的胜率不断提升。在这个例子中,Task就是与他人对弈;Experence就是算法与Tom对弈的过程;Performance就是与对方对弈可以取胜的概率。
2. 两类主要的机器学习算法:
- 监督学习
- 无监督学习
二、监督学习与无监督学习
1. 监督学习
1.1 监督学习主要解决什么问题
监督学习主要解决的是预测问题。使用一个含有正确答案的训练集对算法进行训练,提高算法的预测精度。这样在没有正确答案的情况下,我们就可以用这个算法来进行预测了。
1.2 监督学习的分类
回归问题
我们感兴趣的变量(因变量)是连续的。
例如:有一组关于房价和房屋面积的数据集,我们用这组数据集作为训练集来训练房价预测的算法,使得算法基于指定的房屋面积所预测的房价与真实的房价尽可能一致。这样,当我有一个朋友想要出售他手中的一套200平的大房子,就可以基于这套算法,给出一个预测售价。这里的因变量是房价,可以看成是连续的数据。
分类问题
我们感兴趣的变量(因变量)是离散的。
例如:有关于肿瘤的良恶性和肿瘤尺寸、患者年龄的数据,通过特征变量(肿瘤尺寸、患者年龄)的不同取值范围将患者区分为良性和恶性,并通过训练,不断提升算法分类的准确度。这样当我不幸发现自己长了一个肿瘤,我就可以通过肿瘤尺寸、年龄等特征变量的数据,来判断我这个肿瘤的良恶性。
当然很多时候情况并不像这个例子这么简单,很可能特征变量不止两个,而且因变量的分类也不止两类。
2. 无监督学习
2.1 什么是无监督学习
无监督学习就是给算法一个数据集,这个数据集没有任何的标签,也没有像监督学习的数据集那样的正确答案。算法会基于数据本身的结构对数据集进行处理。
2.2 常见的无监督学习的算法
聚类算法
聚类算法是基于数据之间的结构,将数据集分成不同的数据簇,同一个簇的数据之间是相似的,但是不同族的数据之间存在差异。例如:谷歌浏览器每天会收集成千上万条新闻数据,基于聚类算法会将同一个主题的新闻放在同一个簇中。
参考视频:
吴恩达机器学习系列课程
https://www.bilibili.com/video/BV164411b7dx?p=5&spm_id_from=pageDriver