原理
BP神经网络分为两部分,前向传播和反向传播;前向传播前面已经讲过了,那么在这儿就讲讲反向传播。其实反向传播和我们Logistic Regression原理差不多,都是通过代价函数来进行求导,只不过在这儿我们神经网络一共有三层,那么就会有两组权重,分别对应第一层传向第二层,第二层传向第三层。所以,在这里,我们可能就需要进行求偏导,然后去更新我们的权重
效果
效果相比于我们的Logistic Regression 和给定权重的前向传播,要略差一些。准确率波动比较大,在85%~99%左右
具体实现
需要导入的库
导入数据
显示数据
将Y转化为矩阵
降维升维函数
主要用于minimize()函数来方便求theta
前向传播函数
代价函数和正则函数
梯度函数
梯度检验函数
预测函数
θ生成函数
主函数
小结
到此,我们已经能够构建一个简单的神经网络,能够解决简单的实际问题。已经迈出一大步了!