【机器学习】基于AutoEncoder的BP神经网络的tensorflow实现
一、基于AutoEncoder的BP神经网络
1.1、BP神经网络
1.1.1、BP神经网络结构
设有数据集 { ( X 1 , Y 1 ) , ( X 2 , Y 2 ) , ⋯   , ( X m , Y m ) } \left\{ {\left( {
{X_1},{Y_1}} \right),\left( {
{X_2},{Y_2}} \right), \cdots ,\left( {
{X_m},{Y_m}} \right)} \right\} {
(X1,Y1),(X2,Y2),⋯,(Xm,Ym)},每个样本特征有 n n n个特征,即 X i = { x 1 , x 2 , ⋯   , x n } {X_i} = \left\{ {
{x_1},{x_2}, \cdots ,{x_n}} \right\} Xi={
x1,x2,⋯,xn},对应的样本标签为 Y i = { o 1 , ⋯   , o j } {Y_i} = \left\{ {
{o_1}, \cdots ,{o_j}} \right\} Yi={
o1,⋯,oj}。
BP神经网络的结构图如上所示。BP神经网络是三层结构:输入层、隐含层和输出层。
输入层:节点数等于样本的特征维度数 n n n,输入每一个样本的特征。
隐含层:节点数可以根据需要设置(本博文中设为k)。
输出层:节点数等于标签维度数 j j j。
输入层到隐含层之间的权重矩阵 W 1 W_1 W1,偏置 b 1 b_1 b