前面我们提到了监督学习的概念,现在我们来回顾一下,什么是监督学习。
监督学习指的是:我们给学习算法一个数据集,这个数据集由正确答案组合而成,然后机器运用学习算法,算出更多的正确答案。
1、监督学习之回归问题
我们接着,上节提到的房价预测案例,进一步说明。
如上图,横轴表示房子的面积,单位是平方英尺,纵轴表示房价,单位是千美元。
基于以上数据,假如 你有个朋友,她有750平方英尺的房子,能卖多少钱。
我们应用学习算法:
- 可以在这组数据中拟合一条直线,我们可以根据这条直线推测出 ,这套房子可以卖150K美元。
- 可以这组数据中使用二次方程拟和曲线,可以从曲线这个点,推测出这套房子可以卖200k美元。
以上案例的房价实际上是一系列的离散值,我们通常把它看成实数,看成标量,所以又把它看成一个连续的数值。
我们尝试推测一系列连续值的结果(房价),这叫回归问题。
2、监督学习之分类问题
我们再举另外一个监督学习的例子。
假设:你想通过查看病历来推测乳腺癌良性与否。
假如有人检测出乳腺肿瘤,恶性肿瘤有害并且十分危险,而良性的肿瘤危害就没那么大。
我们来看一组数据:
这个数据集中,横轴表示肿瘤的大小;纵轴上,标出1和0表示是或者不是恶性肿瘤。
如果是恶性则记为1,良性记为 0。
机器学习的问题就在于:估算出肿瘤是恶性的或是良性的概率,这就是一个分类问题。
分类指的是,我们试着推测出离散的输出值:0或1,良性或恶性,而事实上在分类问题中,输出可能不止两个值。
总结:
监督学习的基本思想是,我们数据集中的每个样本都有相应的“正确答案”,再根据这些样本作出预测。
3、案例分析
假设你经营着一家公司,你想开发学习算法来处理这两个问题:
1、你有一大批同样的货物,想象一下,你有上千件一模一样的货物等待出售,这时你想预测接下来的三个月能卖多少件?
2、你有许多客户,这时你想写一个软件来检验每一个用户的账户。对于每一个账户,你要判断它们是否曾经被盗过?
那这两个问题,它们属于分类问题、还是回归问题?
问题一: 是一个回归问题,如果我有数千件货物,我会把它看成一个实数,一个连续的值。因此卖出的物品数,也是一个连续的值。
问题二:是一个分类问题,因为我会把预测的值,用0 来表示账户未被盗,用1 表示账户曾经被盗过。所以我们根据账号是否被盗过,把它们定为0或 1,然后用算法推测一个账号是 0还是 1,因为只有少数的离散值,所以我把它归为分类问题。