Contents
1 Introduction
1.1 What is Machine Learning
ML :
- grew out of work in AI(产生于AI)
- new capability for computers
ML Examples:
- data mining
web click data
medical records 帮助诊断
biology 分析基因结构
engineering - no need programming by hand
autonomous helicopter (不知道如何写一段程序让直升机自己飞,我们唯一能做的就是让计算机自己学习如何驾驶直升机。 )
handwriting recognition (现在我们能够非常便宜地把信寄到这个美国甚至全世界的原因之一就是当你写一个像这样的信封,一种学习算法已经学会如何读你信封,它可以自动选择路径,所以我们只需要花几个美分把这封信寄到数千英里外。 ) - self-customizing programs (私人定制程序)
如:使用软件过程中,系统会分析出偏好,进行推送 - try to understand human learning and brain
ML Definition:
一个程序被认为能从经验 E 中学习,解决任务 T,达到性能度量值P,当且仅当,有了经验 E 后,经过 P 评判,程序在处理 T 时的性能有所提升。
比如下棋,经验E 就是程序上万次的自我练习的经验而任务 T 就是下棋。性能度量值 P 呢,就是它在与一些新的对手比赛时,赢得比赛的概率。
ML Algorithms:
- supervised learning 教计算机学习,有标签
- unsupervised learning 计算机自主学习,无标签
- 以上两种最常见,还有 reinforcement learning, recommendation system
1.2 Supervised Learning
example 1 :
应用学习算法,可以在这组数据中拟合一条直线,根据这条线可以推测出,这套房子可能卖$150,000,当然这不是唯一的算法。可能还有更好的,比如我们不用直线拟合这些数据,用二次方程去拟合可能效果会更好。这些都是学习算法里面很好的例子。以上就是监督学习的例子。
用术语来讲,这叫做回归问题。我们试着推测出一个连续值的结果,即房子的价格。
example 2:
我有 5 个良性肿瘤样本,在 1 的位置有 5 个恶性肿瘤样本。假设肿瘤大小已知,那么机器学习的问题就在于,你能否估算出肿瘤是恶性的或是良性的概率。用术语来讲,这是一个分类问题。
分类指的是,我们试着推测出离散的输出值:0 或 1 良性或恶性,而事实上在分类问题中,输出可能不止两个值。比如说可能有三种乳腺癌,所以你希望预测离散输出 0、1、2、3。0 代表良性,1 表示第 1 类乳腺癌,2 表示第 2 类癌症,3 表示第 3 类,但这也是分类问题。
在其它一些机器学习问题中,可能会遇到不止一种特征。举个例子,我们不仅知道肿瘤的尺寸,还知道对应患者的年龄、肿块密度、肿瘤细胞尺寸的一致性和形状的一致性等等。
学习算法不仅能处理 2 种 3 种或 5 种特征,即使有无限多种特征都可以处理。
上图中,我列举了总共 5 种不同的特征,坐标轴上的两种和右边的 3 种,但是在一些学习问题中,你希望不只用 3 种或 5 种特征。相反,你想用无限多种特征,那你怎么处理无限多个特征,甚至怎么存储这些特征都存在问题,你电脑的内存肯定不够用。 以后会讲一个算法,叫支持向量机,里面有一个巧妙的数学技巧,能让计算机处理无限多个特征。想象一下,而是在一个无限长的列表里面,一直写一直写不停的写,写下无限多个特征,事实上,我们能用算法来处理它们。
- conclusion
回顾一下,这节课我们介绍了监督学习。其基本思想是,我们数据集中的每个样本都有相应的“正确答案”,再根据这些样本作出预测。
我们还介绍了回归问题,推出一个连续的输出;介绍了分类问题,其目标是推出离散的结果。
1.3 Unsupervised Learning
如图:
在无监督学习中,我们已知的数据不同于监督学习的数据的样子,即无监督学习中没有任何的标签。所以我们已知数据集,却不知如何处理,也未告知每个数据点是什么。无监督学习就能判断出数据有两个不同的聚集簇。这是一个,那是另一个,二者不同。无监督学习算法可能会把这些数据分成两个不同的簇。所以叫做聚类算法。
聚类应用的一个例子就是在谷歌新闻中。谷歌新闻每天收集非常多的网络的新闻内容。它再将这些新闻分组,组成有关联的新闻,自动地把它们聚类到一起。所以,搜索关键词,这些新闻事件全是同一主题的,所以显示到一起。
无监督学习或聚集有着大量的应用:
- 社交网络分析
所以已知你朋友的信息,比如你经常发 email 的,或是你 Facebook 的朋友、 微信的朋友,我们能否自动地给出朋友的分组呢?即同一组里的人们彼此都熟识,认识组里的所有人。 - 市场分割
许多公司有大型的数据库,存储消费者信息。所以,你能检索这些顾客数据集,自动地发现市场类,并自动地把顾客划分到不同的细分市场中,从而更有效地进行销售。这也是无监督学习,因为我们拥有所有的顾客数据,但我们没有提前知道是什么的细分市场,以及分别有哪些我们数据集中的顾客。我们就必须让算法从数据中发现这一切。 - 天文数据分析
最后,无监督学习也可用于天文数据分析,这些聚类算法给出了令人惊讶、有趣、有用的理论,解释了星系是如何诞生的。这些都是聚类的例子,聚类只是无监督学习中的一种。
- cocktail party problem
鸡尾酒宴问题。鸡尾酒宴只有两个人,他俩同时都在说话,我们放两个麦克风在房间中,因为这些麦克风在两个地方,离说话人的距离不同每个麦克风记录下不同的声音。算法可以区分出两个音频资源,这两个可以合成之前的录音。
2 Linear Regression with One Variable
2.1 Model Representation(模型表示)
小写的 来表示训练样本的数量
以房屋交易问题为例,假使我们回归问题的Training Set ,如下表所示:
| Size(x) | Price(y) |
|---|---|
| 2104 | 460 |
| 1416 | 230 |
| 1534 | 315 |
| 852 | 178 |
| … | … |
代表训练集中实例的数量
代表特征/输入变量
代表目标变量/输出变量
(,) 代表训练集中的一个样本
( , ) 代表第 个样本(特定的样本)
ℎ 代表学习算法的解决方案或函数也称为假设(hypothesis)
- 监督学习算法的工作方式
算法从训练集,学习出一个函数,通常表示为小写 ℎ表示。ℎ 代表 hypothesis( 假设),是一个函数。然后输入房屋尺寸size,输出价格。
那么,对于我们的房价预测问题,该如何表达 ℎ?
一种可能的表达方式为:,因为只含有一个特征/输入,所以叫作单变量线性回归。
2.2 Cost Function
现在要做的便是为我们的模型选择合适的参数(parameters) 和 ,在房价问题这个例子中便是直线的斜率和在???? 轴上的截距。选择的参数决定了得到的直线相对于训练集的准确程度,模型所预测的值与训练集中实际值之间的差距(下图中蓝线所指)就是建模误差(modeling error)。
我们的目标便是选择出可以使得建模误差的平方和能够最小的模型参数。 即,使得
代价函数,最小
绘制一个等高线图,三个坐标分别为:
可以看出在三维空间中存在一个使得最小的点
代价函数也被称作平方误差函数,有时也被称为平方误差代价函数。我们之所以要求出误差的平方和,是因为误差平方代价函数,对于大多数问题,特别是回归问题,都是一个合理的选择。还有其他的代价函数也能很好地发挥作用,但是平方误差代价函数可能是解决回归问题最常用的手段了。后续课程中,还会谈论其他的代价函数。
2.3 Cost Function Intuition(直观理解)
通过一些例子来获取一些直观的感受,看看代价函数到底是在干什么。
Hypothesis :
Parameters :
Cost Function :
Goal : minimize