监督学习用来解决什么问题?
eg.假设我们现在需要预测房价,下图是收集到的一些房价相关的数据:
基于以上数据,假设你的某个朋友需要出售一栋总面积为175m^2的房子,他想知道这栋房子大概能卖多少钱,那么学习算法能起到什么作用呢?
在我们已经拥有部分数据并且已经绘制出图表之后,理所应当应该想到寻找一个房屋面积和每平米售价之间的函数,但事实上很难找出一个完全符合要求的函数,因此在寻找过程中我们只能尽量保证寻找到的函数符合现实情况,即找到一条光滑曲线,尽可能多的连接这些点,这个过程也就是所谓的“拟合”
假设我们先采用直线去进行拟合工作,如下图:
可以较为直观的看到,175m^2的房子大概售价23k左右,当然这并不是很准确,因为你可以使用二次函数以及其他更优秀的函数进行拟合。
监督学习的定义
我们给算法一个数据集,该数据集中包含了正确答案,例如我们给出一个房价数据集,在这个数据集中的每个样本,我们都给出正确的价格,而算法的目的就是给出更多正确的价格,分为以下两种:
- 回归问题(Regression problem):对于房价这个例子来说,用更加专业的术语讲便是回归问题,即预测连续的数值输出
- 分类问题(Classification problem);假如只需要预测离散的数值输出,比如根据乳腺癌的大小、患者的年龄去预测乳腺癌是良性还是恶性,预测结果是离散的,要么为1(良性),要么为0(恶性),那么这就是分类问题