Experiments with Machine Learning
Yuriy Guts
Solutions Architect
First Things First
What Is Machine Learning?
“ A computer program is said to learn from experience E
with respect to some class of tasks T and performance measure P,
if its performance at tasks in T, as measured by P,
improves with experience E.
— Tom M. Mitchell
Categories of Machine Learning
1. Supervised Learning.
2. Unsupervised Learning.
3. Reinforcement Learning.
Regression
Predict a continuous dependent variable
based on independent predictors
Linear Regression
Classification
Assign an observation to some category
from a known discrete list of categories
Logistic Regression
hypothesis  =  1  /  (1  +  exp(-­‐theta'  *  x));
Logistic Regression: Cost Function
hypotheses  =  sigmoid(X  *  theta);
cost  =  (1  /  m)  *  (-­‐y'  *  log(hypotheses)  -­‐ (1  -­‐ y)'  *  log(1  -­‐ hypotheses));
Let’s classify human speech!
Decide whether a spoken phrase contains the word ‘Google’ or not
‘Google’ Detector: Feature Mapping
Options for building X[ ]:
Input: Audio file (WAV, 16 bit mono, 44.1 kHz)
Output: 1 if it contains the word ‘Google’, otherwise 0
1. Use raw waveform as a feature vector.
But: will have 66150 features for a 1.5 second file.
Kinda scary, and easy to overfit.
2. Use Mel-Frequency Cepstral Coefficients (MFCC).
Believed to be closer to human auditory response.
Depending on parameters, can give about 80 features per file.
[cepstra,  aSpectrum,  pSpectrum]  =  MFCC(waveform);
x  =  [cepstra(1);  cepstra(2);   ...;  cepstra(n)];
Let’s code it up
MATLAB, logistic regression with conjugate gradient optimization
yuriy . guts  @  gmail . com
linkedin . com / in / yuriyguts
github.com/YuriyGuts/gdg-speech-classifier
Q & A

Experiments with Machine Learning - GDG Lviv