引言
在“机器学习-吴恩达”中首先介绍了什么是机器学习。机器学习是一门多领域交叉学科 ,涉及概率论、统计学、逼近论、算法复杂度理论等多门学科,致力于让机器模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能,它是人工智能的核心,是使计算机具有智能的根本途径。
首先,吴恩达老师讲解的机器学习的两大类:“监督学习”、“无监督学习”。
监督学习是利用一组已知类别的样本调整分类器的参数,使其达到所要求的性能的过程,其中又分为了回归问题和分类问题。而无监督学习与监督学习不同的地方在与并没有事先确定类别,我们希望计算机能自己根据训练样本来进行分类,即解决那些难以人工标注类别或进行人工类别标注的成本太大的问题,这或许比监督学习更有难度。
在后面的学习视频中,老师首先讲解了如何机器学习中的梯度下降法来预测房价,为此我重点了解了这个算法。这也是这篇笔记的主要内容。
梯度下坠法是一个最优化算法,通常也称为最速下降法。它是求解无约束优化问题最简单和最古老的方法之一,虽然现在已经不具有实用性,但是许多有效算法都以它为基础进行改进和修正而得到的。
梯度下降算法是什么?首先来看看梯度下降的一个直观的解释。比如我们在一座大山上的某处位置,由于我们不知道怎么下山,于是决定走一步算一步,也就是在每走到一个位置的时候,求解当前位置的梯度,沿着梯度的负方向,也就是当前最陡峭的位置向下走一步,然后继续求解当前位置梯度,向这一步所在位置沿着最陡峭最易下山的位置走一步。这样一步步的走下去,一直走到觉得我们已经到了山脚。当然这样走下去,有可能我们不能走到山脚,而是到了某一个局部的山峰低处。事实上,算法就是如此,它不一定能够找到全局最优解,有可能是一个局部最优解。
在详细介绍前梯度下降介绍之前先介绍相关概念:
1. 步长:步长决定了梯度下降迭代的过程中。视频中讲解了三种情况:
(1)步长较大:速度快,但是可能直接跳过最优解;
(2)步长较小:精准度高,但算法效率太低,接近最优解花费的时间过长;
(3)步长递减:速度快,且不易跳过最优解,但是由于步长越来越短可能导致最后无法前进,达不到最优解。
2. 特征:指的是样本中输入部分,比如:在房价预测中,首先需要的是影响房价的相关值,然后是房价本身,通过这些特征值来优化算法。
3. 假设函数:在监督学习中,为了拟合输入样本而使用的假设函数,记为
4. 代价函数:为了评估模型拟合的好坏,通常用代价函数来试题拟合的程度,代价函数极小化意味着拟合程度最好,对应的模型参数即为最优参数。在线性回归中,代价函数通常为样本输出和假设函数的差取平方。
核心思想:
1. 梯度下降算法公式:
公式依次代表为“下次迭代的点”、“目前所在的点”、“学习率”和“最大负向梯度”。按照这个公式,每次迭代都会根据上次的步长减去学习率乘以“梯度”的值,去一步一步更新,这样能可以每次迭代都朝着最大负方向去迭代。
2. 学习率a
如果a太小,那么每次挪动的距离只会一点一点挪动,这样就需要很多步才能到达最低点。如果a太大,那么梯度下降法可能会越过最低点,甚至可能“无法收敛”都不一定哦。因为你每次挪动的距离都很大,这次越过了一个最低点,下次又越过了一次最低点,直到越过所有“最低点”,那么你就永远都找不到“局部最优解”了,也就发散了
3. 自动减小幅度值
梯度下降法还有一个优势,就是越接近最小值的时候,梯度下降法会自动调整更新的幅度,这是因它的公式本身而决定的,以下图为例:
假设我最开始在取值在函数中的最高点(粉红色),那么很显然每次下降之后的点,梯度都会变得越来越小。当你接近局部最优解的时候,很显然在局部最低时导数等于零,当接近局部最优解时,导数值(即公式的最后一部分)会变得越来越小,所以梯度下降将自动采取较小的幅度。
