1、监督学习
监督学习指的就是我们给学习算法一个数据集。这个数据集由“正确答案”组成。该算法通过这些数据集可以达到所要求的性能的过程。一般监督学习分为回归问题和分类问题。
1.1 回归问题
房价预测问题,通过真实的一些房价的数据去预测房价。把这些数据画出来,看起来是这个样子:横轴表示房子的面积,单位是平方英尺,纵轴表示房价,单位是千美元。那基于这组数据,现在有一套750平方英尺房子,那么这房子能卖多少钱。
红色的×表示已知的真实的数据集,可以通过一条直线去拟合,大概知道这个房子可以卖150000,但是发现直线的拟合效果并不是很好,可以采用二次方程去拟合(蓝色的线),大概知道这个房子可以卖到200000,
1.2 分类问题
查看病历来推测乳腺癌良性与否问题,让我们来看一组数据:这个数据集中,横轴表示肿瘤的大小,纵轴上,我标出1和0 表示是或者不是恶性肿瘤。我们之前见过的肿瘤,如果是恶性则记为1 ,不是恶性,或者说良性记为0。
我在0的位置上有5个良性肿瘤样本,在1的位置有5个恶性肿瘤样本。现在我们有一个朋友很不幸检查出乳腺肿瘤。假设说她的肿瘤大概这么大,那么机器学习的问题就在于,你能否估算出肿瘤是恶性的或是良性的概率。
上面只是根据大小去判断肿瘤是恶性还是良性显然不太标准,所以可以考虑更多的因数,比如肿块密度,肿瘤细胞尺寸的一致性和形状的一致性等等,还有一些其他的特征。
可以看见图上有五种因素去决定这个肿瘤。坐标轴的两种+右上角的三种。
1.3 总结
监督学习的基本思想是,我们数据集中的每个样本都有相应的“正确答案”。再根据这些样本作出预测,就像房子和肿瘤的例子中做的那样。对于回归问题,即通过回归来推出一个连续的输出,对于分类问题,其目标是推出一组离散的结果。
1.4 测验
1. 你有一大批同样的货物,想象一下,你有上千件一模一样的货物等待出售,这时你想预测接下来的三个月能卖多少件?
2. 你有许多客户,这时你想写一个软件来检验每一个用户的账户。对于每一个账户,你要判断它们是否曾经被盗过?
那这两个问题,它们属于分类问题、还是回归问题?
问题一是一个回归问题,因为你知道,如果我有数千件货物,我会把它看成一个实数,一个连续的值。因此卖出的物品数,也是一个连续的值。
问题二是一个分类问题,因为我会把预测的值,用0来表示账户未被盗,用1表示账户曾经被盗过。所以我们根据账号是否被盗过,把它们定为0或1,然后用算法推测一个账号是0还是1,因为只有少数的离散值,所以我把它归为分类问题。
2 无监督学习
在上面已经介绍了监督学习。在数据集中每条数据都已经标明是阴性或阳性,即是良性或恶性肿瘤。所以,对于监督学习里的每条数据,我们已经清楚地知道,训练集对应的正确答案是良性或恶性了。
无监督学习中没有任何的标签或者是有相同的标签或者就是没标签。已知的只有数据集,但是却不知如何处理,也未告知每个数据点是什么。
针对数据集,无监督学习就能判断出数据有两个不同的聚集簇。这是一个,那是另一个,二者不同。是的,无监督学习算法可能会把这些数据分成两个不同的簇。所以叫做聚类算法。
左边是监督学习,知道特征去分类,右边是无监督学习,通过无监督学习去判断属于哪一类。
2.1 谷歌新闻
谷歌新闻会把众多的新闻分组,组成有关联的新闻。所以谷歌新闻做的就是搜索非常多的新闻事件,自动地把它们聚类到一起。如果这些新闻事件全是同一主题的,就会显示到一起。当然,聚类问题只是无监督学习中的一种。
2.3 例子
新闻事件分类的例子,我们看到,可以用一个聚类算法来聚类这些文章到一起,所以是无监督学习。