申明:此文章内容来自于 Doctor AndrewNG的视频,经过编辑而成
例子1
假设你想预测房价。某地收集了数据集,其中一个数据集如下图,横坐标:不同房子的面积,单位平方英尺;纵坐标:房价,单位 千美元。根据给定数据,假设你有栋房子,750平尺,想知道这房子能以什么价格成交出售。
如果采取人工智能的方式,采用机器学习怎么帮你呢?继续学习算法可以: 绘出一条直线,让直线尽可能匹配到所有数据。 基于此,看上去,那个房子应该、可能、也许、大概 卖到15万美元。但这不是唯一的学习算法。 可能还有更好的。比如不用直线了, 可能平方函数会更好, 即二次多项式更符合数据集。如果你这样做, 预测结果就应该是20万刀。
定义
监督学习,意指给出一个算法, 需要部分数据集已经有正确答案,算法的结果就是算出更多的正确答案。监督学习又叫回归问题,意指要预测一个连续值的输出。而术语回归, 意味着要预测这类连续值属性的种类。
例子2
根据医学记录, 并预测胸部肿瘤是恶性良性。 如果某人发现有胸部肿瘤,恶性肿瘤有害又危险, 良性肿瘤则是少害。 让我们看一个收集好的数据集, 假设在数据集中,横轴表示肿瘤的大小, 纵轴我打算圈上0或1,是或否, 即肿瘤是恶性的还是良性的。 所以如图所示,可以看到这个大小的肿瘤块 是良性的,还有这些大小的都是良性的。 不幸地是也看到一些恶性肿瘤,比如这些大小的肿瘤。 所以,有5个良性块,在这一块, 还有5个恶性的,它们纵轴值为1. 现在假设某人杯具地得胸部肿瘤了, 大小大概是这么大。 对应的机器学习问题就是,你能否估算出一个概率, 即肿瘤为恶或为良的概率? 专业地说,这是个分类问题。 分类是要预测一个离散值输出。 这里是0或1,恶性或良性。
事实证明, 在分类问题中,有时会有超过两个的值, 输出的值可能超过两种。举个具体例子, 胸部肿瘤可能有三种类型,所以要预测离散值0,1,2,3 0就是良性肿瘤,没有癌症。 1 表示1号癌症,假设总共有三种癌症。 2 是2号癌症,3 就是3号癌症。 这同样是个分类问题,因为它的输出的离散值集合 分别对应于无癌,1号,2号,3号癌症
在上例中,只使用了一个特征属性,即肿瘤块大小, 来预测肿瘤是恶性良性。在其它机器学习问题里, 有着不只一个的特征和属性。 例子,现在不只是知道肿瘤大小, 病人年龄和肿瘤大小都知道了。这种情况下, 数据集如表图所示,有些病人,年龄、肿瘤已知, 不同的病人,会有一点不一样, 肿瘤恶性,则用叉来代表。所以,假设 有一朋友得了肿瘤。肿瘤大小和年龄 落在此处。那么依据这个给定的数据集,学习算法 所做的就是画一条直线,分开 恶性肿瘤和良性肿瘤,所以学习算法会 画条直线,像这样,把两类肿瘤分开。然后你就能判断你朋友的肿瘤是...了 如果它在那边,学习算法就说 你朋友的肿瘤在良性一边,因此更可能 是良性的。
本例中,总共有两个特征, 即病人年龄和肿瘤大小。在别的ML问题中, 经常会用到更多特征,通常使用这些特征:比如块的厚度,即胸部肿瘤的厚度 肿瘤细胞大小和形状的一致性, 等等。它表明, 最有趣的学习算法能够处理,无穷多个特征。不是3到5个这么少。那么,你如何处理 无限多特征呢?甚至你如何存储无数的东西 进电脑里,又要避免内存不足? 事实上,一种叫支持向量机的算法能让电脑处理无限多的特征,后面再详细描述。