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↑

nn_and_wnn's People

Contributors

jswanglp avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

nn_and_wnn's Issues

关于训练集的一些疑问

你好,我最近想用小波网络训练一些数据,但我的数据存放在Excel表中,一共有几个输入,一个输出,训练完后想要的结果是再输入一组数(有好几个),得到一个结果(对应上文的输出),请问要如何修改代码才能实现上述功能呀?期待你的回复

convergence comparison NN vs WNN

Hi,
First of all, thank you for this great work. I rerun your NN and WNN but couldn't achieve the claimed result. Here are screenshots of NN and WNN, respectively:
image
image
WNN hasn't converged and MSE loss was higher than NN.
It will be great to have your comments on that result.
Thank you!

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.