Description
A Handwritten Multilayer Perceptron Classifier
This python implementation is an extension of artifical neural network discussed in Python Machine Learning and Neural networks and Deep learning by extending the ANN to deep neural network & including softmax layers, along with log-likelihood loss function and L1 and L2 regularization techniques.
MLP Classifier alternatives and similar packages
Based on the "Machine Learning" category.
Alternatively, view MLP Classifier alternatives based on common mentions on social networks and blogs.
-
tensorflow
An Open Source Machine Learning Framework for Everyone -
gym
A toolkit for developing and comparing reinforcement learning algorithms. -
xgboost
Scalable, Portable and Distributed Gradient Boosting (GBDT, GBRT or GBM) Library, for Python, R, Java, Scala, C++ and more. Runs on single machine, Hadoop, Spark, Dask, Flink and DataFlow -
PaddlePaddle
PArallel Distributed Deep LEarning: Machine Learning Framework from Industrial Practice (『飞桨』核心框架,深度学习&机器学习高性能单机、分布式训练和跨平台部署) -
CNTK
Microsoft Cognitive Toolkit (CNTK), an open source deep-learning toolkit -
Prophet
Tool for producing high quality forecasts for time series data that has multiple seasonality with linear or non-linear growth. -
MindsDB
MindsDB is a Server for Artificial Intelligence Logic. Enabling developers to ship AI powered projects to production in a fast and scalable way. -
TFLearn
Deep learning library featuring a higher-level API for TensorFlow. -
H2O
H2O is an Open Source, Distributed, Fast & Scalable Machine Learning Platform: Deep Learning, Gradient Boosting (GBM) & XGBoost, Random Forest, Generalized Linear Modeling (GLM with Elastic Net), K-Means, PCA, Generalized Additive Models (GAM), RuleFit, Support Vector Machine (SVM), Stacked Ensembles, Automatic Machine Learning (AutoML), etc. -
NuPIC
Numenta Platform for Intelligent Computing is an implementation of Hierarchical Temporal Memory (HTM), a theory of intelligence based strictly on the neuroscience of the neocortex. -
Pyro.ai
Deep universal probabilistic programming with Python and PyTorch -
Surprise
A Python scikit for building and analyzing recommender systems -
Pylearn2
Warning: This project does not have any current developer. See bellow. -
LightFM
A Python implementation of LightFM, a hybrid recommendation algorithm. -
Sacred
Sacred is a tool to help you configure, organize, log and reproduce experiments developed at IDSIA. -
skflow
Simplified interface for TensorFlow (mimicking Scikit Learn) for Deep Learning -
Clairvoyant
Software designed to identify and monitor social/historical cues for short term stock movement -
python-recsys
A python library for implementing a recommender system -
Metrics
Machine learning evaluation metrics, implemented in Python, R, Haskell, and MATLAB / Octave -
awesome-embedding-models
A curated list of awesome embedding models tutorials, projects and communities. -
karateclub
Karate Club: An API Oriented Open-source Python Framework for Unsupervised Learning on Graphs (CIKM 2020) -
Crab
Crab is a flexible, fast recommender engine for Python that integrates classic information filtering recommendation algorithms in the world of scientific Python packages (numpy, scipy, matplotlib). -
adaptive
:chart_with_upwards_trend: Adaptive: parallel active learning of mathematical functions -
seqeval
A Python framework for sequence labeling evaluation(named-entity recognition, pos tagging, etc...) -
TrueSkill, the video game rating system
An implementation of the TrueSkill rating system for Python -
rwa
Machine Learning on Sequential Data Using a Recurrent Weighted Average -
SciKit-Learn Laboratory
SciKit-Learn Laboratory (SKLL) makes it easy to run machine learning experiments. -
Feature Forge
A set of tools for creating and testing machine learning features, with a scikit-learn compatible API -
Data Flow Facilitator for Machine Learning (dffml)
The easiest way to use Machine Learning. Mix and match underlying ML libraries and data set sources. Generate new datasets or modify existing ones with ease. -
brew
Multiple Classifier Systems and Ensemble Learning Library in Python. -
Xorbits
Scalable Python data science, in an API compatible & lightning fast way. -
bodywork
ML pipeline orchestration and model deployments on Kubernetes, made really easy. -
OptaPy
OptaPy is an AI constraint solver for Python to optimize planning and scheduling problems. -
vowpal_porpoise
lightweight python wrapper for vowpal wabbit -
omega-ml
MLOps simplified. From ML Pipeline ⇨ Data Product without the hassle -
ChaiPy
A developer interface for creating advanced chatbots for the Chai app. -
tfgraphviz
A visualization tool to show a TensorFlow's graph like TensorBoard -
neptune-contrib
This library is a location of the LegacyLogger for PyTorch Lightning.
ONLYOFFICE Docs — document collaboration in your environment
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of MLP Classifier or a related project?
README
MLP Classifier
A Handwritten Multilayer Perceptron Classifier
This python implementation is an extension of artifical neural network discussed in Python Machine Learning and Neural networks and Deep learning by extending the ANN to deep neural network & including softmax layers, along with log-likelihood loss function and L1 and L2 regularization techniques.
Some Basics
An artificial neuron is mathematical function conceived as a model of biological neurons. Each of the nodes in the diagram is a a neuron, which transfer their information to the next layer through transfer function.
The transfer function is a linear combination of the input neurons and a fixed value - bias (threshold in figure). The coefficients of the input neurons are weights.
In the code, bias is a numpy array of size(layers-1) as input layer do not have a bias. The weights, also a numpy array, form a matrix for every two layers in the network.
Activation function is the output of the given neuron.
X: vectorize{(j-1)th layer}
w = weights[j-1]
bias = threshold[j-1]
transfer_function = dot_product(w, X)
o = activation(transfer_function + bias)
Details
The implementation includes two types of artificial neurons:
- Sigmoid Neurons
- Softmax Neurons
The loss function associated with Softmax function is the log-likelihood function, while the loss function for Sigmoid function is the the cross-entropy function. The calculus for both loss functions have been discussed within the code.
Further, the two most common regularization techiques - L1 and L2 have been used to prevent overfitting of training data.
Why Softmax?
For zLj in some vector ZL, softmax(zLj) is defined as
The output from the softmax layer can be thought of as a probability distribution.
In many problems it is convenient to be able to interpret the output activation O(j) as the network's estimate of the probability that the correct output is j.
Refer these notes for calculus of softmax function.
Source of MNIST training data-set.