microsoft powerpoint - ourfinal-1.ppt [compatibility mode]
TRANSCRIPT
Group EEGGroup EEG(El t h l )(El t h l )(Electroencephalogram)(Electroencephalogram)
Anthony Hampton, Tony Anthony Hampton, Tony NuthNuth, , MiralMiral PatelPatel(Portions credited to Jack Shelley(Portions credited to Jack Shelley--Tremblay and E. Keogh) Tremblay and E. Keogh)
05/09/200805/09/2008
5/9/20085/9/2008 11
OutlineOutlineOutlineOutline
IntroductionIntroductionIntroductionIntroductionGoalGoalM th d lM th d lMethodologyMethodologyResultsResultsDiscussionDiscussionConclusionConclusionConclusion Conclusion
5/9/20085/9/2008 22
GoalsGoalsGoalsGoals
The goal of this project is to evaluate EEGThe goal of this project is to evaluate EEGThe goal of this project is to evaluate EEG The goal of this project is to evaluate EEG data from 19 subjects using various data from 19 subjects using various techniques of mathematicstechniques of mathematicstechniques of mathematics. techniques of mathematics.
5/9/20085/9/2008 33
EEGEEGEEGEEG
A recording of the electrical waves that sweepsA recording of the electrical waves that sweepsA recording of the electrical waves that sweeps A recording of the electrical waves that sweeps over the brain’s surface.over the brain’s surface.
It is measured by the electrodes that It is measured by the electrodes that is placed on topis placed on topis placed on top is placed on top of the scalp.of the scalp.
5/9/20085/9/2008 44
Parts of the brainParts of the brainParts of the brainParts of the brain
We are interested in the Primary Motor Cortex,We are interested in the Primary Motor Cortex,We are interested in the Primary Motor Cortex, We are interested in the Primary Motor Cortex, and Preand Pre--motor Cortexmotor Cortex
5/9/20085/9/2008 55
Understand the WavesUnderstand the WavesUnderstand the WavesUnderstand the Waves
InIn neurophysiologyneurophysiology, an, an action potentialaction potential (also(alsoIn In neurophysiologyneurophysiology, an , an action potentialaction potential (also (also known as a known as a nerve impulsenerve impulse or or spikespike) is a pulse) is a pulse--like wave of like wave of voltagevoltage that travels along several that travels along several types of types of cell membranescell membranes..
5/9/20085/9/2008 66
PlacementPlacementPlacement Placement
InternationalInternationalInternationalInternational1010--20 system,20 system,PlPlPlace an Place an Electrode on Electrode on Each point. Each point.
5/9/20085/9/2008 77
Event related PotentialsEvent related PotentialsEvent related Potentials Event related Potentials An An eventevent--related potentialrelated potential (ERP) is any stereotyped (ERP) is any stereotyped pp ( ) y yp( ) y ypelectrophysiologicalelectrophysiological response to an internal or response to an internal or external stimulus. More simply, it is any measured external stimulus. More simply, it is any measured brainbrain response that is directly the result of aresponse that is directly the result of a thoughtthoughtbrainbrain response that is directly the result of a response that is directly the result of a thoughtthoughtor or perceptionperception..
By collecting multiple trials of the same type of stimuli, By collecting multiple trials of the same type of stimuli, we can enhance the signal and reduce the noise we can enhance the signal and reduce the noise using simple math(typically neuroscientist use this)using simple math(typically neuroscientist use this)using simple math(typically neuroscientist use this).using simple math(typically neuroscientist use this).
5/9/20085/9/2008 88
Defined an EpochDefined an EpochDefined an EpochDefined an Epoch
A series of time points locked in aA series of time points locked in aA series of time points locked in a A series of time points locked in a significant point time. The button press is significant point time. The button press is our significant point in timeour significant point in timeour significant point in time. our significant point in time.
5/9/20085/9/2008 99
A subject’s dataA subject’s dataA subject s dataA subject s data
Example of anExample of anE hE hEpoch Epoch
5/9/20085/9/2008 1010
Same dataSame dataSame dataSame data
Same dataSame dataSame dataSame dataAt a differentAt a differentE hE hEpoch Epoch
5/9/20085/9/2008 1111
Time SeriesTime SeriesTime SeriesTime Series
AA time seriestime series is a sequence ofis a sequence of datadataA A time seriestime series is a sequence of is a sequence of data data pointspoints, measured typically at successive , measured typically at successive times spaced at (often uniform) timetimes spaced at (often uniform) timetimes, spaced at (often uniform) time times, spaced at (often uniform) time intervals.intervals.
5/9/20085/9/2008 1212
Time Series Time Series What is a time series?What is a time series?What is a time series?What is a time series?
5/9/20085/9/2008 1313
What EM clustering doesWhat EM clustering doesWhat EM clustering doesWhat EM clustering does
How do we classify points and estimateHow do we classify points and estimateHow do we classify points and estimate How do we classify points and estimate parameters of the models in a mixture at parameters of the models in a mixture at the same time?the same time?the same time?the same time?
Ad ti ft l t i EMAd ti ft l t i EM D tD tAdaptive soft clustering: EMAdaptive soft clustering: EM. Data . Data points are assigned to each group with a points are assigned to each group with a
b bilit l tb bilit l t lik lih d f th tlik lih d f th tprobability equal to aprobability equal to a likelihood of that likelihood of that point belonging to that group.point belonging to that group.
5/9/20085/9/2008 1414
What is EM What is EM -- Expectation Expectation MaximizationMaximization
A statistical model that makes use of theA statistical model that makes use of theA statistical model that makes use of the A statistical model that makes use of the finite Gaussian mixture models.finite Gaussian mixture models.A set of parameters are recomputed until aA set of parameters are recomputed until aA set of parameters are recomputed until a A set of parameters are recomputed until a desired value is reacheddesired value is reachedI iti l i bl d l i iti li dI iti l i bl d l i iti li dInitial variables are randomly initializedInitial variables are randomly initialized
5/9/20085/9/2008 1515
The methods of EMThe methods of EMThe methods of EMThe methods of EM
Initialization: Pick start values forInitialization: Pick start values forInitialization: Pick start values for Initialization: Pick start values for parameters (for us it was making random parameters (for us it was making random models and setting a sigma)models and setting a sigma)g g )g g )Iteratively process until parameters Iteratively process until parameters convergeconvergegg
Expectation (E) step: Calculate weights for Expectation (E) step: Calculate weights for every data point and update the weights to every data point and update the weights to
ff t f th tff t f th taffect further stepsaffect further stepsMaximization (M) step: Maximize a log Maximization (M) step: Maximize a log likelihood function with the weights given by Elikelihood function with the weights given by Elikelihood function with the weights given by E likelihood function with the weights given by E step to update the parametersstep to update the parameters5/9/20085/9/2008 1616
EvaluateEvaluateEvaluateEvaluateInitialized 2 models of data using the mean of the EEG Initialized 2 models of data using the mean of the EEG ggentered using the first half of data over time for the first entered using the first half of data over time for the first model and the second half of over time for the second model and the second half of over time for the second modelmodelmodelmodel
Compared each model and created a weight matrixCompared each model and created a weight matrixCo pa ed eac ode a d c eated a e g t atCo pa ed eac ode a d c eated a e g t at
Normalized the dataNormalized the data
5/9/20085/9/2008 1717
OSB algorithmOSB algorithmOSB algorithmOSB algorithmOSB : Optimal Subsequence OSB : Optimal Subsequence BijectionBijection
It is an algorithm that determines the optimal It is an algorithm that determines the optimal subsequence subsequence bijectionbijection between two sequences of between two sequences of real numbers.real numbers.real numbers.real numbers.
We were given a code ‘tsDAGjump4’ that worked for We were given a code ‘tsDAGjump4’ that worked for only one channels and we modified so it can work for only one channels and we modified so it can work for more than 1 channels.( works for 40 channels)more than 1 channels.( works for 40 channels)
Modification: Created difference matrix with eachModification: Created difference matrix with eachModification: Created difference matrix with each Modification: Created difference matrix with each entry containing differences of corresponding entry containing differences of corresponding elements.elements.
5/9/20085/9/2008 1818
Why OSB algorithm?Why OSB algorithm?Why OSB algorithm?Why OSB algorithm?The OSB is efficient because we use DAG(Directed Acyclic The OSB is efficient because we use DAG(Directed Acyclic Graph), cheapest path to find the solution. Graph), cheapest path to find the solution.
By using DAG in OSB, we get perfect and correct results on By using DAG in OSB, we get perfect and correct results on y g , g py g , g pTime Series dataset. Time Series dataset.
DAG helps us to get rid of outlier elements and get oneDAG helps us to get rid of outlier elements and get one--toto--one orone orDAG helps us to get rid of outlier elements and get oneDAG helps us to get rid of outlier elements and get one toto one or one or onto onto bijectionbijection of a sequences.of a sequences.
Comparing OSB with DTW using warping window OSB showsComparing OSB with DTW using warping window OSB showsComparing OSB with DTW using warping window, OSB shows Comparing OSB with DTW using warping window, OSB shows that by skipping elements improves results.that by skipping elements improves results.
5/9/20085/9/2008 1919
Directed Acyclic GraphDirected Acyclic GraphDirected Acyclic GraphDirected Acyclic Graph
This is a simpleThis is a simpleThis is a simple This is a simple example of DAG.example of DAG.
By skipping over By skipping over outlier elements we outlier elements we get perfect result.get perfect result.
5/9/20085/9/2008 2020
OSB algorithmOSB algorithmOSB algorithmOSB algorithm
This program is used to find:This program is used to find:This program is used to find:This program is used to find:
Ts Ts -- Time SeriesTime SeriesDAG DAG –– Directed Acyclic GraphDirected Acyclic GraphOSB between two sequences of real numbersOSB between two sequences of real numbersD is to find distance between two elements.D is to find distance between two elements.C is for the jump cost.(penalty for skipping an C is for the jump cost.(penalty for skipping an element)element)element)element)WW-- weight of edgesweight of edges
5/9/20085/9/2008 2121
OSB algorithmOSB algorithmgg
Fi d b f t l tFi d b f t l tFind subsequences of two elements.Find subsequences of two elements.Create dissimilarity matrix.Create dissimilarity matrix.Use shortest path algorithm on Directed Acyclic Use shortest path algorithm on Directed Acyclic Graph.Graph.
Fi d j tFi d j tFind jump cost.Find jump cost.Nodes are index pairs of matrix.Nodes are index pairs of matrix.
The main thing in the algorithm is to find edgeThe main thing in the algorithm is to find edgeThe main thing in the algorithm is to find edge The main thing in the algorithm is to find edge weights of DAG.weights of DAG.
5/9/20085/9/2008 2222
WaveletWaveletWaveletWavelet
“Wavelets are mathematical functions that cut up“Wavelets are mathematical functions that cut upWavelets are mathematical functions that cut up Wavelets are mathematical functions that cut up data into different frequency components, and data into different frequency components, and then study each component with a resolution then study each component with a resolution matched to its scale.” matched to its scale.”
((IEEE Computational Science and IEEE Computational Science and Engineering, Summer 1995, vol. 2, num. 2, Engineering, Summer 1995, vol. 2, num. 2,
bli h d b h IEEE C S i )bli h d b h IEEE C S i )published by the IEEE Computer Society)published by the IEEE Computer Society)
5/9/20085/9/2008 2323
Discussion of ResultsDiscussion of ResultsDiscussion of ResultsDiscussion of ResultsWe used OSB to obtain our results.We used OSB to obtain our results.
Our results consist of two sequences a and b then find Our results consist of two sequences a and b then find subsequences a’ of a and b’ of b so that a’ matches bestsubsequences a’ of a and b’ of b so that a’ matches bestsubsequences a of a and b of b so that a matches best subsequences a of a and b of b so that a matches best with b’. with b’.
Results are divided on two parts:Results are divided on two parts:Cluster Precision Cluster Precision -- means x% of time that you will cluster an epoch means x% of time that you will cluster an epoch correctly.correctly.yyCluster Recall Cluster Recall -- means y% of time that you will cluster a known left or means y% of time that you will cluster a known left or right buttonright button
5/9/20085/9/2008 2424
Discussion of ResultsDiscussion of ResultsDiscussion of ResultsDiscussion of ResultsExample: Example:
typeout1: [75typeout1: [75 7676 27 21 22] = a27 21 22] = atypeout1: [75 typeout1: [75 76 76 27 21 22] = a27 21 22] = artypeout1: [77 rtypeout1: [77 7272 24 22 24] = b24 22 24] = bltypeout2: [25 24 73 79 78] = a’ltypeout2: [25 24 73 79 78] = a’t t2 [23t t2 [23 2828 76 78 76] b’76 78 76] b’rtypeout2: [23rtypeout2: [23 28 28 76 78 76] = b’76 78 76] = b’
For Cluster Precision: For Cluster Precision: left button cluster: 76, right button cluster: 72 (from left button cluster: 76, right button cluster: 72 (from aa and and bb))Formula : 76/ (76+72) 0 51351351 51%Formula : 76/ (76+72) 0 51351351 51%Formula : 76/ (76+72) = 0.51351351 = 51%Formula : 76/ (76+72) = 0.51351351 = 51%
For Cluster Recall: For Cluster Recall: left button cluster: 76, right button cluster: 28 (from left button cluster: 76, right button cluster: 28 (from aa and and b’b’))Now we applied the formula so: 76/ (76+28) = 0 73076923 = 73%Now we applied the formula so: 76/ (76+28) = 0 73076923 = 73%Now, we applied the formula so: 76/ (76+28) = 0.73076923 = 73%Now, we applied the formula so: 76/ (76+28) = 0.73076923 = 73%
Note: Apply same formula to find both right cluster Note: Apply same formula to find both right cluster precision and recall.precision and recall.
5/9/20085/9/2008 2525
ConclusionConclusionConclusionConclusion
We’re given total 19 subjects (EEG Datasets) but weWe’re given total 19 subjects (EEG Datasets) but weWe re given total 19 subjects (EEG Datasets) but we We re given total 19 subjects (EEG Datasets) but we derived correct result for only 10 subjects.derived correct result for only 10 subjects.
Other 9 subjects gave us all zeros as a result.Other 9 subjects gave us all zeros as a result.
ltypeout1: [0 0 0 0 0] ltypeout1: [0 0 0 0 0] rtypeout1: [0 0 0 0 0] rtypeout1: [0 0 0 0 0] ltypeout2: [0 0 0 0 0] ltypeout2: [0 0 0 0 0] rtypeout2: [0 0 0 0 0] rtypeout2: [0 0 0 0 0] …..error………..error……
5/9/20085/9/2008 2626
Extra ReferencesExtra ReferencesExtra References Extra References
Yang RanYang Ran Expectation Maximization : AnExpectation Maximization : AnYang RanYang Ran, , Expectation Maximization : An Expectation Maximization : An Approach to Parameter Estimation”, Approach to Parameter Estimation”, www umiacs umd edu/~shaohua/enee698www umiacs umd edu/~shaohua/enee698www.umiacs.umd.edu/ shaohua/enee698www.umiacs.umd.edu/ shaohua/enee698a_f03/em.ppt a_f03/em.ppt Andrew Blake Bill Freeman “LearningAndrew Blake Bill Freeman “LearningAndrew Blake, Bill Freeman, Learning Andrew Blake, Bill Freeman, Learning and Vision: Generative Methods”and Vision: Generative Methods”--pptppt ICCV ICCV 20032003 October 12 2003October 12 200320032003 October 12, 2003 October 12, 2003
5/9/20085/9/2008 2727
Thank YouThank You
5/9/20085/9/2008 2828