学习安排(8月21日-8月23日)
1.主要学习视频Week7
链接(http://www.xuetangx.com/courses/MITx/6_00_2x/2014_T2/about Week7)
2.辅助内容:教材第22章、24章
机器学习简介
当计算机科学家说起机器学习时,他们通常指的是进行一种训练,通过这种训练可以编写能自动学会根据数据隐含模式进行合理推断的程序。举例来说,通过线性回归可以学习一条曲线,作为一组实例的模型,然后使用这个模型对未知实例进行预测。基本范式如下:
(1) 观察一组实例,通常称为训练数据,它们可以表示某种统计现象的不完整信息;
(2) 对观测到的实例进行扩展,并使用推断技术对扩展过程建模;
(3) 使用这个模型对未知实例进行预测。
机器学习的方法数不胜数,但所有方法都试图建立一个模型来对现有实例进行归纳。所有方法都具有以下3个部分:
- 模型的表示;
- 用于评估模型优度的目标函数;
- 一种优化方法,可以通过学习找出一个模型,使目标函数值最小化或最大化。
一般来说,机器学习算法可以分为监督式学习方法和无监督式学习方法。
在监督式学习中,我们先从一组成对的特征向量和值开始。目标是从这些特征向量和值中推导出某种规则,以预测与未知的特征向量所对应的值。回归模型为每个特征向量关联一个实数。分类模型为每个特征向量关联一组数量有限的标签。
在非监督式学习中,我们被给定一个没有标注的特征向量集合。非监督式学习的目标就是发
现特征向量集合中的隐含模式。举例来说,给定总统特征向量的集合,非监督式学习算法会将总
统分为高个和矮个,也可能分为美国人和法国人。一般来说,非监督式机器学习方法可以分为两
种,一种是聚类方法,另一种是隐变量模型学习方法
特征向量
特征工程的目的就是将现有数据中可以作为信号的特征与那些仅是噪声的特征区分开来。特征工程的失败会导致糟糕的模型。当数据的维度(即特征的数量)相对于样本量来说比较大时,特征工程就具有较高的失败风险。
成功的特征工程是一个抽象过程,它可以将大量的可用信息缩减为可以用于归纳的信息。举例来说,如果你的目标是学习一个模型,用来预测某个人是否容易患心脏病,那么有些特征就可
能是与之高度相关的,比如年龄。而其他特征就可能没那么重要,比如这个人是否是左利手。
距离度量
比较数值向量的相似度有很多种方法,最常用的比较等长向量的方法是基于闵可夫斯基距离进行操作:
这里的len是向量长度。
参数p至少为1,它定义了度量向量V和W之间距离时要经过的路径类型。④向量的长度为2时,p的作用是最容易表示的,因为可以使用笛卡儿坐标系表示。
如图,左下角圆形离十字更近,还是离星形更近?这要看情况。如果我们可以沿着直线行进,那么十字更近。根据勾股定理,十字与圆形之间的距离是8的平方根,大约等于2.8,而我们可以非常容易地看出星形和圆形之间的距离是3。这种距离度量方式称为欧氏距离,对应于p=2的闵可夫斯基距离。但是,如果将图中的线段想象成街道,并且必须经过街道才能从一个地方到达另一个地方,那么星形和圆形之间的距离仍旧是3,但十字与圆形之间的距离则变成了4。这种距离度量方式称为曼哈顿距离①,对应于p=1的闵可夫斯基距离。
下面给出一个实现闵可夫斯基距离的函数。
def minkowskiDist(v1, v2, p):
"""假设v1和v2是两个等长的数值型数组
返回v1和v2之间阶为p的闵可夫斯基距离"""
dist = 0.0
for i in range(len(v1)):
dist += abs(v1[i] - v2[i])**p
return dist**(1/p)