the present invention provides a way of combining the expertise of cardiologists in diagnosing heart disease and syndromes with that of automatic machine learning systems that “ learn ” based on massive amounts of raw data . data - driven pattern classification techniques in which there is a concept of a distance include support vector classifiers , boosting classifiers and neural networks . at the core of these classification techniques is a distance function called a “ kernel ” which compares data points , represented as feature vectors , and produces a real number . in the present invention , the data points are segments of an ecg signal which are processed to produce a feature vector . a novel kernel and a collection of labeled training data ( both based on cardiologists expertise ) are used to learn a set of parameters that characterize the set of classes to be distinguished . this set of parameters , along with the kernel , is then used to classify new data points ( ecg signals of unknown conditions ). a set of example ecg heartbeat patterns or shapes corresponding to the syndromes to be classified are extracted from the cardiology literature or developed in consultation with cardiologists . each pattern is normalized in time and amplitude and synchronized with a prototypical heartbeat . the resulting patterns 13 a . . . n are considered to be predefined example signals and are stored in a library 11 ( implemented through a database , table or other data store ) as illustrated in fig1 . next the patterns 13 of library 11 are used to construct a kernel function 15 that compares two data points and produces a distance . there are many ways this could be done as further detailed below . the computed distance output by kernel function 15 is input to a pattern recognition engine 21 of a classifier 25 . the pattern recognition engine 21 and / or classifier 25 may be a neural network support vector machine or boosting classifier or other type common in the art . classifier 25 utilizes the pattern determinations made by pattern recognition engine 21 and determines class of ( or otherwise classifies ) the subject ecg signal . in order to train the pattern recognition engine 21 and classifier 25 , a labeled or annotated training corpora 23 is employed . training corpora 23 is a collection of known and previously analyzed ecg signals annotated with corresponding syndrome classes . a windowing member 17 segments each training ecg signal 23 into data chunks 27 typically at changes in signal pattern as illustrated by dotted vertical lies in fig1 . the resulting ecg signal 23 segments or data chunks 27 are input into a feature extraction module 19 . for each segment 27 , feature extraction module 19 ( i ) extracts the signal pattern of interest from the segment / data chunk 27 , and ( ii ) produces ecg segment data points 29 representative of the extracted feature ( interesting signal pattern ). the feature extraction module 19 outputs these data points 29 for input to kernel function 15 . in one embodiment , in kernel function 15 an internal distance function computes a respective distance between given data points ( of an ecg segment ) 29 and each of the patterns , 13 a . . . n in library 11 . to that end , the kernel function 15 computes : ( a ) for each pattern 13 ( in library 11 ) a vector of distances from data points 29 in the given ecg segment 27 to data points in the pattern 13 and then computes ( b ) for each ecg segment 27 , the distance between the vectors of ( a ) using a classical metric ( euclidian distance , mahalanobis distance , etc .) as its final output . in another embodiment , kernel function 15 computes a vector of distances for each ecg segment 27 as follows . for a given ecg segment 27 , the respective vector has as many components as there are patterns 13 in library 11 . that is , each component corresponds to a different pattern 13 . further each component has a similarity value defined as the probability or likelihood of sameness between the data points 29 ( of ecg given segment 27 ) and the data points of the component &# 39 ; s associated library pattern 13 . from the resulting multi - component vector , kernel function 15 computes and outputs a score for the corresponding ecg segment 27 according to techniques disclosed in u . s . patent application ser . no . 09 / 724 , 269 , filed 28 nov . 2000 herein incorporated by reference . the score represents a measured likeliness ( or distance of sorts ) between the given ecg segment 27 and the library patterns 13 . the end result of the learning and training of fig1 is a set of parameters 31 ( fig2 ) that further characterize specific conditions for the syndromes being classified . the set of parameters 31 is employed during run time of the present invention as discussed with reference to fig2 . during analysis or testing of ecg signals 33 of a patient ( subject ) with unknown cardiac conditions , the windowing member 17 and feature extraction module 19 operate as described previously but on test corpora 33 . the subject ecg signals 33 ( being analyzed ) are thus segmented and ultimately represented at the output of feature extraction module 19 as ecg data chunks 27 to being analyzed for indications of possible cardiac syndromes . the kernel function 15 , as constructed according to one of the embodiments or the like described above , receives the subject ecg segments 27 and the library 11 of patterns 13 as input . the kernel function 15 computes distance measures or other quantitative indications of similarity between the subject ecg segments 27 and the library patterns 13 . preferably kernel function 15 produces such a quantitative measure for each subject ecg segment 27 in sequence of the test signal 33 . ultimately from the computed distance measures , kernel function 15 produces a sequence of distance vectors for input to classifier 25 . the classifier 25 , as trained above in fig1 , and supported by learned parameters 31 , is responsive to the sequence of distance vectors from kernel function 15 and classifies ( or categorizes according to classes ) the subject ecg segments 27 of test signal 33 . to that end , classifier 25 outputs an annotated version 35 of test signal 33 labeled with specific cardiac syndromes , confidence scores , etc . in summary , the present invention uses cardiologist - designed kernels 15 based on well known and characterized patterns 13 of cardiac disease as an internal component of a classification algorithm that learns additional parameters 31 from annotated training data 23 . the present invention thus incorporates cardiologist expertise in two ways . first in a completely novel way via cardiologist - designed kernels 15 , and then in a more traditional way via their annotations on ecg training data 23 . illustrated in fig3 is a computer system ( environment ) 100 in which the present invention may be implemented . that is , training routine / program 40 of fig1 may be executed in such a computer system 100 . testing / analysis routine or program 50 may be executed by the same or a different computer system 100 . each computer system 100 has a working memory 90 for running ( executing ) routine / programs 40 , 50 and is coupled to supporting data stores 94 holding library 11 , classifier parameters 31 and the like . in particular , each computer 100 contains system bus 79 , where a bus is a set of hardware lines used for data transfer among the components of a computer . bus 79 is essentially a shared conduit that connects different elements of a computer system ( e . g ., processor , disk storage , memory , input / output ports , network ports , etc .) that enables the transfer of information between the elements . attached to system bus 79 is i / o device interface 82 for connecting various input and output devices ( e . g ., displays , printers , speakers , etc .) to the computer . network interface 86 allows the computer to connect to various other devices attached to a network . memory 90 provides volatile storage for computer software instructions ( e . g ., program routines 92 and data 94 ) used to implement an embodiment of the present invention . program routines 92 include invention procedures 40 , 50 of fig1 and 2 . disk storage 95 provides non - volatile storage for computer software instructions and data used to implement an embodiment of the present invention . central processor unit 84 is also attached to system bus 79 and provides for the execution of computer instructions . network interface 86 enables procedures 40 , 50 to be downloaded or uploaded across a network ( e . g ., local area network , wide area network or global network ). i / o device interface 82 enables procedures 40 , 50 to be ported between computers 100 on diskette ( cd - rom , etc .). other transmission of procedures 40 , 50 in whole or in part between computers 100 is in the purview of one skilled in the art . accordingly , procedures 40 , 50 may be run on a standalone computer 100 , distributed across computer systems 100 , or executed in a client - server fashion or other arrangement . while this invention has been particularly shown and described with references to preferred embodiments thereof , it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the scope of the invention encompassed by the appended claims .
computer method and apparatus of analyzing ecg signals of a subject include receiving a subject electrocardiogram signal and comparing it against signal patterns of known cardiac syndromes . a library of example predefined signals is employed . distance measures indicating similarity of the subject signal to the example predefined signals are produced and form a sequence of vectors . the sequence of vectors are input into a classifier which determines existence of signal patterns indicative of any cardiac syndromes in the subject .