目录
01 线性回归
这应该是刚入门深度学习的小伙伴们都会最早接触到的相关知识,我是参考这篇博文进行入门:线性回归,大家也可以参考,这里我根据自己的理解和学习经历给出自己的想法。
1.1基本原理
后续持更新…
1.2代码与算法
后续持续更新…
02 逻辑回归
2.1基本原理
后续持续更新…
2.2代码与算法
后续持续更新…
03 BP神经网络
- 神经网络
神经网络大致由输入层、隐藏层、输出层组成。
层与层之间的神经元有连接,同一层之间的神经元没有连接,连接的神经元都有对应的权重。
隐藏层比较多的神经网络叫做深度神经网络,深度学习就是深层架构的机器学习方法。
- BP算法
“误差反向传播算法(Error Back Propagation)”的提出,使得多层感知器的模型中神经元的参数的计算变得简单可行。误差反向传播算法简称反向传播算法(即BP 算法)。
反向传播算法于1986 年由David E. Rumelhart和James L. McClelland 发表于书籍Parallel Distributed Processing 中。使用反向传播算法的多层感知器又称为BP 神经网络。
BP 算法是一个迭代算法,它的基本思想为:
先计算每一层的状态和激活值,直到最后一层(即信号是前向传播的);
计算每一层的误差,误差的计算过程是从最后一层向前推进的(这就是反向传播算法名字的由来);
更新参数(目标是误差变小),迭代前面两个步骤,直到满足停止准则(比如相邻两次迭代的误差的差别很小)。
3.1基本原理
学习过程参考:bp神经网络bilibili
3.1.1信息前向传播
可以总结出,第 l ( 2 l(2 l(2 ≤ \leq ≤ l l l ≤ \leq ≤ L ) L) L) 层神经元的状态以及激活值为(下式为向量形式):
Z ( l ) = W ( l ) A ( l − 1 ) + B ( l ) Z^{(l)}=W^{(l)}A^{(l-1)}+B^{(l)} Z(l)=W(l)A(l−1)+B(l)
A
(
l
)
=
f
(
Z
(
l
)
)
A^{(l)}=f(Z^{(l)})
A(l)=f(Z(l))
对于
L
L
L层感知器,网格最终输出为
A
(
l
)
A^{(l)}
A(l)。前向传递过程如下:
X
=
A
(
1
)
→
Z
(
2
)
→
.
.
.
→
A
(
L
−
1
)
→
Z
(
L
)
→
A
(
L
)
=
Y
X=A^{(1)}\rightarrow Z^{(2)}\rightarrow ...\rightarrow A^{(L-1)}\rightarrow Z^{(L)}\rightarrow A^{(L)}=Y
X=A(1)→Z(2)→...→A(L−1)→Z(L)→A(L)=Y
3.1.2误差反向传播
从第1层到第i层如上所示。其中
W
W
W的维度由上一层和当前层决定:
行:上一层神经元个数;列:当前层神经元个数。
注:
- w i n [ L ] w^{[L]}_{in} win[L]
- X X X的行数表示样本的个数,列数表示特征值的个数
-
f
f
f为激活函数,加入非线性因素
激活函数类型- sigmoid函数: s i g m o i d ( x ) = 1 / ( 1 + e − x ) sigmoid(x)=1/(1+e^{-x}) sigmoid(x)=1/(1+e−x) 常用于分类(输出层);
- tanh函数:比sigmoid函数更明显;
- Relu函数:隐藏层;