19-Jul-2017

Machine Learning - Quick inputs

Rajesh K      android

Machine learning is something where you are not going to jot down any custom code specific to your application problem. Rather than writing code, you feed information to the generic rule and it builds its own logic according to the information.

For example, one quite rule may be a classification rule. It will place information into completely different teams, a classification rule written to acknowledge written numbers will not classify emails into spam and not-spam. It’s a similar rule, however it’s fed {different|totally completely different|completely different} coaching information therefore it comes up with different classification logic.

In machine learning, more data is almost always more important than having better algorithms.

Types of Machine Learning Algorithms

You can think of machine learning algorithms as falling into one of two main categories , the difference is simple, but really important.

1.Supervised learning
The computer is presented with example inputs and their desired outputs, given by a "teacher", and the goal is to learn a general rule that maps inputs to outputs.

2.Unsupervised learning.
No labels are given to the learning algorithm, leaving it on its own to find structure in its input. Unsupervised learning can be a goal in itself (discovering hidden patterns in data) or a means towards an end (feature learning).

3.Reinforced learning:
A computer program interacts with a dynamic environment in which it must perform a certain goal . The program is provided feedback in terms of rewards and punishments as it navigates its problem space.

Data for Machine learning:


Machine learning accuracy is based on amount of data you posess to train your model.As machine learning becomes more important in industries, the difference between a good program and a bad program will be determined by how much data you have to train your models. That’s why companies like Google and Facebook need your data so badly!

For example, Google recently open sourced TensorFlow, its software Library for building large-scale machine learning applications. Even Google Translate is powered with this library .It was a big deal that Google gave us such an important, capable technology as opensource.
But without Google’s massive trove of data in every language, you can’t create a competitor to Google Translate. Data is what gives Google its edge. Think about that the next time you open up your Google Maps Location History or Facebook Location History and notice that it stores every place you’ve ever been.
Machine Learning Libraries

TensorFlow
TensorFlow is an open source software library for machine learning across a range of tasks, and developed by Google to meet their needs for systems capable of building and training neural networks to detect and decipher patterns and correlations, analogous to the learning and reasoning which humans use.It is currently used for both research and production at Google products.

SciKit-Learn:
Machine Learning in Python
Simple and efficient tools for data mining and data analysis
Accessible to everybody, and reusable in various contexts
Built on NumPy, SciPy, and matplotlib
Open source, commercially usable - BSD license
you can play around with tons of machine learning algorithms by downloading and installing SciKit-Learn. It’s a python framework that has “black box” versions of all the standard algorithms.

TFlearn
TFlearn is a modular and transparent deep learning library built on top of Tensorflow. It was designed to provide a higher-level API to TensorFlow in order to facilitate and speed-up experimentations, while remaining fully transparent and compatible with it.

TFLearn features include:

Easy-to-use and understand high-level API for implementing deep neural networks, with tutorial and examples.
Fast prototyping through highly modular built-in neural network layers, regularizers, optimizers, metrics...
Full transparency over Tensorflow. All functions are built over tensors and can be used independently of TFLearn.
Powerful helper functions to train any TensorFlow graph, with support of multiple inputs, outputs and optimizers.
Easy and beautiful graph visualization, with details about weights, gradients, activations and more...
Effortless device placement for using multiple CPU/GPU.

Deeplearning4j
Deeplearning4j is a deep learning programming library written for Java and the Java virtual machine (JVM) and a computing framework with wide support for deep learning algorithms. Deeplearning4j includes implementations of the restricted Boltzmann machine, deep belief net, deep autoencoder, stacked denoising autoencoder and recursive neural tensor network, word2vec, doc2vec, and GloVe. These algorithms all include distributed parallel versions that integrate with Apache Hadoop and Spark.

Note:There are more open source libraries to explore Machine Learning Algorithms.