Browse Source

move image/ to images/

master
scruel 6 years ago
parent
commit
92236f3416
58 changed files with 55 additions and 55 deletions
  1. +0
    -0
      images/0f38a99c8ceb8aa5b90a5f12136fdf43.png
  2. +0
    -0
      images/20141213201613758.jpg
  3. +0
    -0
      images/20180105_194712.png
  4. +0
    -0
      images/20180105_194839.png
  5. +0
    -0
      images/20180105_201639.png
  6. +0
    -0
      images/20180105_212048.png
  7. +0
    -0
      images/20180105_224648.png
  8. +0
    -0
      images/20180106_085915.png
  9. +0
    -0
      images/20180106_090904.png
  10. +0
    -0
      images/20180106_091307.png
  11. +0
    -0
      images/20180106_092119.png
  12. +0
    -0
      images/20180106_101659.png
  13. +0
    -0
      images/20180106_184926.png
  14. +0
    -0
      images/20180106_190944.png
  15. +0
    -0
      images/20180106_191023.png
  16. +0
    -0
      images/20180106_191956.png
  17. +0
    -0
      images/20180106_203726.png
  18. +0
    -0
      images/20180107_234509.png
  19. +0
    -0
      images/20180108_100751.png
  20. +0
    -0
      images/20180108_103357.png
  21. +0
    -0
      images/20180108_104701.png
  22. +0
    -0
      images/20180108_113132.png
  23. +0
    -0
      images/20180109_144040.png
  24. +0
    -0
      images/20180111_000653.png
  25. +0
    -0
      images/20180111_000814.png
  26. +0
    -0
      images/20180111_080314.png
  27. +0
    -0
      images/20180111_080514.png
  28. +0
    -0
      images/20180111_080614.png
  29. +0
    -0
      images/20180112_001720.png
  30. +0
    -0
      images/20180112_085630.png
  31. +0
    -0
      images/20180112_091654.png
  32. +0
    -0
      images/20180112_092027.png
  33. +0
    -0
      images/20180114_090054.png
  34. +0
    -0
      images/20180115_084326.png
  35. +0
    -0
      images/20180115_101441.png
  36. +0
    -0
      images/20180115_101442.png
  37. +0
    -0
      images/20180116_001543.png
  38. +0
    -0
      images/20180116_105545.png
  39. +0
    -0
      images/20180116_235545.png
  40. +0
    -0
      images/20180117_000349.png
  41. +0
    -0
      images/20180117_000612.png
  42. +0
    -0
      images/20180117_004820.png
  43. +0
    -0
      images/20180117_010904.png
  44. +0
    -0
      images/20180117_011331.png
  45. +0
    -0
      images/20180120_105744.png
  46. +0
    -0
      images/20180121_110111.png
  47. +0
    -0
      images/20180123_122124.png
  48. +0
    -0
      images/20180125_162704.png
  49. +0
    -0
      images/20180125_195029.png
  50. +0
    -0
      images/20181115103549.png
  51. +0
    -0
      images/2413fbec8ff9fa1f19aaf78265b8a33b_Logistic_function.png
  52. +0
    -0
      images/24e9420f16fdd758ccb7097788f879e7.png
  53. +0
    -0
      images/db48c81304317847870d486ba5bb2015.jpg
  54. +18
    -18
      week1.md
  55. +5
    -5
      week2.md
  56. +13
    -13
      week3.md
  57. +14
    -14
      week4.md
  58. +5
    -5
      week5.md

image/0f38a99c8ceb8aa5b90a5f12136fdf43.png → images/0f38a99c8ceb8aa5b90a5f12136fdf43.png View File


image/20141213201613758.jpg → images/20141213201613758.jpg View File


image/20180105_194712.png → images/20180105_194712.png View File


image/20180105_194839.png → images/20180105_194839.png View File


image/20180105_201639.png → images/20180105_201639.png View File


image/20180105_212048.png → images/20180105_212048.png View File


image/20180105_224648.png → images/20180105_224648.png View File


image/20180106_085915.png → images/20180106_085915.png View File


image/20180106_090904.png → images/20180106_090904.png View File


image/20180106_091307.png → images/20180106_091307.png View File


image/20180106_092119.png → images/20180106_092119.png View File


image/20180106_101659.png → images/20180106_101659.png View File


image/20180106_184926.png → images/20180106_184926.png View File


image/20180106_190944.png → images/20180106_190944.png View File


image/20180106_191023.png → images/20180106_191023.png View File


image/20180106_191956.png → images/20180106_191956.png View File


image/20180106_203726.png → images/20180106_203726.png View File


image/20180107_234509.png → images/20180107_234509.png View File


image/20180108_100751.png → images/20180108_100751.png View File


image/20180108_103357.png → images/20180108_103357.png View File


image/20180108_104701.png → images/20180108_104701.png View File


image/20180108_113132.png → images/20180108_113132.png View File


image/20180109_144040.png → images/20180109_144040.png View File


image/20180111_000653.png → images/20180111_000653.png View File


image/20180111_000814.png → images/20180111_000814.png View File


image/20180111_080314.png → images/20180111_080314.png View File


image/20180111_080514.png → images/20180111_080514.png View File


image/20180111_080614.png → images/20180111_080614.png View File


image/20180112_001720.png → images/20180112_001720.png View File


image/20180112_085630.png → images/20180112_085630.png View File


image/20180112_091654.png → images/20180112_091654.png View File


image/20180112_092027.png → images/20180112_092027.png View File


image/20180114_090054.png → images/20180114_090054.png View File


image/20180115_084326.png → images/20180115_084326.png View File


image/20180115_101441.png → images/20180115_101441.png View File


image/20180115_101442.png → images/20180115_101442.png View File


image/20180116_001543.png → images/20180116_001543.png View File


image/20180116_105545.png → images/20180116_105545.png View File


image/20180116_235545.png → images/20180116_235545.png View File


image/20180117_000349.png → images/20180117_000349.png View File


image/20180117_000612.png → images/20180117_000612.png View File


image/20180117_004820.png → images/20180117_004820.png View File


image/20180117_010904.png → images/20180117_010904.png View File


image/20180117_011331.png → images/20180117_011331.png View File


image/20180120_105744.png → images/20180120_105744.png View File


image/20180121_110111.png → images/20180121_110111.png View File


image/20180123_122124.png → images/20180123_122124.png View File


image/20180125_162704.png → images/20180125_162704.png View File


image/20180125_195029.png → images/20180125_195029.png View File


image/20181115103549.png → images/20181115103549.png View File


image/2413fbec8ff9fa1f19aaf78265b8a33b_Logistic_function.png → images/2413fbec8ff9fa1f19aaf78265b8a33b_Logistic_function.png View File


image/24e9420f16fdd758ccb7097788f879e7.png → images/24e9420f16fdd758ccb7097788f879e7.png View File


image/db48c81304317847870d486ba5bb2015.jpg → images/db48c81304317847870d486ba5bb2015.jpg View File


+ 18
- 18
week1.md View File

@@ -70,7 +70,7 @@

在房屋价格预测的例子中,给出了一系列的房屋面基数据,根据这些数据来预测任意面积的房屋价格。给出照片-年龄数据集,预测给定照片的年龄。

![](image/20180105_194712.png)
![](images/20180105_194712.png)

2. 分类问题(Classification)

@@ -80,7 +80,7 @@

视频中举了癌症肿瘤这个例子,针对诊断结果,分别分类为良性或恶性。还例如垃圾邮件分类问题,也同样属于监督学习中的分类问题。

![](image/20180105_194839.png)
![](images/20180105_194839.png)

视频中提到**支持向量机**这个算法,旨在解决当特征量很大的时候(特征即如癌症例子中的肿块大小,颜色,气味等各种特征),计算机内存一定会不够用的情况。**支持向量机能让计算机处理无限多个特征。**

@@ -105,7 +105,7 @@

**鸡尾酒问题**

![](image/20180105_201639.png)
![](images/20180105_201639.png)

在鸡尾酒会上,大家说话声音彼此重叠,几乎很难分辨出面前的人说了什么。我们很难对于这个问题进行数据标注,而这里的通过机器学习的无监督学习算法,就可以将说话者的声音同背景音乐分离出来,看视频,效果还不错呢\~~。

@@ -140,7 +140,7 @@

2. **问题解决模型**

![](image/20180105_212048.png)
![](images/20180105_212048.png)

其中 $h$ 代表结果函数,也称为**假设(hypothesis)** 。假设函数根据输入(房屋的面积),给出预测结果输出(房屋的价格),即是一个 $X\to Y$ 的映射。

@@ -180,7 +180,7 @@ $h_\theta(x)=\theta_0+\theta_1x$,为解决房价问题的一种可行表达式
>
> $\left(x^\left(i\right),y^\left(i\right)\right)$: 训练集中的第 $i$ 个样本实例

![](image/20180105_224648.png)
![](images/20180105_224648.png)

上图展示了当 $\theta$ 取不同值时,$h_\theta\left(x\right)$ 对数据集的拟合情况,蓝色虚线部分代表**建模误差**(预测结果与实际结果之间的误差),我们的目标就是最小化所有误差之和。

@@ -205,7 +205,7 @@ $$J(\theta_0,\theta_1)=\dfrac{1}{2m}\displaystyle\sum_{i=1}^m\left(\hat{y}_{i}-y

为了直观理解代价函数到底是在做什么,先假设 $\theta_1 = 0$,并假设训练集有三个数据,分别为$\left(1, 1\right), \left(2, 2\right), \left(3, 3\right)$,这样在平面坐标系中绘制出 $h_\theta\left(x\right)$ ,并分析 $J\left(\theta_0, \theta_1\right)​$ 的变化。

![](image/20180106_085915.png)
![](images/20180106_085915.png)

右图 $J\left(\theta_0, \theta_1\right)$ 随着 $\theta_1$ 的变化而变化,可见**当 $\theta_1 = 1$ 时,$J\left(\theta_0, \theta_1 \right) = 0$,取得最小值,**对应于左图青色直线,即函数 $h$ 拟合程度最好的情况。

@@ -215,21 +215,21 @@ $$J(\theta_0,\theta_1)=\dfrac{1}{2m}\displaystyle\sum_{i=1}^m\left(\hat{y}_{i}-y

给定数据集:

![](image/20180106_091307.png)
![](images/20180106_091307.png)

参数在 $\theta_0$ 不恒为 $0$ 时代价函数 $J\left(\theta\right)$ 关于 $\theta_0, \theta_1$ 的3-D图像,图像中的高度为代价函数的值。

![](image/20180106_090904.png)
![](images/20180106_090904.png)

由于3-D图形不便于标注,所以将3-D图形转换为**轮廓图(contour plot)**,下面用轮廓图(下图中的右图)来作直观理解,其中相同颜色的一个圈代表着同一高度(同一 $J\left(\theta\right)$ 值)。

$\theta_0 = 360, \theta_1 =0$ 时:

![](image/0f38a99c8ceb8aa5b90a5f12136fdf43.png)
![](images/0f38a99c8ceb8aa5b90a5f12136fdf43.png)

大概在 $\theta_0 = 0.12, \theta_1 =250$ 时:

![](image/20180106_092119.png)
![](images/20180106_092119.png)

上图中最中心的点(红点),近乎为图像中的最低点,也即代价函数的最小值,此时对应 $h_\theta\left(x\right)$ 对数据的拟合情况如左图所示,嗯,一看就拟合的很不错,预测应该比较精准啦。

@@ -241,7 +241,7 @@ $\theta_0 = 360, \theta_1 =0$ 时:

下图根据不同的起始点,产生了两个不同的局部最小值。

![](image/db48c81304317847870d486ba5bb2015.jpg)
![](images/db48c81304317847870d486ba5bb2015.jpg)

视频中举了下山的例子,即我们在山顶上的某个位置,为了下山,就不断地看一下周围**下一步往哪走**下山比较快,然后就**迈出那一步**,一直重复,直到我们到达山下的某一处**陆地**。

@@ -259,7 +259,7 @@ $\begin{align*} & \text{repeat until convergence:} \; \lbrace \newline \; &{{\th

公式中,学习速率决定了参数值变化的速率即”**走多少距离**“,而偏导这部分决定了下降的方向即”**下一步往哪里**“走(当然实际上的走多少距离是由偏导值给出的,学习速率起到调整后决定的作用),收敛处的局部最小值又叫做极小值,即”**陆地**“。

![](image/20180106_101659.png)
![](images/20180106_101659.png)

注意,在计算时要**批量更新 $\theta$ 值**,即如上图中的左图所示,否则结果上会有所出入,原因不做细究。

@@ -267,7 +267,7 @@ $\begin{align*} & \text{repeat until convergence:} \; \lbrace \newline \; &{{\th

该节探讨 $\theta_1$ 的梯度下降更新过程,即 $\theta_1 := \theta_1 - \alpha\frac{d}{d\theta_1}J\left(\theta_1\right)$,此处为了数学定义上的精确性,用的是 $\frac{d}{d\theta_1}J\left(\theta_1\right)$,如果不熟悉微积分学,就把它视作之前的 $\frac{\partial}{\partial\theta}$ 即可。

![](image/20180106_184926.png)
![](images/20180106_184926.png)

把红点定为初始点,切于初始点的红色直线的斜率,表示了函数 $J\left(\theta\right)$ 在初始点处有**正斜率**,也就是说它有**正导数**,则根据梯度下降公式 ,${{\theta }_{j}}:={{\theta }_{j}}-\alpha \frac{\partial }{\partial {{\theta }_{j}}}J\left( \theta_0, \theta_1 \right)$ 右边的结果是一个正值,即 $\theta_1$ 会**向左边移动**。这样不断重复,直到收敛(达到局部最小值,即斜率为0)。

@@ -281,13 +281,13 @@ $\begin{align*} & \text{repeat until convergence:} \; \lbrace \newline \; &{{\th

- 学习速率过小图示:

![](image/20180106_190944.png)
![](images/20180106_190944.png)

收敛的太慢,需要更多次的迭代。

- 学习速率过大图示:

![](image/20180106_191023.png)
![](images/20180106_191023.png)

可能越过最低点,甚至导致无法收敛。

@@ -295,7 +295,7 @@ $\begin{align*} & \text{repeat until convergence:} \; \lbrace \newline \; &{{\th

如图,品红色点为初始点,代价函数随着迭代的进行,变化的幅度越来越小。

![](image/20180106_191956.png)
![](images/20180106_191956.png)

**最后,梯度下降不止可以用于线性回归中的代价函数,还通用于最小化其他的代价函数。**

@@ -311,7 +311,7 @@ $\begin{align*} & \text{repeat until convergence:} \; \lbrace \newline \; &{{\th

直接将线性回归模型公式代入梯度下降公式可得出公式

![](image/20180106_203726.png)当 $j = 0, j = 1$ 时,**线性回归中代价函数求导的推导过程:**
![](images/20180106_203726.png)当 $j = 0, j = 1$ 时,**线性回归中代价函数求导的推导过程:**

$\frac{\partial}{\partial\theta_j} J(\theta_1, \theta_2)=\frac{\partial}{\partial\theta_j} \left(\frac{1}{2m}\sum\limits_{i=1}^{m}{{\left( {{h}_{\theta }}\left( {{x}^{(i)}} \right)-{{y}^{(i)}} \right)}^{2}} \right)=$

@@ -333,7 +333,7 @@ $\frac{\partial}{\partial\theta_1} J(\theta)=\frac{1}{m}\sum\limits_{i=1}^{m}{{\

由于线性回归函数呈现**碗状**,且**只有一个**全局的最优值,所以函数**一定总会**收敛到全局最小值(学习速率不可过大)。同时,函数 $J$ 被称为**凸二次函数**,而线性回归函数求解最小值问题属于**凸函数优化问题**。

![](image/24e9420f16fdd758ccb7097788f879e7.png)
![](images/24e9420f16fdd758ccb7097788f879e7.png)

另外,使用循环求解,代码较为冗余,后面会讲到如何使用**向量化(Vectorization)**来简化代码并优化计算,使梯度下降运行的更快更好。



+ 5
- 5
week2.md View File

@@ -6,7 +6,7 @@

对于一个要度量的对象,一般来说会有不同维度的多个特征。比如之前的房屋价格预测例子中,除了房屋的面积大小,可能还有房屋的年限、房屋的层数等等其他特征:

![](image/20180107_234509.png)
![](images/20180107_234509.png)

这里由于特征不再只有一个,引入一些新的记号

@@ -71,7 +71,7 @@ $$

下图中,左图是以原始数据绘制的代价函数轮廓图,右图为采用特征缩放(都除以最大值)后图像。左图中呈现的图像较扁,相对于使用特征缩放方法的右图,梯度下降算法需要更多次的迭代。

![](image/20180108_100751.png)
![](images/20180108_100751.png)



@@ -101,11 +101,11 @@ $$

我们可以通过绘制**代价函数关于迭代次数的图像**,可视化梯度下降的执行过程,借助直观的图形来发现代价函数趋向于多少时能趋于收敛,依据图像变化情况,确定诸如学习速率的取值,迭代次数的大小等问题。

![](image/20180108_103357.png)
![](images/20180108_103357.png)

对于学习速率 $\alpha$,一般上图展现的为适中情况,下图中,左图可能表明 **$\alpha$ 过大**,代价函数**无法收敛**,右图可能表明 **$\alpha$ 过小**,代价函数**收敛的太慢**。当然,$\alpha$ 足够小时,代价函数在每轮迭代后一定会减少。

![](image/20180108_104701.png)
![](images/20180108_104701.png)

通过不断改变 $\alpha$ 值,绘制并观察图像,并以此来确定合适的学习速率。 尝试时可取 $\alpha$ 如 $\dots\;0,001,\;0.003,\;0.01,\;0.03,\;0.1,\;\dots$

@@ -121,7 +121,7 @@ $$

或者平方根模型: $h_{\theta}\left( x \right)={\theta_{0}}+{\theta_{1}}{x_{1}}+{\theta_{2}}{x_{2}^2}+{\theta_{3}}{\sqrt{x_3}}$

![](image/20180108_113132.png)
![](images/20180108_113132.png)

在使用多项式回归时,要记住非常有必要进行特征缩放,比如 $x_1$ 的范围为 1-1000,那么 $x_1^2$ 的范围则为 1- 1000000,不适用特征缩放的话,范围更有不一致,也更易影响效率。



+ 13
- 13
week3.md View File

@@ -12,7 +12,7 @@

讨论肿瘤诊断问题:

![](image/20180109_144040.png)
![](images/20180109_144040.png)

肿瘤诊断问题的目的是告诉病人**是否**为恶性肿瘤,是一个**二元分类问题(binary class problems)**,则定义 $ y \in\lbrace 0, 1\rbrace$,其中 0 表示**负向类(negative class)**,代表恶性肿瘤("-"),1 为**正向类(positive class)**,代表良性肿瘤("+")。如图,定义最右边的样本为**偏差项**。

@@ -46,7 +46,7 @@ $$

[sigmoid 函数][2](如下图)是逻辑函数的特殊情况,其公式为 $g\left( z \right)=\frac{1}{1+{{e}^{-z}}}$。

![sigmoid function](image/2413fbec8ff9fa1f19aaf78265b8a33b_Logistic_function.png)
![sigmoid function](images/2413fbec8ff9fa1f19aaf78265b8a33b_Logistic_function.png)

应用 sigmoid 函数,则逻辑回归模型:$$h_{\theta}(x)=g(\theta^Tx) =\frac{1}{1+e^{-\theta^Tx}}$$

@@ -74,7 +74,7 @@ $\begin{align*}& h_\theta(x) \geq 0.5 \rightarrow y = 1 \newline& h_\theta(x) <

回忆一下 sigmoid 函数的图像:

![sigmoid function](image/2413fbec8ff9fa1f19aaf78265b8a33b_Logistic_function.png)
![sigmoid function](images/2413fbec8ff9fa1f19aaf78265b8a33b_Logistic_function.png)

观察可得当 $g(z) \geq 0.5$ 时,有 $z \geq 0$,即 $\theta^Tx \geq 0$。

@@ -82,7 +82,7 @@ $\begin{align*}& h_\theta(x) \geq 0.5 \rightarrow y = 1 \newline& h_\theta(x) <

直观一点来个例子,${h_\theta}\left( x \right)=g\left( {\theta_0}+{\theta_1}{x_1}+{\theta_{2}}{x_{2}}\right)​$ 是下图模型的假设函数:

![](image/20180111_000814.png)
![](images/20180111_000814.png)

根据上面的讨论,要进行分类,那么只要 $ {\theta_0}+{\theta_1}{x_1}+{\theta_{2}}{x_{2}}\geq0$ 时,就预测 $y = 1$,即预测为正向类。

@@ -100,7 +100,7 @@ ${h_\theta}\left( x \right)=g\left( {\theta_0}+{\theta_1}{x_1}+{\theta_{2}}{x_{2



![](image/20180111_000653.png)
![](images/20180111_000653.png)

当然,通过一些更为复杂的多项式,还能拟合那些图像显得非常怪异的数据,使得决策边界形似碗状、爱心状等等。

@@ -116,11 +116,11 @@ ${h_\theta}\left( x \right)=g\left( {\theta_0}+{\theta_1}{x_1}+{\theta_{2}}{x_{2

其中 $h_\theta(x) = g\left(\theta^{T}x \right)$,可绘制关于 $J(\theta)$ 的图像,如下图

![](image/20180111_080314.png)
![](images/20180111_080314.png)

回忆线性回归中的平方损失函数,其是一个二次凸函数(碗状),二次凸函数的重要性质是只有一个局部最小点即全局最小点。上图中有许多局部最小点,这样将使得梯度下降算法无法确定收敛点是全局最优。

![](image/20180111_080514.png)
![](images/20180111_080514.png)

如果此处的损失函数也是一个凸函数,是否也有同样的性质,从而最优化?这类讨论凸函数最优值的问题,被称为**凸优化问题(Convex optimization)**。

@@ -132,7 +132,7 @@ $\begin{align*}& J(\theta) = \dfrac{1}{m} \sum_{i=1}^m \mathrm{Cost}(h_\theta(x^

则有关于 $J(\theta)$ 的图像如下:

![](image/20180111_080614.png)
![](images/20180111_080614.png)

如左图,当训练集的结果为 $y=1$(正样本)时,随着假设函数趋向于 $1$,代价函数的值会趋于 $0$,即意味着拟合程度很好。如果假设函数此时趋于 $0$,则会给出一个**很高的代价**,拟合程度**差**,算法会根据其迅速纠正 $\theta$ 值,右图 $y=0$ 同理。

@@ -279,7 +279,7 @@ exitFlag = 1

一直在讨论二元分类问题,这里谈谈多类别分类问题(比如天气预报)。

![](image/20180112_001720.png)
![](images/20180112_001720.png)

原理是,转化多类别分类问题为**多个二元分类问题**,这种方法被称为 One-vs-all。

@@ -310,11 +310,11 @@ exitFlag = 1
能很好甚至完美拟合训练集中的数据,即 $J(\theta) \to 0$,但是对于不在训练集中的**新数据**,预测值和实际值的误差会很大,**泛化能力弱**,这类情况被称为过拟合。拟合模型过于复杂(特征选多了)时易出现这类情况。类似于,你上课跟着老师做题都会都听懂了,下课遇到新题就懵了不会拓展。

线性模型中的拟合情况(左图欠拟合,右图过拟合):
![](image/20180112_091654.png)
![](images/20180112_091654.png)


逻辑分类模型中的拟合情况:
![](image/20180112_092027.png)
![](images/20180112_092027.png)



@@ -329,7 +329,7 @@ exitFlag = 1
指模型预测值的**离散程度或者变化范围**。方差越大,数据的分布越分散,函数波动越大,泛化能力越差。方差低意味着拟合曲线的稳定性高,波动小。

据此,我们有对同一数据的各类拟合情况如下图:
![](image/20180112_085630.png)
![](images/20180112_085630.png)

据上图,高偏差意味着欠拟合,高方差意味着过拟合。

@@ -358,7 +358,7 @@ $min_\theta\ \dfrac{1}{2m}\sum_{i=1}^m (h_\theta(x^{(i)}) - y^{(i)})^2 + 1000\cd

上式中,我们在代价函数中增加了 $\theta_3$、$\theta_4$ 的惩罚项(penalty term) $1000\cdot\theta_3^2 + 1000\cdot\theta_4^2$,如果要最小化代价函数,那么势必需要极大地**减小 $\theta_3$、$\theta_4$**,从而使得假设函数中的 $\theta_3x^3$、$\theta_4x^4$ 这两项的参数非常小,就相当于没有了,假设函数也就**“变得”简单**了,从而在保留各参数的情况下避免了过拟合问题。

![](image/20180114_090054.png)
![](images/20180114_090054.png)





+ 14
- 14
week4.md View File

@@ -10,7 +10,7 @@

那特征能有多大呢?下面是一个计算机视觉中的例子:

![](image/20180115_084326.png)
![](images/20180115_084326.png)

如上图,如果选取一小块 $50 * 50$ 像素的灰度图片(一个像素只有亮度一个值),选择每个像素点作为特征,则特征总量 $n=2500$(换成 RGB(一个像素有三个值),则 $n = 7500$),如果将其两两组合作为新特征,则特征数量将为 $C_{2500}^{2} \approx 3\ million$。

@@ -22,11 +22,11 @@

下图是根据研究做的一些应用(有兴趣可回顾视频):

![](image/20180115_101441.png)
![](images/20180115_101441.png)

BrainPort 系统:帮助失明人士通过摄像头以及舌尖感官“看”东西

![](image/20180115_101442.png)
![](images/20180115_101442.png)

触觉皮带:在朝北时蜂鸣器会发出声响,可使人拥有方向感(声音信号转换为方向信号)。

@@ -34,7 +34,7 @@ BrainPort 系统:帮助失明人士通过摄像头以及舌尖感官“看”

既然神经网络模仿的是大脑神经元,那就先看一下大脑的神经元长什么样吧:

![来源: http://blog.csdn.net/zzwu/article/details/574931](image/20141213201613758.jpg)
![来源: http://blog.csdn.net/zzwu/article/details/574931](images/20141213201613758.jpg)

想象一下印刷厂中流水线的工人(机器人也算哦),每个工人都有特定的任务,比如装订,塑封,贴防伪标识等等,工人们看到书本并处理完自己的任务后,就回放回传送带,紧接着传送带就传给下一个环节的工人,如此不断重复从而完成一个又一个环节,直到一本书印制完成。

@@ -44,7 +44,7 @@ BrainPort 系统:帮助失明人士通过摄像头以及舌尖感官“看”

我们一般把神经网络划分为三部分(注意,不是只有三层!),即输入层(input layer),隐藏层(hidden layer)和输出层(output layer)。

![](image/20180116_001543.png)
![](images/20180116_001543.png)

图中的一个圈表示神经网络中的一个激活单元,输入层对应输入单元,隐藏层对应中间单元,输出层则对应输出单元。中间激活单元应用**激活函数**([activation_function](https://en.wikipedia.org/wiki/Activation_function))处理数据。

@@ -82,7 +82,7 @@ $Size(\Theta^{(2)})=s_3 \times (s_2 + 1) = 1 \times 4$

## 8.4 模型表示2(Model Representation II)

![](image/20180116_001543.png)
![](images/20180116_001543.png)

对输入层(Layer 1)的所有激活单元应用激活函数,从而得到隐藏层(Layer 2)中激活单元的值:

@@ -132,7 +132,7 @@ ${{z}^{\left( 2 \right)}}={{\Theta }^{\left( 1 \right)}} {{X}^{T}}$,这时 $z^

当然,神经网络可有多层,每层的激活单元数量也并不固定:

![](image/20180116_105545.png)
![](images/20180116_105545.png)

> 我们习惯于将输入层称为神经网络的第 0 层,如上图的神经网络被称为三层网络。

@@ -144,19 +144,19 @@ ${{z}^{\left( 2 \right)}}={{\Theta }^{\left( 1 \right)}} {{X}^{T}}$,这时 $z^

逻辑与(AND)运算(都为真值则结果才为真)神经网络:

![](image/20180117_000612.png)
![](images/20180117_000612.png)

$\Theta^{(1)} =\begin{bmatrix}-30 & 20 & 20\end{bmatrix}$,$h_\Theta(x) = g(-30+20x_1+20x_2)$。

回顾 sigmoid 函数图像,根据输入则有上图中右边的表格,即 $h_\theta(x)\approx x_1\ \text{AND}\ x_2$。这样就实现了一个能够进行与运算的神经网络。

![sigmoid function](image/2413fbec8ff9fa1f19aaf78265b8a33b_Logistic_function.png)
![sigmoid function](images/2413fbec8ff9fa1f19aaf78265b8a33b_Logistic_function.png)



再举一例,逻辑或(OR)运算(有一个真值则结果就为真)神经网络:

![](image/20180117_000349.png)
![](images/20180117_000349.png)



@@ -164,11 +164,11 @@ $\Theta^{(1)} =\begin{bmatrix}-30 & 20 & 20\end{bmatrix}$,$h_\Theta(x) = g(-30

下面逐步构建复杂一点的神经网络

![](image/20180117_004820.png)
![](images/20180117_004820.png)

如上图,我们分别构建了三个单层神经网络,将这三个网络组合起来,可得到一个新的神经网络,其可完成逻辑运算中的异或(XNOR)操作:

![](image/20180116_235545.png)
![](images/20180116_235545.png)

这里的组合即为 $\text{XNOR}=( \text{x}_1\, \text{AND}\, \text{x}_2 )\, \text{OR} \left( \left( \text{NOT}\, \text{x}_1 \right) \text{AND} \left( \text{NOT}\, \text{x}_2 \right) \right)$

@@ -182,13 +182,13 @@ $\Theta^{(1)} =\begin{bmatrix}-30 & 20 & 20 \newline 10 & -20 & -20\end{bmatrix}

举一个 4 分类问题的实例:

![](image/20180117_010904.png)
![](images/20180117_010904.png)

有四种分类情况,那么就让输出层包含 4 个输出单元即可,则 $h_\Theta$ 为 4 维向量。

神经网络中的多分类算法算是对 one-vs-all 思想的扩展,定义预测结果一共有 4 种情况:

![](image/20180117_011331.png)
![](images/20180117_011331.png)

如果预测结果 $h_\Theta(x) =\begin{bmatrix}0 \newline 0 \newline 1 \newline 0 \newline\end{bmatrix}$,那么表示 $h_\Theta(x)_3$,即分为第 3 类,对应于图中的摩托车(Motorcycle)。



+ 5
- 5
week5.md View File

@@ -57,7 +57,7 @@ $J(\theta) = - \frac{1}{m} \sum_{i=1}^m [ y^{(i)}\ \log (h_\theta (x^{(i)})) + (

在神经网络中,代价函数看上去虽然不复杂,但要注意到其中 $h_\Theta(x)$ 的求取实际上是由前向传播算法求得,即需从输入层开始,根据每层间的权重矩阵 $\Theta$ 依次计算激活单元的值 $a$。 在最优化代价函数时,我们必然也需要最优化每一层的权重矩阵,再次强调一下,**算法最优化的是权重,而不是输入**。

![](image/20180123_122124.png)
![](images/20180123_122124.png)

**反向传播算法**用于计算每一层权重矩阵的偏导 $\frac{\partial}{\partial\Theta}J(\Theta)$,算法实际上是对代价函数求导的拆解。

@@ -69,7 +69,7 @@ $J(\theta) = - \frac{1}{m} \sum_{i=1}^m [ y^{(i)}\ \log (h_\theta (x^{(i)})) + (

2. 运行反向传播算法,从输出层开始计算每一层预测的**误差**(error),以此来求取偏导。

![](image/20180120_105744.png)
![](images/20180120_105744.png)

输出层的误差即为预测与训练集结果的之间的差值:$\delta^{(L)} = a^{(L)} - y$,

@@ -157,7 +157,7 @@ $\begin{gather*} J(\Theta) = -\left[y \log ((h_\Theta (x))) + (1 - y)\log (1 - (

$J(\Theta) ={y}\log \left( 1+{{e}^{-z^{(L)}}} \right)+\left( 1-{y} \right)\log \left( 1+{{e}^{z^{(L)}}} \right)$

![](image/20180121_110111.png)
![](images/20180121_110111.png)

再次为了便于计算,我们用到如上图这个三层(输入层一般不计数)神经网络。

@@ -247,7 +247,7 @@ Theta2 = reshape(ThetaVec(111:118), 2, 4)

梯度检验采用数值估算(Numerical estimation)梯度的方法,被用于验证反向传播算法的正确性。

![](image/20180125_162704.png)
![](images/20180125_162704.png)

把视 $\Theta$ 为一个实数,数值估算梯度的原理如上图所示,即有 $\dfrac{\partial}{\partial\Theta}J(\Theta) \approx \dfrac{J(\Theta + \epsilon) - J(\Theta - \epsilon)}{2\epsilon}$

@@ -329,6 +329,6 @@ Theta3 = rand(1,11) * (2 * INIT_EPSILON) - INIT_EPSILON;

## 9.8 自主驾驶(Autonomous Driving)

![](image/20180125_195029.png)
![](images/20180125_195029.png)

描述了神经网络在于[自动驾驶](https://www.coursera.org/learn/machine-learning/lecture/zYS8T/autonomous-driving)领域的应用实例,用于打鸡血,笔记略。

Loading…
Cancel
Save