170 likes | 174 Views
Learn about Hidden Markov Models, a statistical model used in bioinformatics, speech recognition, and more. Explore the architecture, applications, and algorithms of HMM in this comprehensive guide.
E N D
數據分析 David Shiuan Department of Life Science Institute of Biotechnology Interdisciplinary Program of Bioinformatics National Dong Hwa University
Microsoft ExcelPlot with Standard Deviation • Data input • Select data S/average • Insert Function Statistics STDEV • Select average plotting • Select data/plot /2 knocksY-axis deviation select Upper/Lower self-determination choose standard deviation data into + / - columns enter
Microsoft Excel Plot with Regression • Data input • Plotting • Regression - function
Hidden Markov Model • A hidden Markov model (HMM) is a statistical model where the system being modeled is assumed to be a Markov process with unknown parameters, and the challenge is to determine the hidden parameters from the observable parameters. • The extracted model parameters can then be used to perform further analysis, for example for pattern recognition applications.
Hidden Markov Model • In a regular Markov model, the state is directly visible to the observer, the state transition probabilities are the only parameters. • In a hidden Markov model, the state is not directly visible, but variables influenced by the state are visible. Each state has a probability distribution over the possible output tokens. Therefore the sequence of tokens generated by an HMM gives some information about the sequence of states. • Hidden Markov models are especially known for their application in temporalpattern recognition such as speech, handwriting, gesture recognition and bioinformatics.
History of Hidden Markov Model • Hidden Markov Models were first described in a series of statistical papers by Leonard E. Baum and other authors in the 1960s. One of the first applications of HMMs was speech recognition. • In the second half of the 1980s, HMMs began to be applied to the analysis of biological sequences, in particular DNA. Since then, they have become ubiquitous in the field of bioinformatics.
Applications of hidden Markov models • speech recognition , gesture and body motion recognition , optical character recognition • machine translation • bioinformatics and genomics • prediction of protein-coding regions in genome sequences • modelling families of related DNA or protein sequences • prediction of secondary structure elements from protein primary sequences
Architecture of a Hidden Markov Model • The random variable x(t) is the value of the hidden variable at time t. The random variable y(t) is the value of the observed variable at time t. The arrows in the diagram denote conditional dependencies. • From the diagram, it is clear that the value of the hidden variable x(t) (at time t) only depends on the value of the hidden variable x(t − 1) (at time t − 1). This is called the Markov property. Similarly, the value of the observed variable y(t) only depends on the value of the hidden variable x(t) (both at time t).
Probability of an observed sequence • The probability of observing a sequence Y = y(0), y(1),...,y(L − 1) of length L is given by: • where the sum runs over all possible hidden node sequences X = x(0), x(1),..., x(L − 1). A brute force calculation of P(Y) is intractable for realistic problems, as the number of possible hidden node sequences typically is extremely high. The calculation can however be sped up enormously using an algorithm called the forward-backward procedure.
Using Hidden Markov Models Theree canonical正統problems associated with HMMs: • Given the parameters of the model, compute the probability of a particular output sequence. This problem is solved by the forward-backward procedure. • Given the parameters of the model, find the most likely sequence of hidden states that could have generated a given output sequence. This problem is solved by the Viterbi algorithm • . • Given an output sequence or a set of such sequences, find the most likely set of state transition and output probabilities. In other words, train the parameters of the HMM given a dataset of sequences. This problem is solved by the Baum-Welch algorithm
A concrete example • Your friend lives far away and you talk daily over the telephone about what he did that day. He is only interested in three activities: walking in the park, shopping, and cleaning his apartment. The choice of what to do is determined exclusively by the weather on a given day. You have no definite information about the weather where your friend lives, but you know general trends. Based on what he tells you he did each day, you try to guess what the weather must have been like. • You believe that the weather operates as a discrete Markov chain. There are two states, "Rainy" and "Sunny", but you cannot observe them directly, that is, they are hidden from you. On each day, there is a certain chance that your friend will perform one of the following activities, depending on the weather: "walk", "shop", or "clean". Since your friend tells you about his activities, those are the observations. The entire system is that of a hidden Markov model (HMM). • You know the general weather trends in the area, and what your friend likes to do on average. In other words, the parameters of the HMM are known.
You can write them down in the Python programming language: • states = ('Rainy', 'Sunny') • observations = ('walk', 'shop', 'clean') • start_probability = {'Rainy': 0.6, 'Sunny': 0.4} • transition_probability = { 'Rainy' : {'Rainy': 0.7, 'Sunny': 0.3}, 'Sunny' : {'Rainy': 0.4, 'Sunny': 0.6}, } • emission_probability = { 'Rainy' : {'walk': 0.1, 'shop': 0.4, 'clean': 0.5}, 'Sunny' : {'walk': 0.6, 'shop': 0.3, 'clean': 0.1},
In this piece of code, start_probability represents your uncertainty about which state the HMM is in when your friend first calls you (all you know is that it tends to be rainy on average). The particular probability distribution used here is not the equilibrium one, which is (given the transition probabilities) actually approximately {'Rainy': 0.571, 'Sunny': 0.429}. The transition_probability represents the change of the weather in the underlying Markov chain. In this example, there is only a 30% chance that tomorrow will be sunny if today is rainy. The emission_probability represents how likely your friend is to perform a certain activity on each day. If it is rainy, there is a 50% chance that he is cleaning his apartment; if it is sunny, there is a 60% chance that he is outside for a walk.
Signal P : Hidden Markov Model • Three Regions : 1. the N-terminal part 2. the hydrophobic region 3. the region around the cleavage site • For known signal peptides, the model can be used to assign objective boundaries between these three regions.