Browse Source

finish 9.1

fetches/wuliline/master
scruel 8 years ago
parent
commit
d7c624e268
5 changed files with 43 additions and 10 deletions
  1. +1
    -1
      week1.md
  2. +1
    -1
      week4.html
  3. +1
    -1
      week4.md
  4. +1
    -1
      week5.html
  5. +39
    -6
      week5.md

+ 1
- 1
week1.md View File

@@ -116,7 +116,7 @@

**编程语言建议**

在机器学习刚开始时,**推荐使用 Octave 类的工程计算编程软件**,因为在 C++ 或 Java 等编程语言中,编写对应的代码需要用到复杂的库以及要写大量的冗余代码,比较耗费时间,建议可以在学习过后再考虑使用其他语言来构建系统。****
在机器学习刚开始时,**推荐使用 Octave 类的工程计算编程软件**,因为在 C++ 或 Java 等编程语言中,编写对应的代码需要用到复杂的库以及要写大量的冗余代码,比较耗费时间,建议可以在学习过后再考虑使用其他语言来构建系统。
另外,在做**原型搭建**的时候也应该先考虑使用类似于 Octave 这种便于计算的编程软件,当其已经可以工作后,才将模型移植到其他的高级编程语言中。

> 注:Octave 与 MATLAB 语法相近,由于 MATLAB 为商业软件,课程中使用开源且免费的 Octave。


+ 1
- 1
week4.html
File diff suppressed because it is too large
View File


+ 1
- 1
week4.md View File

@@ -4,7 +4,7 @@

## 8.1 非线性假设(Non-linear Hypotheses)

理论上我们可以用多项式函数去近似任意函数(泰勒极数(Taylor series)),从而可得到任意问题的拟合曲线
理论上我们可以用多项式函数去近似任意函数(泰勒极数(Taylor series)),从而可得到任意问题的拟合曲线。

在实际处理时,特征量通常会很多,如果再构造高阶多项式等,特征数量将会急剧增加,这使得回归模型的复杂度太高,可见并不合适。神经网络无需构造高阶多项式,在特征量很大时也可以处理的很好。



+ 1
- 1
week5.html
File diff suppressed because it is too large
View File


+ 39
- 6
week5.md View File

@@ -1,14 +1,47 @@
[TOC]

# 9 Neural Networks: Learning
# 9 神经网络: 学习(Neural Networks: Learning)

## 9.1 Cost Function
## 9.1 代价函数(Cost Function)

## 9.2 Backpropagation Algorithm
对于神经网络的代价函数公式:

## 9.3 Backpropagation Intuition
$\begin{gather*} J(\Theta) = - \frac{1}{m} \sum_{i=1}^m \sum_{k=1}^K \left[y^{(i)}_k \log ((h_\Theta (x^{(i)}))_k) + (1 - y^{(i)}_k)\log (1 - (h_\Theta(x^{(i)}))_k)\right] + \frac{\lambda}{2m}\sum_{l=1}^{L-1} \sum_{i=1}^{s_l} \sum_{j=1}^{s_{l+1}} ( \Theta_{j,i}^{(l)})^2\end{gather*}$

## 9.4 Implementation Note_ Unrolling Parameters
> $L$: 神经网络的总层数
>
> $s_l$: 第 $l$ 层激活单元的数量(不包含偏置单元)
>
> $K$: 分类总数,即输出层输出单元的数量
>
> $h_\Theta(x)_k$: 分为第 $k$ 个分类的概率 $P(y=k | x ; \Theta) $
>
>
>
> 注:此处符号表达和第四周的内容有异有同,暂时先按照视频来,有必要的话可以统一一下.

公式可长可长了是吧,那就对照下逻辑回归中的代价函数:

$J(\theta) = - \frac{1}{m} \sum_{i=1}^m [ y^{(i)}\ \log (h_\theta (x^{(i)})) + (1 - y^{(i)})\ \log (1 - h_\theta(x^{(i)}))] + \frac{\lambda}{2m}\sum_{j=1}^n \theta_j^2$

在神经网络的代价函数中,

- 左边的变化实际上是为了求解 $K$ 分类问题,即公式会对每个样本特征都运行 $K$ 次,并依次给出分为第 $k$ 类的概率。
- 右边的正则化项比较容易理解,每一层有多维矩阵 $\Theta^{(l)}\in \mathbb{R}^{(s_l + 1)\times s_{l+1}}$,从左到右看这个三次求和式 $\sum\limits_{l=1}^{L-1}\sum\limits_{i=1}^{s_l}\sum\limits_{j=1}^{s_{l+1}}$ ,就是对每一层间的多维参数矩阵 $\Theta^{(l)}$ ,依次平方后求取其除了偏置参数部分的和值,并循环累加即得结果。

> $\mathbb{R}^{m}$: 即 $m$ 维向量
>
> $\mathbb{R}^{m\times n}$: 即 $m \times n$ 维矩阵

可见,神经网络背后的思想是和逻辑回归一样的。



## 9.2 反向传播算法(Backpropagation Algorithm)

## 9.3 直观理解反向传播(Backpropagation Intuition)

## 9.4 实现注意点: 参数展开(Implementation Note: Unrolling Parameters)

## 9.5 Gradient Checking

@@ -16,4 +49,4 @@

## 9.7 Putting It Together

## 9.8 Autonomous Driving
## 9.8 自主驾驶(Autonomous Driving)

Loading…
Cancel
Save