Method, program, and apparatus for predicting health status using electrocardiogram segments
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- MEDICAL AI CO LTD
- Filing Date
- 2023-07-19
- Publication Date
- 2026-08-03
AI Technical Summary
【0017】 本開示の方法によると、一つの心電図信号を複数個に分割し、分析に適切な信号をフィルタリングすることによって、分析の正確度を高めることができる。
Smart Images

Figure 0007899443000001 
Figure 0007899443000002 
Figure 0007899443000003
Abstract
Description
Technical Field
[0001] The content of the present disclosure relates to data processing technology in the medical field. Specifically, it relates to a method for filtering electrocardiogram data for stable and accurate analysis of electrocardiograms using artificial intelligence and predicting a health state based on the filtered data.
Background Art
[0002] An electrocardiogram examination is an examination that records the electrical activity of the heart. The electrocardiogram examination is a relatively simple and cost-effective examination method, which can confirm the health state of the heart and plays an important role in the early diagnosis and management of heart diseases. For example, the electrocardiogram signal measured through an electrocardiogram examination can be used to confirm whether each part of the heart is operating normally, whether the size and position of the heart are normal, and whether there is damage to the myocardium. And the electrocardiogram signal can be used to diagnose various heart-related problems and predict a person's health state based on such confirmation.
[0003] On the other hand, as artificial intelligence technology develops, attempts to analyze electrocardiograms using artificial intelligence technology have been increasing. A service that inputs an electrocardiogram into a neural network-based model to predict various heart diseases is one of the typical examples. Most of such conventional technologies and services are in a form that processes the whole or a part of an electrocardiogram through an artificial intelligence model at one time. However, in such a conventional form, when there is a problem with the electrocardiogram signal itself, the probability of not being able to output an accurate result value is high. For example, when the electrocardiogram signal itself contains a lot of noise or when a missing measurement interval occurs during the measurement process of the electrocardiogram signal, conventional technologies and services cannot provide an accurate analysis value through the artificial intelligence model and have to require the electrocardiogram signal measurement itself to be performed again.
Summary of the Invention
Problems to be Solved by the Invention
[0004] This disclosure aims to provide a method that can improve the accuracy and convenience of analysis by dividing a single electrocardiogram signal into multiple signals and filtering the signals appropriate for analysis.
[0005] However, the issues that this disclosure seeks to address are not limited to those mentioned above, and other issues not mentioned can be clearly understood based on the following description. [Means for solving the problem]
[0006] A method for predicting health status using electrocardiogram segments, performed by a computing device according to one embodiment of the present disclosure to address the aforementioned challenges, is disclosed. The method may include the steps of: dividing electrocardiogram data to generate multiple segments; inputting the multiple segments into a pre-trained machine learning model to calculate the probability of disease corresponding to each of the multiple segments; removing outliers from the probability of disease corresponding to each of the multiple segments; and combining the probability of disease from which the outliers have been removed to generate a result value for predicting health status.
[0007] Alternatively, the step of dividing the electrocardiogram data to generate multiple segments may include the step of dividing the electrocardiogram data into segments of a predetermined length without overlapping signal regions to generate the multiple segments.
[0008] Alternatively, the step of dividing the electrocardiogram data to generate multiple segments may include the step of dividing the electrocardiogram data to generate multiple segments while moving a fixed-size window by a predetermined area of the electrocardiogram data.
[0009] Alternatively, the method may further include the step of inputting the multiple segments into a pre-trained machine learning model and calculating the uncertainty of the output corresponding to each of the multiple segments.
[0010] Alternatively, the machine learning model may include a neural network having a probability distribution for neural network weights in order to quantify the uncertainty of the output.
[0011] As an alternative, the step of removing outliers from the disease probabilities corresponding to each of the multiple segments based on the uncertainty of the output may include a step of removing disease probabilities corresponding to the output uncertainty that is equal to or greater than a pre-set first threshold value, by considering them as outliers, if the uncertainty of the output is equal to or greater than the first threshold value.
[0012] Alternatively, the step of generating a result value for the health status prediction by combining the disease probabilities from which the abnormal values have been removed may include a step of comparing the average value of the disease probabilities from which the abnormal values have been removed with a pre-set second reference value to generate a result value for the health status prediction.
[0013] Alternatively, the step of generating a result value for the health status prediction by combining the disease probabilities from which the abnormal values have been removed may include the step of generating a result value for the health status prediction by comparing each of the disease probabilities from which the abnormal values have been removed with a pre-set third reference value.
[0014] Alternatively, the step of generating a result value for the health status prediction by comparing each of the disease possibilities from which the abnormal values have been removed with a pre-set third reference value may include the steps of: converting the disease possibilities from which the abnormal values have been removed into binary values based on whether the probability of the disease is greater than or equal to the pre-set third reference value; and generating a result value for the health status prediction based on the value that accounts for the highest proportion among the converted binary values.
[0015] An embodiment of the present disclosure for achieving the aforementioned problems is disclosed, which includes a computer program stored on a computer-readable storage medium. When the computer program is executed on one or more processors, it performs operations to predict a health condition using electrocardiogram segments. These operations may include inputting the multiple segments into a pre-trained machine learning model to calculate the probability of disease corresponding to each of the multiple segments; removing outliers from the probability of disease corresponding to each of the multiple segments; and combining the probability of disease from which the outliers have been removed to generate a result value for predicting a health condition.
[0016] One embodiment of the present disclosure, which aims to address the aforementioned challenges, discloses a computing device for predicting health status using electrocardiogram segments. The device may include a processor having at least one core; memory containing program code executable by the processor; and a network unit for acquiring electrocardiogram data. The processor can divide the electrocardiogram data to generate multiple segments, input the multiple segments into a pre-trained machine learning model to calculate the probability of disease corresponding to each of the multiple segments, remove outliers from the probability of disease corresponding to each of the multiple segments, and combine the probability of disease from which the outliers have been removed to generate a result value for predicting health status. [Effects of the Invention]
[0017] According to the method disclosed herein, the accuracy of the analysis can be improved by dividing a single electrocardiogram signal into multiple signals and filtering out the signals appropriate for analysis.
[0018] Furthermore, by dividing a single electrocardiogram into multiple segments and filtering the signals appropriate for analysis, the inconvenience of having to remeasure the necessary signals for analysis can be minimized, thereby improving the convenience of analysis. [Brief explanation of the drawing]
[0019] [Figure 1] This is a block diagram of a computing device according to one embodiment of the present disclosure. [Figure 2] This is a block diagram illustrating the health status prediction process according to one embodiment of the present disclosure. [Figure 3] This is a conceptual diagram showing the neural network structure included in a machine learning model according to one embodiment of the present disclosure. [Figure 4] This is a flowchart illustrating a method for predicting health status using electrocardiogram segments according to one embodiment of the present disclosure. [Modes for carrying out the invention]
[0020] Hereafter, embodiments of the Disclosure will be described in detail with reference to the attached drawings so that they can be easily implemented by a person skilled in the art. The embodiments presented in the Disclosure are provided so that a person skilled in the art can utilize or implement the contents of the Disclosure. Accordingly, various modifications of the embodiments of the Disclosure will be obvious to a person skilled in the art. That is, the Disclosure may be embodied in a variety of different forms and is not limited to the embodiments described below.
[0021] Throughout this disclosure, identical or similar reference numerals in the drawings refer to identical or similar components. Furthermore, in order to clearly illustrate this disclosure, reference numerals in the drawings that are not relevant to the description of this disclosure may be omitted.
[0022] As used in this disclosure, the term "or" is intended to mean inclusive "or" rather than exclusive "or". That is, unless specifically specified in this disclosure or the meaning is not clear from the context, it should be understood to mean one of the natural inclusive substitutions of "X uses A or B". For example, unless specifically specified in this disclosure or the meaning is not clear from the context, "X uses A or B" can be interpreted as meaning that X uses A, X uses B, or X uses all of A and B.
[0023] The term "and / or" as used in this disclosure should be understood to refer to and include any and all combinations of one or more of the recited related concepts.
[0024] The terms "comprising" and / or "include" as used in this disclosure should be understood to mean that a particular feature and / or component is present. However, the terms "comprising" and / or "include" should be understood not to exclude the presence or addition of one or more other features, other components, and / or combinations thereof.
[0025] When not specifically specified in this disclosure or not clear from the context as indicating a singular form, the singular should generally be interpreted to include "one or more".
[0026] The term "the Nth (N is a natural number)" as used in this disclosure can be understood as an expression used to distinguish the components of this disclosure from each other according to a predetermined criterion such as a functional perspective, a structural perspective, or for the convenience of explanation. For example, components that perform different functional roles in this disclosure can be distinguished as the first component or the second component. However, components that are substantially the same within the technical idea of this disclosure but must be divided for the convenience of explanation may also be distinguished as the first component or the second component.
[0027] As used in this disclosure, the term “acquisition” may be understood to mean not only receiving data through a wired / wireless network with an external device or system, but also generating data in an on-device manner.
[0028] On the other hand, the terms "module" or "unit" as used in this disclosure may be understood to refer to an independent functional unit that processes computing resources, such as a computer-related entity, firmware, software or a part thereof, hardware or a part thereof, or a combination of software and hardware. In this case, a "module" or "unit" may be a unit composed of a single element, or a unit represented by a combination or set of multiple elements. For example, in a narrow sense, a "module" or "unit" may refer to a hardware element or set thereof of a computing device, an application program that performs a specific function of software, a processing process (procedure) embodied through the execution of software, or a set of instructions for program execution. In a broader sense, a "module" or "unit" may refer to the computing device itself that constitutes a system, or an application executed on the computing device. However, since the above concepts are merely examples, the concept of a "module" or "unit" may be defined in various ways within the scope that a person skilled in the art can understand based on the content of this disclosure.
[0029] As used in this disclosure, the term "model" can be understood as a system embodied using mathematical concepts and language to solve a particular problem, a set of software units for solving a particular problem, or an abstract model relating to a processing step for solving a particular problem. For example, a neural network "model" may refer to any system embodied by a neural network that has problem-solving capabilities through learning. In this case, the neural network can acquire problem-solving capabilities by optimizing the parameters connecting nodes or neurons through learning. A neural network "model" may include a single neural network or a set of neural networks that are combinations of multiple neural networks.
[0030] The explanations of the terms provided above are intended to aid in understanding this disclosure. Therefore, unless explicitly stated to limit the content of this disclosure, the terms are not used to limit the technical ideas contained herein.
[0031] Figure 1 is a block diagram of a computing device according to one embodiment of the present disclosure.
[0032] The computing device 100 according to one embodiment of this disclosure may be a hardware device or part of a hardware device that performs comprehensive data processing and calculations, or it may be a software-based computing environment connected by a communication network. For example, the computing device 100 may be a server that performs intensive data processing functions and shares resources, or it may be a client that shares resources through interaction with a server. Alternatively, the computing device 100 may be a cloud system in which multiple servers and clients interact to process data comprehensively. The above description is merely one example related to the type of computing device 100, and therefore the type of computing device 100 can be configured in a variety of ways within the scope that can be understood by a person skilled in the art based on the content of this disclosure.
[0033] Referring to Figure 1, a computing device 100 according to one embodiment of the present disclosure may include a processor 110, memory 120, and a network unit 130. However, since Figure 1 is merely an example, the computing device 100 may include other configurations to embody a computing environment. Furthermore, only a portion of the disclosed configurations may be included in the computing device 100.
[0034] A processor 110 according to one embodiment of the present disclosure can be understood as a component unit including hardware and / or software for performing computing operations. For example, the processor 110 can read a computer program and perform data processing for machine learning. The processor 110 can handle computational processes such as processing input data for machine learning, feature extraction for machine learning, and error calculation based on backpropagation. Such a processor 110 for performing data processing may include a central processing unit (CPU), a general-purpose graphics processing unit (GPGPU), a tensor processing unit (TPU), an application-specific integrated circuit (ASIC), or a field-programmable gate array (FPGA). The types of processor 110 described above are merely examples, and the types of processor 110 can be configured in a variety of ways that are understandable to those skilled in the art based on the content of the present disclosure.
[0035] The processor 110 can divide electrocardiogram data containing electrocardiogram signals to generate multiple segments. The processor 110 can divide a single electrocardiogram data into a number of pre-set segments of arbitrary or predetermined size to generate a variety of segments containing a portion of the electrocardiogram signals contained in the electrocardiogram data. For example, when electrocardiogram data containing electrocardiogram signals measured for t minutes is acquired, the processor 1100 can divide the electrocardiogram data containing the electrocardiogram signals measured for t minutes so that segments containing electrocardiogram signals of length i minutes (where i is a value smaller than t) are generated.
[0036] The processor 110 can input multiple segments into a pre-trained neural network model and calculate the probability of disease corresponding to each segment. This probability of disease may include a disease occurrence probability value derived by analyzing a portion of the electrocardiogram signal contained within the segment. Furthermore, the processor 110 can input multiple segments into the pre-trained neural network model and calculate the uncertainty of the output corresponding to each segment. This output uncertainty can be understood as an indicator of how reliable the disease probability calculated by the neural network model is. In other words, the processor 110 can input segments into a pre-trained neural network model and derive a probability value that the subject of the electrocardiogram signal measurement has a disease, based on each segment. The processor 110 can then verify the confidence level of the derived probability value through the output of the neural network model.
[0037] On the other hand, a neural network model that calculates the probability of disease and the uncertainty of the output can learn by comparing each output with a label through a loss function and adjusting the neural network parameters. In this case, a function such as cross-entropy may be used as the loss function. The neural network model can learn by adjusting the neural network parameters in a direction that minimizes the error between the output and the label. While a neural network model may learn in this form of supervised learning, it may also learn in forms such as unsupervised learning or self-supervised learning depending on the structure of the neural network.
[0038] The processor 110 can filter the likelihood of disease corresponding to each of the multiple segments based on the uncertainty of the output calculated through the neural network model. The processor 110 can select values to be analyzed from among the likelihood of disease corresponding to each of the multiple segments by comparing the uncertainty of the output calculated through the neural network model with a pre-set reference value. Even in a single electrocardiogram signal, noise or missing values may occur in some sections during the measurement process, and sections with noise or missing values can actually reduce the accuracy of the analysis. Therefore, in order to improve the accuracy of the analysis, the processor 110 can analyze the confidence level of the calculated values for each of the multiple segments and select values with a higher confidence level compared to the reference value to be analyzed.
[0039] The processor 110 can generate result values for predicting health status by combining filtered disease probabilities based on the uncertainty of the output. The processor 110 can derive disease probabilities that can be identified on the overall electrocardiogram signal by combining disease probabilities corresponding to parts of the electrocardiogram signal. Then, based on the disease probabilities identified on the overall electrocardiogram signal, the processor 110 can generate results of an analysis of the health status of the subject whose electrocardiogram signal was measured. At this time, the results of the analysis of the health status can include diagnostic or predictive results for diseases, such as what diseases the person currently has or what the probability of developing a disease in the future is. In this way, the processor 110 can obtain more accurate result values than if the overall electrocardiogram signal were not analyzed all at once, by dividing the electrocardiogram signal into multiple parts, performing in-depth analysis, and then selecting the analysis values.
[0040] A memory 120 according to one embodiment of the present disclosure can be understood as a component unit including hardware and / or software for storing and managing data processed by a computing device 100. That is, the memory 120 can store any form of data generated or determined by the processor 110 and any form of data received by the network unit 130. For example, the memory 120 may include at least one type of storage medium from among flash memory type, hard disk type, multimedia card micro type, card type memory, RAM (random access memory), SRAM (static random access memory), ROM (read-only memory), EEPROM (electrically erasable programmable read-only memory), PROM (programmable read-only memory), magnetic memory, magnetic disk, and optical disk. The memory 120 may also include a database system for controlling and managing data in a predetermined manner. The types of memory 120 described above are merely examples; therefore, the types of memory 120 can be configured in a variety of ways that are understandable to those skilled in the art based on the content of this disclosure.
[0041] Memory 120 can structure and organize and manage data, data combinations, and program code (code) that can be executed by the processor 110, which are necessary for the processor 110 to perform calculations. For example, memory 120 can store medical data received through the network unit 130, which will be described later. Memory 120 can store program code that causes the neural network model to perform learning by receiving medical data as input, program code that causes the neural network model to perform inference according to the intended use of the computing device 100 by receiving medical data as input, and processed data generated by the execution of the program code.
[0042] A network unit 130 according to one embodiment of this disclosure can be understood as a component that transmits and receives data through any form of publicly disclosed wired / wireless communication system. For example, the network unit 130 can perform data transmission and reception using wired / wireless communication systems such as local area networks (LANs), wideband code division multiple access (WCDMA), LTE (Long Term Evolution), wireless broadband (WiBro), 5th generation mobile communication (5G), ultra-wide-band wireless communication (UW), ZigBee, radio frequency (RF) communication, wireless LAN, Wi-Fi (Wireless Fidelity), near field communication (NFC), or Bluetooth®. Since the aforementioned communication systems are merely examples, a wide variety of wired / wireless communication systems other than those exemplified above can be applied to the network unit 130 for data transmission and reception.
[0043] The network unit 130 can receive data necessary for the processor 110 to perform calculations via wired / wireless communication with any system or client. The network unit 130 can also transmit data generated through the processor 110's calculations via wired / wireless communication with any system or client. For example, the network unit 130 can receive medical data through communication with databases in a hospital environment, cloud servers performing tasks such as medical data standardization, clients such as smartwatches, or medical computing devices. Through communication with the aforementioned databases, servers, clients, or computing devices, the network unit 130 can transmit output data from neural network models, as well as intermediate and processed data derived during the processor 110's calculation process.
[0044] Figure 2 is a block diagram showing the health status prediction process according to one embodiment of the present disclosure.
[0045] Referring to Figure 2, a computing device 100 according to one embodiment of the present disclosure can generate electrocardiogram segments 20 that include a portion of an electrocardiogram signal based on electrocardiogram data 10 including an electrocardiogram signal. The computing device 100 can generate multiple electrocardiogram segments 20 by dividing the electrocardiogram data 10 into predetermined lengths without overlapping regions. The computing device 100 can generate multiple electrocardiogram segments 20 by dividing the electrocardiogram data 10 while moving a fixed-size window by a predetermined region of the electrocardiogram data 10.
[0046] For example, suppose computing device 100 acquires electrocardiogram data containing an electrocardiogram signal composed of [A1, A2, A3, A4, A5, A6, A7, A8, A9]. If three segments are to be generated, computing device 100 can divide the electrocardiogram data into [A1, A2, A3], [A4, A5, A6] and [A7, A8, A9] such that there are no overlapping areas in the overall signal. Alternatively, if multiple segments are generated by moving a window of size 3 one region at a time across the electrocardiogram signal, computing device 100 can divide the electrocardiogram signal into [A1, A2, A3], [A2, A3, A4], [A3, A4, A5], ..., [A7, A8, A9] such that some sections overlap. Such division methods can be pre-configured and selectively executed depending on the intended use.
[0047] The computing device 100 can input multiple electrocardiogram segments 20 into a pre-trained machine learning model 200 and derive the probability of disease 30 and the uncertainty of the output 40 for each of the segments 20. Specifically, the computing device 100 can input each of the segments 20 into the machine learning model 200 and calculate the probability of disease 30, which includes the probability of inventing the disease corresponding to each of the segments. Then, the computing device 100 can obtain the uncertainty of the output 40 corresponding to each of the probability of disease 30 from the output of the machine learning model 200.
[0048] For example, suppose multiple segments are generated as S1, S2, S3, ..., Sn. In this case, each of the multiple segments contains information of a certain magnitude (or time). Computing device 100 can input S1 into a machine learning model and calculate P1, which corresponds to the probability of disease analyzed from S1. Computing device 100 can also obtain U1, an uncertainty indicating the degree of reliability of the value P1, from the output of the machine learning model. Computing device 100 can input S2 into the machine learning model and calculate P2, which corresponds to the probability of disease analyzed from S2. Computing device 100 can also obtain U1, an uncertainty indicating the degree of reliability of the value P1, from the output of the machine learning model. Computing device 100 can sequentially repeat this process to calculate Pn, which corresponds to the probability of disease analyzed from Sn, and Un, which indicates the degree of confidence in it.
[0049] The computing device 100 can remove outliers in the disease probability 30 corresponding to each of the multiple segments based on the uncertainty 40 of the output. The computing device 100 can compare the disease probability 30 and the uncertainty 40 of the pair with a pre-set reference value and extract outliers within the disease probability 30 that are deemed unreliable as analytical values. Through this outlier removal (or extraction) process, the computing device 100 can select high-quality data to provide the basis for deriving the health status prediction result 50.
[0050] For example, the computing device 100 can compare uncertainty U1, which indicates the confidence level of the possibility of disease P1, with a pre-set first reference value to determine whether U1 is greater than or equal to the first reference value. If U1 is greater than or equal to the first reference value, the computing device 100 can consider the P1 corresponding to U1 as an outlier and remove it. If U1 is less than or equal to the first reference value, the computing device 100 can consider the P1 corresponding to U1 as a normal value and reflect it in the final analysis result. The computing device 100 can sequentially repeat the above process to determine whether Pn is an outlier and filter it.
[0051] The computing device 100 can generate a result 50 for predicting health status by combining the disease probabilities from which outliers have been removed. The computing device 100 can generate a result 50 for predicting health status by comparing the average value of the disease probabilities from which outliers have been removed with a pre-set second reference value. The computing device 100 may also generate a result 50 for predicting health status by comparing each of the disease probabilities from which outliers have been removed with a pre-set third reference value.
[0052] For example, suppose that after the process described above has eliminated the abnormal values, the remaining possible values for the disease are three values, such as 0.5, 0.7, and 0.4. The computing device 100 can calculate the average of these three values, (0.5 + 0.7 + 0.4) / 3 = 0.53. In this case, if the second reference value is set to 0.5, the average of the three values, 0.53, is greater than the second reference value, 0.51, so the computing device 100 can make a final determination that the specific disease has developed.
[0053] Furthermore, if the third reference value is set to 0.51, the computing device 100 can compare the three values with the third reference value of 0.51. The first value, 0.5, is less than the third reference value of 0.51, so the computing device 100 can tag this value with 0, meaning that the specific disease has not developed. The second value, 0.7, is greater than the third reference value of 0.51, so the computing device 100 can tag this value with 1, meaning that the specific disease has developed. The third value, 0.4, is less than the third reference value of 0.51, so the computing device 100 can tag this value with 0. Finally, the computing device 100 can make a final determination that the specific disease has not developed, using 0, which is the value that accounts for the largest proportion of the values tagged with 0, 1, and 0, as the reference. This final determination can be reflected in the health status prediction result.
[0054] A closer examination of the aforementioned examples reveals that the results may differ depending on whether the method of comparing the second reference value with the average value or the method of comparing the third reference value with individual values. Therefore, the choice of which method to use can be determined according to the user's preference based on the purpose of use. In other words, the computing device 100 can determine, based on user input, what method to use to make the final decision.
[0055] On the other hand, the first, second, or third reference values may be values pre-set by the user depending on the purpose of use. For example, if the disease being analyzed through a machine learning model is a rare disease, the likelihood of misdiagnosis may be higher than for other diseases if the uncertainty of the analysis results is high. Therefore, in such cases, the first, second, or third reference values may be set higher than for other diseases. Thus, reference values can be set in a variety of ways depending on the type of disease, the attributes of the data, and so on.
[0056] Figure 3 is a conceptual diagram showing the neural network structure included in a machine learning model according to one embodiment of the present disclosure.
[0057] Referring to Figure 3, a machine learning model according to one embodiment of the present disclosure may include a neural network 300 having a probability distribution for neural network weights in order to quantify the uncertainty of the output. The neural network 300 in Figure 3 assumes that the neural network weights exist as a probability distribution rather than as fixed values. That is, the learned neural network weights of the neural network 300 in Figure 3 may follow a Gaussian distribution. Furthermore, during the learning process of the neural network 300 in Figure 3, rather than the values of the neural network weights themselves being adjusted, the mean and variance of the Gaussian distribution may be adjusted. Through such a neural network 300, the machine learning model can derive uncertainty that corresponds to an indicator of how reliable the probability of disease is, which is the output value.
[0058] Figure 4 is a flowchart illustrating a method for predicting health status using electrocardiogram segments according to one embodiment of the present disclosure.
[0059] Referring to Figure 4, a computing device 100 according to one embodiment of the present disclosure can divide electrocardiogram data to generate multiple segments (S100). If the computing device 100 is a server that provides electrocardiogram interpretation services, the computing device 100 can acquire electrocardiogram data through communication with equipment that measures electrocardiogram signals. If the computing device 100 is equipment that measures and analyzes electrocardiogram signals, the computing device 100 can measure electrocardiogram signals through a measurement unit to generate electrocardiogram data. Once the electrocardiogram data is acquired, the computing device 100 can divide the electrocardiogram data into segments of a predetermined length without overlapping areas. The computing device 100 may also divide the electrocardiogram data and generate multiple segments by moving a fixed-size window by a predetermined area of the electrocardiogram data.
[0060] The computing device 100 can input multiple segments into a pre-trained machine learning model and calculate the probability of disease and the uncertainty of the output corresponding to each of the multiple segments (S200).
[0061] The computing device 100 can remove outliers from the disease probabilities corresponding to each of the multiple segments based on the uncertainty of the output (S300). The computing device 100 can compare the uncertainty of the output with a predetermined first criterion value. If the uncertainty of the output is greater than or equal to the predetermined first criterion value, the computing device 100 can consider the disease probabilities corresponding to the uncertainty of the output that is greater than or equal to the first criterion value as outliers and remove them. If the uncertainty of the output is less than the predetermined first criterion value, the computing device 100 can use the disease probabilities corresponding to the uncertainty of the output that is less than the first criterion value in the final analysis performed in step S400.
[0062] The computing device 100 can generate a result value for predicting health status by combining the probability of diseases from which abnormal values have been removed (S400). The computing device 100 can generate a result value for predicting health status by comparing the average value of the probability of diseases from which abnormal values have been removed with a pre-set second reference value. The computing device 100 may also generate the result value for predicting health status by comparing each of the probability of diseases from which abnormal values have been removed with a pre-set third reference value. Specifically, the computing device 100 can convert the probability of diseases from which abnormal values have been removed into binary values based on whether the probability of the disease from which abnormal values has been removed is greater than or equal to the pre-set third reference value. Then, the computing device 100 can generate a result value for predicting health status based on the value that accounts for the highest proportion among the converted binary values.
[0063] The various embodiments of the Disclosure described herein may be combined with additional embodiments and modified in a manner understandable to those skilled in the art in light of the detailed description set forth herein. The embodiments of the Disclosure are to be understood in all respects to be illustrative and not restrictive. For example, each component described as a single type may be implemented in a distributed manner, and similarly, components described as distributed may be implemented in a combined manner. Accordingly, all modifications or altered forms derived from the meaning, scope, and equivalent concepts of the claims of the Disclosure shall be construed as being within the scope of the Disclosure.
Claims
1. A method for predicting health status using electrocardiogram segments, performed by a computing device including at least one processor, The stage of dividing electrocardiogram data to generate multiple segments; The step of inputting the multiple segments into a pre-trained machine learning model and calculating the probability of disease corresponding to each of the multiple segments; A step of removing outliers from the disease probabilities corresponding to each of the multiple segments based on the uncertainty of the output; and A method comprising the step of generating a result value for predicting health status by combining the aforementioned abnormal values with the likelihood of disease.
2. The step of dividing the electrocardiogram data to generate multiple segments is, The method according to claim 1, comprising the step of generating the plurality of segments by dividing the electrocardiogram data into segments of a predetermined length without overlapping regions.
3. The step of dividing the electrocardiogram data to generate multiple segments is, The method according to claim 1, comprising the step of dividing the electrocardiogram data to generate the plurality of segments while moving a fixed-size window by a predetermined area of the electrocardiogram data.
4. The method according to claim 1, further comprising the step of inputting the plurality of segments into the pre-trained machine learning model and calculating the uncertainty of the output corresponding to each of the plurality of segments.
5. The aforementioned machine learning model, The method according to claim 4, further comprising: a neural network having a probability distribution for neural network weights in order to quantify the uncertainty of the output;
6. The step of removing abnormal values from the potential disease for each of the multiple segments is: The method according to claim 4, further comprising the step of removing, if the uncertainty of the output is greater than or equal to a pre-set first reference value, the possibility of a disease corresponding to the uncertainty of the output being greater than or equal to the first reference value, by considering it an abnormal value.
7. The step of generating a result value for predicting health status by combining the aforementioned abnormal values with the probability of disease from which the abnormal values have been removed is: The method according to claim 1, comprising the step of generating a result value for the prediction of the health status by comparing the average value for the probability of the disease from which the abnormal values have been removed with a pre-set second reference value.
8. The step of generating a result value for predicting health status by combining the aforementioned abnormal values with the probability of disease from which the abnormal values have been removed is: The method according to claim 1, further comprising the step of generating a result value for the prediction of the health status by comparing each of the disease possibilities from which the abnormal value has been removed with a pre-set third reference value.
9. The step of generating a result value for the prediction of the health status by comparing each of the disease possibilities from which the aforementioned abnormal values have been removed with a pre-set third reference value, A step of converting the probability of the disease from which the abnormal value was removed into a binary value, based on whether the probability of the disease from which the abnormal value was removed is greater than or equal to a pre-set third criterion value; and The method of claim 8, comprising the step of generating a result value for the health status prediction based on the value that occupies the highest proportion among the converted binary values.
10. A computer program, It is configured to have a computer perform various actions to predict health status using electrocardiogram segments. The aforementioned operation is, The operation of dividing electrocardiogram data to generate multiple segments; An operation in which the multiple segments are input into a pre-trained machine learning model and the probability of disease corresponding to each of the multiple segments is calculated; An operation to remove outliers from the disease probabilities corresponding to each of the multiple segments based on the uncertainty of the output; and A computer program that includes the operation of generating a result value for predicting a health status by combining the aforementioned abnormal values with the probability of disease from which the abnormal values have been removed.
11. A computing device for predicting health status using electrocardiogram segments, A processor containing at least one core; Memory containing program code executable by the processor; and Network unit for acquiring electrocardiogram data; Includes, The aforementioned processor, The electrocardiogram data is divided to generate multiple segments, The multiple segments are input into a pre-trained machine learning model to calculate the probability of disease corresponding to each of the multiple segments. Based on the uncertainty of the output, outliers are removed from the disease probabilities corresponding to each of the multiple segments. A device that generates a result value for predicting health status by combining the aforementioned abnormal values with the probability of disease after removing the abnormal values.