A package for building and training cascade correlation neural networks in tensorflow and scipy.
Project description
cascade-correlation-neural-networks
A general framework for building and training constructive feed-forward neural networks. Provides an implementation of sibling-descendant CCNN (Cascade-Correlation) [1,2] with extendable wrappers to tensorflow, keras, scipy, and scikit-learn. Also supports custom topologies, training algorithms, and loss functions [3, 4].
Installation | Features | Examples | References
Installation
pip install pyccnn
Features
Regression and Bayesian Regression
Classification
Unsupervised Learning
Examples
Simple regression problem:
import tensorflow.compat.v1 as tf
from pyccnn.core import activations, losses
from pyccnn.core.model import CCNN
from pyccnn.core.monitor import EarlyStoppingMonitor
from pyccnn.core.units.perceptron import TensorflowPerceptron, ScipyPerceptron
# read the data and split into train and test
X_train, X_test, y_train, y_test = ...
# build cascade correlation network
output_unit = ScipyPerceptron(activations=[activations.linear], loss_function=losses.mse)
candidate_unit = TensorflowPerceptron([tf.nn.tanh], losses.S1, EarlyStoppingMonitor(1e-3, 500, 10000))
ccnn = CCNN(1, 1, output_unit, candidate_unit, losses.fvu)
# train network
ccnn.train(X_train, y_train, EarlyStoppingMonitor(1e-10, 10, 10), X_test, y_test)
Other examples can be found here.
References
- Fahlman, Scott E., and Christian Lebiere. "The Cascade-Correlation Learning Architecture." NIPS. 1989.
- Baluja, Shumeet, and Scott E. Fahlman. Reducing network depth in the cascade-correlation learning architecture. CARNEGIE-MELLON UNIV PITTSBURGH PA SCHOOL OF COMPUTER SCIENCE, 1994.
- Kwok, Tin-Yau, and Dit-Yan Yeung. "Bayesian regularization in constructive neural networks." International Conference on Artificial Neural Networks. Springer, Berlin, Heidelberg, 1996.
- Kwok, Tin-Yau, and Dit-Yan Yeung. "Objective functions for training new hidden units in constructive neural networks." IEEE Transactions on neural networks 8.5 (1997): 1131-1148.
- https://www.psych.mcgill.ca/perpg/fac/shultz/personal/Recent_Publications_files/cc_tutorial_files/v3_document.htm
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pyccnn-1.0.tar.gz.
File metadata
- Download URL: pyccnn-1.0.tar.gz
- Upload date:
- Size: 18.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.11.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2397c3918eed28c181d8456ae4dbe1ae9a8421d06474557ad67bf68d9c4fd05c
|
|
| MD5 |
21e55adb33460650b1c5d0f9de9c6fd6
|
|
| BLAKE2b-256 |
4e7cf5abce011b227009118eff29c5988049f7449323106ede4ba7317d32b4ba
|
File details
Details for the file pyccnn-1.0-py3-none-any.whl.
File metadata
- Download URL: pyccnn-1.0-py3-none-any.whl
- Upload date:
- Size: 25.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.11.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
999bc64789d85e1ae994c96f4a0e8c6ee7da11121306e10d2cfb1242a7febe47
|
|
| MD5 |
fc6c00707782c6436a521180a1289f3e
|
|
| BLAKE2b-256 |
673353e0515b83fa099abb9a88abe413dc4c8846521f3eb495a0a6505b57b13a
|