10.11.2016 Views

Learning Data Mining with Python

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Beating CAPTCHAs <strong>with</strong> Neural Networks<br />

• Extracting basic features from images<br />

• Using neural networks for larger-scale classification tasks<br />

• Improving performance using postprocessing<br />

Artificial neural networks<br />

Neural networks are a class of algorithm that was originally designed based on<br />

the way that human brains work. However, modern advances are generally based<br />

on mathematics rather than biological insights. A neural network is a collection of<br />

neurons that are connected together. Each neuron is a simple function of its inputs,<br />

which generates an output:<br />

The functions that define a neuron's processing can be any standard function, such<br />

as a linear combination of the inputs, and are called the activation function. For the<br />

commonly used learning algorithms to work, we need the activation function to be<br />

derivable and smooth. A frequently used activation function is the logistic function,<br />

which is defined by the following equation (k is often simply 1, x is the inputs into<br />

the neuron, and L is normally 1, that is, the maximum value of the function):<br />

The value of this graph, from -6 to +6, is shown as follows:<br />

[ 162 ]

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!