神经网络
From Ufldl
(→概述) |
|||
Line 6: | Line 6: | ||
[[Image:SingleNeuron.png|300px|center]] | [[Image:SingleNeuron.png|300px|center]] | ||
+ | |||
这个“神经元”是一个以 <math>\textstyle x_1, x_2, x_3</math> 及截距 <math>\textstyle +1</math> 为输入值的运算单元,其输出为 <math>\textstyle h_{W,b}(x) = f(W^Tx) = f(\sum_{i=1}^3 W_{i}x_i +b)</math> ,其中函数 <math>\textstyle f : \Re \mapsto \Re</math> 被称为“激活函数”。在本教程中,我们选用sigmoid函数作为'''激活函数''' <math>\textstyle f(\cdot)</math> | 这个“神经元”是一个以 <math>\textstyle x_1, x_2, x_3</math> 及截距 <math>\textstyle +1</math> 为输入值的运算单元,其输出为 <math>\textstyle h_{W,b}(x) = f(W^Tx) = f(\sum_{i=1}^3 W_{i}x_i +b)</math> ,其中函数 <math>\textstyle f : \Re \mapsto \Re</math> 被称为“激活函数”。在本教程中,我们选用sigmoid函数作为'''激活函数''' <math>\textstyle f(\cdot)</math> | ||
+ | |||
:<math> | :<math> | ||
f(z) = \frac{1}{1+\exp(-z)}. | f(z) = \frac{1}{1+\exp(-z)}. | ||
Line 13: | Line 15: | ||
可以看出,这个单一“神经元”的输入-输出映射关系其实就是一个逻辑回归(logistic regression)。 | 可以看出,这个单一“神经元”的输入-输出映射关系其实就是一个逻辑回归(logistic regression)。 | ||
+ | |||
虽然本系列教程采用sigmoid函数,但你也可以选择双曲正切函数(tanh): | 虽然本系列教程采用sigmoid函数,但你也可以选择双曲正切函数(tanh): | ||
+ | |||
:<math> | :<math> | ||
Line 28: | Line 32: | ||
<math>\textstyle \tanh(z)</math> 函数是sigmoid函数的一种变体,它的取值范围为 <math>\textstyle [-1,1]</math> ,而不是sigmoid函数的 <math>\textstyle [0,1]</math> 。 | <math>\textstyle \tanh(z)</math> 函数是sigmoid函数的一种变体,它的取值范围为 <math>\textstyle [-1,1]</math> ,而不是sigmoid函数的 <math>\textstyle [0,1]</math> 。 | ||
+ | |||
注意,与其它地方(包括OpenClassroom公开课以及斯坦福大学CS229课程)不同的是,这里我们不再令 <math>\textstyle x_0=1</math> 。取而代之,我们用单独的参数 <math>\textstyle b</math> 来表示截距。 | 注意,与其它地方(包括OpenClassroom公开课以及斯坦福大学CS229课程)不同的是,这里我们不再令 <math>\textstyle x_0=1</math> 。取而代之,我们用单独的参数 <math>\textstyle b</math> 来表示截距。 | ||
- | |||
+ | 最后要说明的是,有一个等式我们以后会经常用到:如果选择 <math>\textstyle f(z) = 1/(1+\exp(-z))</math> ,也就是sigmoid函数,那么它的导数就是 <math>\textstyle f'(z) = f(z) (1-f(z))</math> (如果选择tanh函数,那它的导数就是 <math>\textstyle f'(z) = 1- (f(z))^2</math> ,你可以根据sigmoid(或tanh)函数的定义自行推导这个等式。 | ||
==神经网络模型== | ==神经网络模型== |