机器学习 01:序
监督学习
本节内容介绍可能是最常见一种机器学习问题:那就是监督学习。在正式定义监督学习之前,我们先看一个例子:
图 1.1 展示了 20 年来中国商品房平均价格,这些数据是从国家统计局的网站中搜集来的。横轴表示年份,纵轴表示每平米房价。现在我想预测 2030 年的房价是多少,我们该怎样解决这样的问题?
我们应用学习算法,可以在这组数据中画一条直线,或者换句话说,拟合一条直线,根据这条线我们可以推测出 2030 年的平均房价约为 13000 左右,当然这不是唯一的算法。可能还有更好的,比如我们不用直线拟合这些数据,用二次方程去拟合可能效果会更好。根据二次方程的曲线,我们可以从这个点推测出,2030 年的平均房价为 16400 左右。稍后我们将讨论如何选择学习算法,如何决定用直线还是二次方程来拟合。这些都是学习算法里面很好的例子。以上就是监督学习的例子。
可以看出,监督学习指的就是我们给学习算法一个数据集。这个数据集由“正确答案”组成。在房价的例子
中,我们给了一系列价的数据,我们给定数据集中每个样本的正确价格,即它们实际的售价然后运用学习算法,算出更多的正确答案。用术语来讲,这叫做回归问题。我们试着推测出一个连续值的结果,即房子的价格。回归这个词的意思是,我们在试着推测出这一系列连续值属性。
我们再举另外一个监督学习的例子。图 1.2 展示了不同类型的鸢尾花的花瓣长度和花瓣宽度的关系。如果我现在有了一组新的鸢尾花的数据,它最有可能是哪一种类型的鸢尾花?这种问题叫做分类,与上一问题不同之处在于:尽管都是预测,但回归是推出一个连续的输出,而分类是推出一组离散的结果。
无监督学习
上一节介绍了监督学习,以图 1.2 为例,数据集给出了三种类型的鸢尾花的明确数据并做了标注,也就是数据集给出了正确答案,每个点对应何种类型的鸢尾花。
现在我们仍然给出鸢尾花的数据 (图 1.3),但是不同的是,这一次没有任何的标注。所以我们已知数据集,却不知如何处理,也未告知每个数据点是什么。别的都不知道,就是一个数据集。你能从数据中找到某种结构吗?针对数据集,无监督学习就能判断出数据有三个个不同的聚集簇。这是一个,这也是一个,那是另一个,三者不同。是的,无监督学习算法可能会把这些数据分成三个不同的簇。所以叫做聚类算法。

浙公网安备 33010602011771号