Neural networks are an excellent way of mapping past observations to a functional model. Many researchers have been able to build tools to recognize handwriting, or even jaundice detection.
While Neural Networks are powerful they still are somewhat of a mystery to many. This talk aims to explain neural networks in a test driven way. We'll write tests first and go through how to build a neural network to determine what language a sentence is.
By the end of this talk you'll know how to build neural networks with tests!
9. Today we’ll cover
•
•
•
•
What feed forward neural networks are
How to classify strings to languages using Neural
Nets
How to do it in a TDD fashion
Demonstration
14. How many Neurons?
• 2/3 * Input layer count + output count is a
good start
• Aggregation over expansion so less
neurons in the hidden layer than on the
input layer.
20. Activation Functions
• Sigmoid => Learning Curve
• Elliott => Learning Curve
• Gaussian => Bell curve
• Linear => Line
• Threshold => Yes or No
• Cosine and Sine => Periodic
32. Test the Seams
describe Language do
it 'has the proper keys for each vector'
it 'sums to 1 for all vectors'
it 'returns characters that is a unique set of characters used'
end
33. Cross Validation
describe Network do
%w[English Finnish German Norwegian Polish Swedish].each do |lang|
it "Trains and cross-validates with an error of 5% for #{lang}"
end
end