Machine Learning Hidden Markov Model

advertisement
Machine Learning
Hidden Markov Model
Darshana Pathak
University of North Carolina at Chapel
Hill
Research Seminar – November 14, 2012
Disclaimer
All the information in the
following slides assumes that
“There is a GREAT human mind
behind every computer
program.”
What is Machine Learning?
• Make Computers learn from a given task and
experience.
• “Field of study that gives computers the ability
to learn without being explicitly
programmed”.
- Arthur Samuel (1959)
Why Machine Learning?
• Human Learning is terribly slow! (?)
o 6 years to start school, around 20 more years to
become cognitive /computer scientist...
o Linear programming, calculus, Gaussian models,
optimization techniques and so on…
Why Machine Learning?
• No copy process in human beings - ‘one-trial
learning’ in computers.
• Computers can be programmed to learn –
Both human and computer programs make
errors, error is predictable for computer, we
can measure error.
Some more reasons…
• Growing flood of electronic data – Machines
can digest huge amounts of data which is not
possible for human.
• Supporting computational power is also
growing!
• Data mining – to help improve decisions
o Medical records study for diagnosis
o Speech/handwriting/face recognition
o Autonomous driving, robots
Important Distinction
• Machine learning focuses on prediction,
based on known properties learned from the
training data.
• Data mining focuses on the discovery of
(previously) unknown properties on the data.
• Example: Purchase history/behavior of a
customer.
Hidden
Markov Model
Hidden Markov Model - HMM
• A Markov model with hidden states.
• Markov Model – Stochastic Model that
assumes Markov property.
• Stochastic model – A system with stochastic
process (random process).
HMM – Stochastic model
• Stochastic process vs. Deterministic process.
– SP is probabilistic counterpart of DP.
• Examples:
– Games involving dice and cards, coin toss.
– Speech, audio, video signals
– Brownian motion
– Medical data of patients
– Typing behavior (Related to my project)
HMM – Markov Model
• Markov Model – Stochastic Model that
assumes Markov property.
• Markov property  Memory-less property
– Future states of the process depend only
upon the present state,
– And not on the sequence of events that
preceded it.
Funny example of Markov chain
• 0 – Home; 4 – Destination
• 1,2,3 corners;
Hidden Markov Model - HMM
• A Markov model with hidden states – Partially
observable system.
Simple Markov Model
Every state is directly visible
to the observer.
Hidden Markov Model
The state is not directly
visible, but the output,
dependent upon the state is
visible.
The only parameters are
Each state has a probability
state transition probabilities. distribution over possible o/p
tokens.
HMM
• Markov process is hidden, we can see
sequence of output symbols (observations).
HMM - Conditional Dependence
HMM: Simple Example
• Determine the average annual temperature at
a particular location over a series of years
(Past when thermometers were not invented).
• 2 annual temperatures, Hot – H and Cold - C.
• A correlation between the size of tree growth
rings and temperature.
• We can observe Tree ring size.
• Temperature is unobserved – hidden.
HMM – Formation of problem
• 2 hidden states – H and C
• 3 observed states – tree ring sizes.
Small – S, Medium – M, Large – L.
• The transition probabilities, observation
matrix and initial state distribution.
•
All matrices are row stochastic.
HMM – Formation of problem
• Consider a 4 year sequence.
• We observe the series of tree rings S;M; S; L.
O = (0, 1, 0, 2)
• We need to determine temperature (H or C)
for these 4 years i. e. Most likely state
sequence of Markov process given
observations.
HMM – Formation of problem
•
•
•
•
X = (x0, x1, x2, x3)
O = (O0, O1, O2, O3)
A = State transition probability (aij)
B = Observation probability matrix (bij)
HMM – Formation of problem
• aij = P(state qj at t + 1 | state qi at t)
• Bj(k) = P(observation k at t | state qj at t)
• P(X) = πx0 * bx0(O0) * ax0,x1 * bx1(O1) * ax1,x2 * bx2(O2)
* ax2,x3bx3(O3)
• P(HHCC) = 0.6(0.1)(0.7)(0.4)(0.3)(0.7)(0.6)(0.1) =
0.000212
Applying HMM to Error Generation
• Erroneous data in real-world data sets
• Typing errors are very common.
– Insertion
– Deletion
– Replace
• Is there any way to determine most probable
sequence or patterns of errors made by
typist?
Applying HMM to Error Generation
• Examples:
1. BRIDGETT and BRIDGETTE
2. WILLIAMS and WILIAMS
3. LATONYA and LATOYA
4. FREEMAN and FREEMON
Applying HMM to Error Generation
• Sequence of characters/Alignment Problem
W I
W
I
L
L
L
I
M
L
L
I
A
M
S
HMM & Error Generation
• Hidden states: Pointer positions
• Observations: Output character sequence
• Problems:
o Finding Path - Given an input, output character
sequence and HMM model, determine most probable
operation sequence?
o Training - Given n pairs of input and output
sequences, what is the model that maximizes
probability of output?
o Likelihood - Given input, output and the model,
determine likelihood of observed sequence.
References
• Why should machines learn? – Herbert A. Simon, Department of
Computer Science and Psychology, Carnegie-Mellon University, C.I.P. # 425
• http://en.wikipedia.org/wiki/Machine_learning
• http://en.wikipedia.org/wiki/Hidden_Markov_model
• A Revealing Introduction to Hidden Markov Models – Mark Stamp,
Department of Computer Science, San Jose State University
THANK YOU!
Download