人工智能是个大范围,包括了机器学习,机器学习包括了深度学习
一句话来说就是深度学习的基础就是人工神经网络,而人工神经网络是由生物神经网络的启发得来的。
人工神经网路的最小单元称为感知机,但是现在常常称为神经元。
神经元是是人工神经网络的最小单元
在上图中
输出就是由线性变换和非线性变换得到的
其实每个神经元可以看作一个复合函数,整个神经网络就是一个大的复合函数
于是,神经元内部的运算,就可以分开看成下面两个函数,其中w,b分别为权重和偏秩,一开始可以人为取值,随着机器的不断学习,w和b会不断的更新。
z = ∑ i = 1 k f ( x i ) = x 1 w 1 + x 2 w 2 + x 3 w 3 + . . . . . + x k w k + b a = g ( z ) z=\sum_{i=1}^{k}f(x_i)=x_1w_1+x_2w_2+x_3w_3+.....+x_kw_k+b\\ a=g(z) z=i=1∑kf(xi)=x1w1+x2w2+x3w3+.....+xkwk+ba=g(z)
可以看出, a = f ∘ g ( x 1 , x 2 , x 3 . . . . . , x k ) a=f\circ g(x_1,x_2,x_3.....,x_k) a=f∘g(x1,x2,x3.....,xk)的复合函数形式。
通过人为设置得到的参数称为超参数。
以房价预测为例:
样本(特征值):面积,楼层,户型。。。。
标签:价格
那么通过采集得到的数据集应该是下面这样:
上图中一共有四层神经模型,不算入input层,只有参与运算过程的层数才能算进去,包括output层
1. 正向传播(从input到output,计算预测值)
2. 反向传播(从output到input)
3. 梯度下降
在上面提到的 a = g ( z ) a=g(z) a=g(z),其中g就是激活函数,存在于非线性变换里面。通过引入激活函数,使得模型具有非线性的划分能力。将每个线性组合送入激活函数,将输出结果送入下一层神经元的输入。
早期流行的激活函数,RNN-LSTM网络还会用到。
f ( z ) = 1 1 + e − z f(z)=\displaystyle\frac1{1+e^{-z}} f(z)=1+e−z1
特点是:
用法:
通常用来做二分类
缺点:
f ( x ) = e x − e − x e x + e − x \displaystyle f(x)=\frac{e^x-e^{-x}}{e^x+e^{-x}} f(x)=ex+e−xex−e−x
特点:
用法:
缺点:
图像:
f ( x ) = m a x ( 0 , x ) f(x)=max(0,x) f(x)=max(0,x)
特点:
用法:
深层网络中隐藏层常用
缺点:
过于生猛,一言不合就会使得数据变为0,从此结点后的相关信息全部丢失。
图像:
其实还有一种函数leaky-ReLU 函数,就是在其负区间弄一定斜率的函数,解决RELU函数的0区间带来的影响,一般为 m a x ( k x , 0 ) max(kx,0) max(kx,0),k就是leak常数,一般为0.01或0.02,或通过学习得到。
also:
图像绘制可以看sigmoid Relu and tanh函数图像绘制