Machine Learning(机器学习)之一

Machine Learning(机器学习)之二:juejin.im/post/5bd1d1…算法

Machine Learning的定义

早期定义编程

50年代,第一个机器学习的定义来自于Arthur Samuel。他定义机器学习为:在特定编程的状况下,给予计算机学习能力的领域。机器学习

他编写了一个西洋棋程序。 这程序神奇之处在于,编程者本身并非个下棋高手。 但由于他太菜了,因而就经过编程, 让西洋棋程序本身跟本身下了上万盘棋。经过观察 哪一种布局(棋盘位置)会赢,哪一种布局会输, 长此以往,这西洋棋程序明白了什么是好的布局, 什么样是坏的布局。程序经过学习后, 玩西洋棋的水平超过了Samuel。这绝对是使人注目的成果。 尽管编写者本身是个菜鸟,但由于 计算机有着足够的耐心,去下上万盘的棋, 没有人有这耐心去下这么多盘棋。经过这些练习, 计算机得到无比丰富的经验,因而渐渐成为了 比Samuel更厉害的西洋棋手。上述是个有点不正式的定义, 也比较古老。函数

近期的定义布局

由来自卡内基梅隆大学的Tom Mitchell提出,机器学习定义以下: 一个程序被认为能从经验E中学习,解决任务 T,达到 性能度量值P,当且仅当,有了经验E后,通过P评判, 程序在处理 T 时的性能有所提高。 在西洋棋那例子中,经验e 就是 程序上万次的自我练习的经验 而任务 t 就是下棋。性能度量值 p呢, 就是它在与一些新的对手比赛时,赢得比赛的几率。post

Machine Learning的学习算法

1.Supervised learning(监督学习)性能

教计算机如何去完成任务学习

在有监督的学习中,咱们获得一个数据集,而且已经知道咱们的正确输出应该是什么样的,而且认为输入和输出之间存在关系。优化

监督学习问题分为“回归”和“分类”问题。在回归问题中,咱们试图在连续输出中预测结果,这意味着咱们正在尝试将输入变量映射到某个连续函数。在分类问题中,咱们试图在离散输出中预测结果。换句话说,咱们试图将输入变量映射到离散类别。spa

例子1:

鉴于有关房地产市场房屋面积的数据,请尝试预测房价。做为大小函数的价格是连续输
出,所以这是一个回归问题。
咱们能够将这个例子变成一个分类问题,而不是让咱们的输出关于房子“卖得多于仍是
低于要价”。在这里,咱们将基于价格的房屋分为两个不一样的类别。
复制代码

例子2:

回归 - 鉴于一我的的照片,咱们必须根据给定的图片预测他们的年龄
分类 - 鉴于患有肿瘤的患者,咱们必须预测肿瘤是恶性的仍是良性的。
复制代码

2.Unsupervised learning(非监督学习)

让计算机本身进行学习

无监督学习使咱们可以在不多或根本不知道咱们的结果应该是什么样的状况下解决问题。咱们能够从数据中导出结构,咱们不必定知道变量的影响。

咱们能够经过基于数据中变量之间的关系聚类数据来推导出这种结构。

在无监督学习的状况下,没有基于预测结果的反馈。

例子:

聚类:收集1,000,000个不一样基因的集合,并找到一种方法将这些基因自动分组成不一样
的类似或经过不一样变量相关的组,例如寿命,位置,角色等。

非聚类:“鸡尾酒会算法”容许您在混乱的环境中查找结构。(即在鸡尾酒会上从声音网
格中识别个别声音和音乐)。
复制代码

3.Reinforcement learning(强化学习)

4.Recommender system(推荐系统)

线性回归算法

模型表示

为了创建将来使用的符号,咱们将使用

表示“输入”变量(本例中的生活区域),也称为输入特征,和
表示咱们试图预测的“输出”或目标变量(价格)。一对
被称为训练示例,以及咱们将用于学习的数据集 - m个训练样例的列表
称为训练集。请注意,符号中的上标“(i)”只是训练集的索引,与取幂无关。咱们还将使用X来表示输入值的空间,并使用Y来表示输出值的空间。在这个例子中,X = Y =ℝ。

为了更加正式地描述监督学习问题,咱们的目标是,在给定训练集的状况下,学习函数h:X→Y,使得h(x)是y的对应值的“好”预测器。因为历史缘由,该函数h被称为 hypothesis。从图中能够看出,这个过程是这样的:

当咱们试图预测的目标变量是连续的时,例如在咱们的住房示例中,咱们将学习问题称为回归问题。当y只能承担少许离散值时(例如,若是给定生活区域,咱们想要预测住宅是房屋仍是公寓,请说),咱们称之为分类问题。

Cost Function(成本函数)

咱们可使用成本函数来衡量咱们的假设函数的准确性。这须要假设的全部结果与x和实际输出y的输入之间的平均差别(其实是平均值的更高版本)。

此函数另外称为“平方偏差函数”或“均方偏差”。平均值减半(1/2)是为了便于计算梯度降低,由于平方函数的导数项将抵消掉(1/2)。下图总结了成本函数的做用:

若是咱们试图用视觉术语来思考它,咱们的训练数据集就会分散在xy平面上。咱们正试图作一条由hθ(x)定义的直线经过这些分散的数据点。

咱们的目标是得到最佳线路。最好的线将是这样的,使得来自线的散射点的平均垂直距离将是最小的。理想状况下,该线应该经过咱们的训练数据集的全部点。在这种状况下,J(θ0 ,θ1)的值将为0。

为了方便理解,咱们能够先把θ0设为0,

下图是θ1 = 1时:

θ1 = 0.5时:

下图是J(θ1)大概的图像:

所以,咱们须要找到一个θ1来使Cost Function最小化,在上面的状况中,θ1 = 1就是咱们想要的值。

当同时考虑θ0和θ1的时候,图像是这样的: 这是一个三维曲面图 两个轴分别表示θ0和θ1,随着你改变θ0和θ1的大小,你便会获得不一样的代价函数 J(θ0,θ1),对于某个特定的点 (θ0,θ1) 这个曲面的高度 也就是竖直方向的高度 就表示代价函数 J(θ0,θ1) 的值。

下图与上图是同一个意思,下图能够理解成是从上图以俯视的角度去看,而最低点就是同心椭圆形的中心点。

等高线图是包含许多等高线的图形。双变量函数的等高线在同一行的全部点处具备相同的值。

上面绿线上的三个绿点具备相同的值

上图最大限度地最小化成本函数,θ0大约为250,θ1大约为0.12。在咱们的图表右侧绘制这些值彷佛将咱们的点置于最内圈“圆圈”的中心。

梯度降低

因此咱们有假设函数,咱们有一种方法能够衡量它与数据的匹配程度。如今咱们须要估计假设函数中的参数。这就是梯度降低的地方。

想象一下,咱们根据其字段θ0、θ1绘制咱们的假设函数(实际上咱们将成本函数绘制为参数估计的函数)。咱们不是绘制x和y自己,而是咱们的假设函数的参数范围以及选择一组特定参数所产生的成本。

咱们把θ0做为x轴和θ1做为y轴,在垂直z轴上具备成本函数。咱们的图上的点将是成本函数的结果,使用咱们的假设和那些特定的θ参数。下图描绘了这样的设置。

当咱们的成本函数位于图中凹坑的最底部时,即当它的值最小时,咱们就会知道咱们已经成功了。红色箭头显示图表中的最小点。

咱们这样作的方法是采用咱们的成本函数的导数(一个函数的切线)。切线的斜率是该点的导数,它将为咱们提供一个朝向的方向。咱们在最陡降低的方向上下降成本函数。每一个步骤的大小由参数α肯定,该参数称为learning rate(学习速率)。

例如,上图中每一个“星”之间的距离表示由参数α肯定的步长。较小的α将致使较小的步长,较大的α将致使较大的步长。每一步的方向由J(θ0,θ1)的偏导数肯定。根据图表的开始位置,可能会在不一样的点上结束。上图显示了两个不一样的起点,最终出如今两个不一样的地方。

梯度降低算法是:

重复直到收敛:

j = 0,1表示特征索引号。

在每次迭代j时,应该同时更新参数θ1,θ2,...,θn。在计算另外一个参数以前更新特定参数j (th)迭代将致使错误的实现。 以下图:(应该同时更新,而不是更新一个后再更新另外一个)

咱们能够先从只有一个参数的场景来理解梯度降低并绘制其成本函数以实现梯度降低。

咱们的单个参数公式是:

重复直到收敛:

不管

的斜坡的标志如何,θ1最终收敛到最小值。下图显示当斜率为负时,其值为θ1增长,当它是正时,价值θ1下降。

另外,咱们应该调整参数α确保梯度降低算法在合理的时间内收敛。没有收敛或太多时间来得到最小值意味着咱们的步长是错误的。

梯度降低如何以固定的步长α收敛?

当咱们接近凸函数的底部时,

接近0,在最低点,导数老是0,所以咱们获得:

在选好合适的步长α的前提下,当咱们愈来愈接近最低点的时候,梯度降低会自动缩小步长,由于斜率的绝对值是愈来愈小的。因此咱们不须要去减小步长α的值。

线性回归的梯度降低

当具体应用于线性回归的状况时,能够导出梯度降低方程的新形式。咱们能够替换咱们的实际成本函数和咱们的实际假设函数,并将等式修改成:

其中m是训练集的大小,θ0和θ1是同时更新的,xi,yi是给定的训练集中的值。

请注意,咱们已经把θj分别等于θ0和θ1两种状况分开。如下是推导的一个例子

全部这一切的要点是,若是咱们从猜想开始,而后重复应用这些梯度降低方程,咱们的假设将变得愈来愈准确。

所以,这只是原始成本函数J的梯度降低。该方法在每一个步骤中查看整个训练集中的每一个示例,并称为批量梯度降低。须要注意的是,虽然梯度降低通常能够对局部最小值敏感,但咱们在线性回归中提出的优化问题只有一个全局,而没有其余局部最优; 所以,梯度降低老是收敛(假设学习率α不是太大)到全局最小值。实际上,J是凸二次函数。下面是梯度降低的示例,由于它是为了最小化二次函数而运行的。

上面显示的椭圆是二次函数的轮廓。还示出了梯度降低所采用的轨迹,其在(48,30)处初始化。图中的x(由直线链接)标记了渐变降低经历的θ的连续值,当它收敛到其最小值时。

相关文章
相关标签/搜索