多层神经网络BP算法 文本垃圾分类

本文探讨了利用多层神经网络的反向传播(BP)算法进行文本分类,重点介绍了梯度下降法中的感知机实现。作者提供了两个Python脚本,一个用于模块调用,另一个用于训练和测试。训练集选取了2000个样本,测试集100个,最终训练错误率为0.02,测试错误率为0.1,表现出良好的分类效果。
摘要由CSDN通过智能技术生成

本篇文章主要介绍了如何用多层神经网络BP算法做文本垃圾分类。

在多层神经网络BP算法里面,最核心的部分其实就是梯度下降。梯度下降的方法有很多种,这里使用的是感知机(Perceptions);当然还有其它的一些方法,例如RBF和Adaline两个梯度下降的方法。

之后我会写出两个python的脚本,一个是模块脚本,用来被调用的;另外一个是测试脚本,用来训练和测试用的。

这个部分是nn.py的模块,之后会调用里面的方程。


# -*- coding: utf-8 -*-
"""
Created on Sat Aug 19 17:14:07 2017
@author: CHEN Ming
"""

from numpy import tanh,multiply,unique,zeros,sign

def mlp_test(x,W1,W2):
    z = tanh(W1*(x.T))
    y = tanh(W2*z)
    return y,z


def errorSample(yd,y):
    err = (yd-y)
    return err

# 梯度下降
def backprop(W1,W2,err,x,yp,z,eta):
    delta2 = multiply(-err,(1-multiply(yp,yp)))
    delta1 = multiply(  (W2*(delta2.tolist()[0][0])).T,(1-multiply(z,z))   )
    W2 = W2-eta*delta2*(z.T)
    W1 = W1-eta*delta1*x;
    return  W1,W2


# 只设置最大循环次数
d
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值