Giter VIP home page Giter VIP logo

jswanglp / nn_and_wnn Goto Github PK

View Code? Open in Web Editor NEW
24.0 1.0 9.0 265 KB

通过反向传播算法实现神经网络和小波神经网络。Implement neural network and wavelet neural network through back-propagation algorithm. Реализация нейронных сетей и вейвлет-нейронных сетей с помощью метода обратного распространения ошибки.

License: MIT License

Python 18.27% Jupyter Notebook 81.73%
optimization-algorithms neural-network wavelet-analysis machine-learning

nn_and_wnn's Introduction

NN_and_WNN

业精于勤,荒于嬉;行成于思,毁于随[1]


一个通过反向传播算法来实现神经网络小波神经网络repo,由于未使用到 GPU 加速, 当网络层数较多时会导致训练比较慢,训练集也只是截取了 mnist 手写数据集中的 5000 张图片,测试集则选择了 1000 张。

需要安装的库包括:

TensorFlow 1.12.0 (如果已下载 mnist 手写数据集则不需要)  
numpy 1.15.4  
matplotlib 2.0.2  

神经网络 (Neural Network, NN) 程序实现包含 2 个隐藏层的神经网络,激活函数为 sigmoid 函数,运行结果的笔记保存至 jupyter notebook 文件。

小波神经网络 (Wavelet Neural Network, WNN) 程序实现包含 1 个小波隐藏层的小波神经网络,激活函数为小波函数 morlet 函数(左下图),右下图所示的则为 morlet 小波的导函数。

morlet_wavelet.png

包含单个隐层的小波神经网络的能力与双隐层的普通神经网络相当。更多关于小波激活函数的小波神经网络在这个 repo,运行结果的笔记保存至 jupyter notebook 文件。

当隐层的小波函数为 POLYWOG3 小波函数[2]时(左下图),右下图所示的则为 POLYWOG3 小波的导函数。

POLYWOG_wavelet.png

网络收敛速度明显快于普通的神经网络,精度在经过 40 次迭代之后达到了含双隐层的普通神经网络需要 200 次迭代才能达到的结果[3]。代码、运行结果的笔记保存至 pyjupyter notebook 文件。


脚注 (Footnote)

[1]: 进学解 -- 韩愈
[2]: Gaviphat L. Adaptive Self-Tuning Neuro Wavelet Network Controllers // PhD thesis. Blacksburg, Virginia. 1997. 122p.
[3]: Ван Л. Петросян О.Г. Распознавание лиц на основе классификации вейвлет признаков путём вейвлет-нейронных сетей // Информатизация образования и науки. 2018. №4. С. 129-139.

↑Back to Content↑

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.