andrewre23 / sofenn

Self-Organizing Fuzzy Neural Network
MIT License
22 stars 11 forks source link

sofenn: Self-Organizing Fuzzy Neural Network

Welcome to sofenn (sounds like soften)!

This package is a Keras/TensorFlow implementation of a Self-Organizing Fuzzy Neural Network. The sofenn framework consists of two models:
(1) Fuzzy Network - Underlying fuzzy network whose parameters are optimized during training
(2) Self-Organizer - Meta-model that optimizes the architecture of the Fuzzy Network

FuzzyNetwork

Underlying neural network model that contains parameters to be optimized during training

SelfOrganizer

Meta-model to optimize architecture of underlying fuzzy network

Model Description

The model is implemented per the description in:

'An on-line algorithm for creating self-organizing fuzzy neural networks\'
Leng, Prasad, McGinnity (2004)

alt text

Fuzzy Neural Network Architecture

Credit: Leng, Prasad, McGinnity (2004)

Layers

Inputs Layer (0)

Input layer of network

Fuzzy Layer (1)

Radial (Ellipsoidal) Basis Function Layer

alt text

Information flow of r features within neuron j

Credit: Leng, Prasad, McGinnity (2004)

Normalized Layer (2)

Normalization Layer

Weighted Layer (3)

Weighting of ith MF of each feature

-output for weighted layer is:

Output Layer (4)

Final Output

Softmax Layer (5)

Classification Output