吴恩达机器学习总结-入门、Linear Regression、Gradient Descent、Linear Algebra

Chinese Software Developer Network

机器学习

主要有两种机器学习的算法分类

  1. 监督学习
  2. 无监督学习
    两者的区别为是否需要人工参与数据结果的标注。
    还有一些算法也属于机器学习领域,诸如:
  • 半监督学习: 介于监督学习于无监督学习之间。
  • 推荐算法: 买完商品后还推荐同款的算法。
  • 强化学习: 通过观察来学习如何做出动作,每个动作都会对环境有所影响,而环境的反馈又可以引导该学习算法。
  • 迁移学习

监督学习(Supervised learning)

吴恩达机器学习总结-入门、Linear Regression、Gradient Descent、Linear Algebra_第1张图片
当有多种特征,clump(集合) thickness(丛厚度), uniformity of cell size(细胞大小均匀),uniformity of cell shape(细胞形状)等无线多种特征。那你怎么处理无限多个特征,怎么存储这些特征,电脑的内存肯定不够用。 支持向量机,里面有一个巧妙的数学技巧,能让计算机处理无限多个特征。

无监督学习

吴恩达机器学习总结-入门、Linear Regression、Gradient Descent、Linear Algebra_第2张图片
区分出音频库中的各种音频,是个复杂程序, 但这里只需要一行代码: [W,s,v] = svd((repmat(sum(x.*x,1),size(1).*x)*x’);

1.线性回归( Linear Regression)
1.1 单变量线性回归(Linear Regression with one variable)
吴恩达机器学习总结-入门、Linear Regression、Gradient Descent、Linear Algebra_第3张图片
h表示结果函数,即hypothesis。在这里插入图片描述
在这里插入图片描述
1.2 代价函数(Cost Function)

损失函数(Loss/Error Function): 单个训练集的误差;
代价函数(Cost Function): 整个训练集所有误差之和的平均值;
目标函数(Objective function),字面一些,就是有某个(最优化)目标的函数,比如最优化这个目的。

吴恩达机器学习总结-入门、Linear Regression、Gradient Descent、Linear Algebra_第4张图片
我们的目标就是最小化所有误差之和。
为了求解最小值,引入代价函数(Cost Function)概念,用于度量建模误差。考虑到要计算最小值,应用"差值的平方和最小"对求和式建模,即应用统计学中的平方损失函数(最小二乘法。用最小二乘法除了计算比较方便外,这种方法还具有优良特性,对异常值非常敏感。):
吴恩达机器学习总结-入门、Linear Regression、Gradient Descent、Linear Algebra_第5张图片

上文的标注是有问题的,x和y的标注不应该是下标,而应该是上标,因为表示的是多个训练集的叠加误差。。下文中表示是正确的。

思路流程总结:吴恩达机器学习总结-入门、Linear Regression、Gradient Descent、Linear Algebra_第6张图片

理解(Intuition )

吴恩达机器学习总结-入门、Linear Regression、Gradient Descent、Linear Algebra_第7张图片


吴恩达机器学习总结-入门、Linear Regression、Gradient Descent、Linear Algebra_第8张图片

由于3-D图形不便于研究,所以将3-D图形转换为二维轮廓图(contour plot),也就是等高线图,下面用轮廓图(下图中的右图)来作直观理解,其中相同颜色的一个圈代表着同一高度.(同一J(theta)值)。
吴恩达机器学习总结-入门、Linear Regression、Gradient Descent、Linear Algebra_第9张图片
通过图形即可找到最低的一点,以及它对应的值。图形只是便于理解,复杂的图,我们甚至无法画出图,更加无法可视化。因此我们需要一种算法,能够自动地找出使代价函数J最小化的参数 最小化的参数 θ0和 θ1的值 。就是梯度下降。

梯度下降(Gradient Descent)

随机选择一个参数组合作为起始点,计算代价函数,然后寻找下一个能使得代价函数下降最多的参数组合。不断迭代,直到找到一个局部最小值(local minimum),由于下降的情况只考虑当前参数组合周围的情况,所以无法确定当前的局部最小值是否就是全局最小值(global minimum),不同的初始参数组合,可能会产生不同的局部最小值。
好比我们在山上某处,为了下山,就不断地看一下周围下一步往下山比较快(当然是斜率最大的地方,也就是代价函数相对于某个参数的导数。),然后就迈出那一步,一直重复,直到我们到达山下的某一处陆地。

吴恩达机器学习总结-入门、Linear Regression、Gradient Descent、Linear Algebra_第10张图片
公式中,学习速率即”迈多大的步子“,而偏导表示函数变化的速率即决定了哪个方向下降最快。两个乘起来,即表示下降的速度。(要注意批量更新theta值,否则结果会有错误,所以这种方法又叫做:批量梯度下降法。Batch (批量) 表示每一步梯度下降用了所有的训练集。如下图)
吴恩达机器学习总结-入门、Linear Regression、Gradient Descent、Linear Algebra_第11张图片
吴恩达机器学习总结-入门、Linear Regression、Gradient Descent、Linear Algebra_第12张图片

理解(Intuition )

导数 derivative , 偏导数 partial derivative 。(参数即变量数量不同,则称呼不同)…
可以知道,当在一个曲线上,沿着斜率走,是变化速度最快的。也就是没有拐弯。当越往下走,斜率也就是导数越来越小,直到等于0,也就是每次减的值变小,理解为下山变慢了.
学习速率的选择是个经验值。一般可取0.01,0.02,0.03,或者1,2,3等等。

由于线性回归函数呈现碗状,且只有一个全局的最优值,所以函数一定总会收敛到全局最小值(学习速率不可过大)。同时,代价函数被称为凸二次函数而线性回归函数求解最小值问题属于凸函数优化问题
它可以在不需要多步梯度下降的情况下,也能解出代价函数 J 的最小值,这是另一种称为正规方程(normal equations)的方法。实际上在数据量较大的情况下,梯度下降法比正规方程要更适用一些。
循环求解,程序较为冗余,使用向量化(Vectorization)来简化代码并优化计算,使梯度下降运行的更快更好。

记忆 Linear Algebra

Entry of matrix 矩阵中的一项.
Scalar 标量。矩阵matrix .向量 vector.
For this exercise, you will not need to change any code in this file, or any other files other than(除了) those mentioned above.
Program paused 程序暂停。
吴恩达机器学习总结-入门、Linear Regression、Gradient Descent、Linear Algebra_第13张图片
m行n列,也就是第m行,乘以第n列得到这一项的值。
吴恩达机器学习总结-入门、Linear Regression、Gradient Descent、Linear Algebra_第14张图片

参考文献:1.黄海广博士的机器学习笔记。
2.知乎Scruel的机器学习笔记。

你可能感兴趣的:(机器学习,机器学习)