Method and apparatus for synthesizing time series data and diagnostic data
The apparatus and method enhance the understanding of time-series data in healthcare by generating labels and recommendations, addressing the challenge of data interpretation in patient care.
Patent Information
- Application Number
- JP2024226621
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-12-22
- Filing Date
- 2024-12-23
- Publication Date
- 2025-07-15
AI Technical Summary
Time-series data in healthcare is difficult to understand, limiting its utility for patients and physicians in comprehending its significance.
An apparatus and method that utilizes machine learning models to generate time-series labels and overlays recommendation data on a time-series model, enhancing the interpretation and understanding of time-series data.
Facilitates better comprehension of time-series data by generating meaningful labels and recommendations, aiding in medical diagnosis and patient care.
Smart Images

Figure 2025106217000001_ABST
Abstract
Description
Technical Field
[0001] The present invention generally relates to the field of artificial intelligence. More particularly, the present invention relates to a method and apparatus for synthesizing time-series data and diagnostic data.
Background Art
[0002] Typically, time-series data presents limited information related to a patient's care. Time-series data is difficult to understand. Therefore, it is difficult for patients and physicians to fully understand what information they are looking at and why it is important.
Summary of the Invention
Means for Solving the Problems
[0003] In one aspect, an apparatus for synthesizing time-series data and diagnostic data is provided. The apparatus includes at least one processor and a memory communicatively connected to the at least one processor. The memory instructs the processor to receive time-series data and generate at least one time-series label as a function of the time-series data. Generating at least one time-series label as a function of the time-series data includes generating a first time-series label using a first label machine learning model and generating a second time-series label using a second label machine learning model. The memory also instructs the processor to determine at least one recommendation data as a function of the at least one time-series label, generate a time-series model including a time-series input, and overlay the at least one recommendation data on the time-series model.
[0004] In another aspect, a method for synthesizing time series data and diagnostic data is provided. The method includes receiving time series data by at least one processor, and generating at least one time series label as a function of the time series data by at least one processor, where generating at least one time series label as a function of the time series data includes generating a first time series label using a first label machine learning model and generating a second time series label using a second label machine learning model. The method further includes determining at least one recommendation data as a function of at least one time series label by at least one processor, generating a time series model including a time series input by at least one processor, and overlaying at least one recommendation data on the time series model by at least one processor.
[0005] These and other aspects and features of non-limiting embodiments of the present invention will become apparent to those skilled in the art by considering the following description of specific non-limiting embodiments of the present invention in conjunction with the accompanying drawings.
[0006] For the purpose of illustrating the present invention, the drawings show aspects of one or more embodiments of the present invention. However, it should be understood that the present invention is not limited to the exact arrangements and instruments shown in the drawings.
Brief Description of the Drawings
[0007]
Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8
Figure 9
[0008] The drawings are not necessarily to scale and may be illustrated by imaginary lines, schematic representations, and partial views. In certain instances, details not necessary for an understanding of the embodiments or details that would make the perception of other details difficult may be omitted.
[0009] At a high level, aspects of the present disclosure relate to apparatuses and methods for synthesizing time series data and diagnostic data. In one embodiment, an apparatus for synthesizing time series data and diagnostic data is provided. The apparatus includes at least one processor and a memory communicatively coupled to the at least one processor. The memory instructs the processor to receive time series data and generate at least one time series label as a function of the time series data. The memory also instructs the processor to determine at least one recommended data as a function of the at least one time series label, generate a time series model including a time series input, and overlay the at least one recommended data on the time series model. Exemplary embodiments showing aspects of the present disclosure are described below in the context of several specific examples.
[0010] Referring now to FIG. 1, an exemplary embodiment of an apparatus 100 for synthesizing time-series data and diagnostic data is shown. Apparatus 100 includes a processor 104. Processor 104 may include any computing device described in this disclosure, including but not limited to the microcontrollers, microprocessors, digital signal processors (DSPs), and / or system-on-chips (SoCs) described in this disclosure. Processor 104 may include, be included in, and / or communicate with a mobile device such as a cellular phone or smartphone. Processor 104 may include a single computing device operating independently, or may include two or more computing devices operating in cooperation, in parallel, sequentially, etc. The two or more computing devices may both be included in a single computing device, or may be included in two or more computing devices. Processor 104 can interface or communicate with one or more additional devices via a network interface device, as will be described in more detail later. The network interface device can be used to connect processor 104 to one or more of various networks and one or more devices. Examples of network interface devices include, but are not limited to, network interface cards (e.g., mobile network interface cards, LAN cards), modems, and any combination thereof. Examples of networks include, but are not limited to, wide area networks (e.g., the Internet, corporate networks), local area networks (e.g., networks associated with offices, buildings, campuses, or other relatively small geographical spaces), telephone networks, data networks associated with telephone / voice providers (e.g., data and / or voice networks of mobile communication providers), direct connections between two computing devices, and any combination thereof. The network can employ wired and / or wireless communication modes. Generally, any network topology can be used.Information (e.g., data, software, etc.) can be communicated to and / or from a computer and / or computing device. Processor 104 may include, without limitation, for example, a computing device or a cluster of computing devices at a first location, and a second computing device or a cluster of computing devices at a second location. Processor 104 may include one or more computing devices specialized for data storage, security, traffic distribution for load balancing, etc. Processor 104 may distribute one or more computing tasks as described below among a plurality of computing devices of the computing devices that can operate in parallel, serially, redundantly, or in any other way used for task or memory distribution between computing devices. Processor 104 may be implemented, as a non-limiting example, using a "shared nothing" architecture.
[0011] Continuing to refer to FIG. 1, the processor 104 may be designed and / or configured to execute any method, method step, or sequence of method steps described in any embodiment of the present disclosure in any order and to any degree of repetition. For example, the processor 104 can be configured to repeatedly execute a single step or sequence until a desired or commanded result is achieved. The repetition of a step or sequence of steps can be executed iteratively and / or recursively using the output of a previous iteration as input to a subsequent iteration, aggregating the inputs and / or outputs of the iteration to produce an aggregated result, decrementing or decrementing one or more variables such as global variables, and / or dividing a large processing task into a set of smaller processing tasks that are repeatedly addressed. The processor 104 can execute in parallel any step or sequence of steps described in the present disclosure, such as executing a step two or more times simultaneously and / or substantially simultaneously using two or more parallel threads, processor cores, etc. The division of tasks between parallel threads and / or processes may be performed according to any protocol suitable for the division of tasks during iteration. Those skilled in the art will recognize, upon considering the entirety of the present disclosure, the various ways in which steps, sequences of steps, processing tasks, and / or data can be subdivided, shared, or otherwise processed using iteration, recursion, and / or parallel processing.
[0012] Continuing to refer to FIG. 1, the apparatus 100 includes a memory. The memory is communicatively connected to the processor 104. The memory may include instructions that configure the processor 104 to execute the tasks disclosed in the present disclosure. As used in the present disclosure, “communicatively connected” means connected by a connection, attachment, or linkage that enables the reception and / or transmission of information between two or more entities. For example, without limitation, this connection may be a wired or wireless connection, a direct or indirect connection, and a connection between two or more components, circuits, devices, systems, apparatuses, etc., that enables the reception and / or transmission of data and / or signals therebetween. Examples of the data and / or signals therebetween include, without limitation, electrical, electromagnetic, magnetic, video, audio, wireless, and microwave data and / or signals, combinations thereof, and the like. A communicative connection may be achieved, for example, without limitation, by wired or wireless electronic, digital, or analog communication, directly or via one or more intervening devices or components. Further, a communicative connection may include electrically coupling or connecting at least one output of a device, component, or circuit to at least one input of another device, component, or circuit. For example, without limitation, via a bus or other facility for mutual communication between computing device elements. A communicative connection may include, for example, without limitation, an indirect connection via a wireless connection, wireless communication, low-power wide-area network, optical communication, magnetic coupling, capacitive coupling, optical coupling, and the like. In some cases, the term “communicatively coupled” may be used in the present disclosure instead of “communicatively connected”.
[0013] Continuing to refer to FIG. 1, the processor 104 is configured to receive time series data 108. As used in this disclosure, "time series data" is a type of data that includes a sequential record of observed or measured values at regular intervals over time. These observed values can be related to various physiological parameters, clinical parameters, or health-related parameters, and are essential for monitoring, diagnosing, and treating medical conditions. The time series data 108 may include data points collected at discrete time intervals such as seconds, minutes, hours, days, or even longer depending on the specific context. This temporal aspect allows medical personnel to track the patient's changes over time. The time series data 108 can include various types of data such as vital signs (e.g., heart rate, blood pressure, body temperature), electrocardiogram (ECG), electroencephalogram (EEG), clinical test results, imaging data (e.g., MRI and CT scans), pulse oximetry, blood pressure, etc. These diverse data sources provide a comprehensive view of the patient's health. The time series data 108 can be used to detect abnormalities, patterns, or trends indicating the presence of a medical condition in the diagnostic process. For example, an abnormal ECG pattern may suggest a cardiac arrhythmia. The time series data 108 may include information from multiple electronic health records (EHRs). As used in this disclosure, "electronic health record" refers to a digital record that includes a patient's medical history, diagnosis, medications, treatment plans, and other relevant information. EHRs are used by healthcare providers to track and manage a patient's care. The time series data 108 may also include information from multiple medical imaging data. As used in this disclosure, "medical imaging data" refers to a visual representation of the internal structure and function of the human body obtained by various imaging techniques. Medical imaging data can include data related to X-rays, CT scans, magnetic resonance imaging, ultrasound, PET scans, nuclear medicine imaging, mammography, fluoroscopy, etc. Additionally or alternatively, the processor 104 may be configured to obtain patient data related to the patient associated with the time series data 108 from an electronic health record. As used in this disclosure, "patient data" refers to any data associated with a patient. For example, patient data may include name, age, date of birth, etc.
[0014] Continuing to refer to FIG. 1, the time series data 108 may include a plurality of electrocardiogram (ECG) signals from a patient. As used in this disclosure, an "ECG signal" refers to a signal representing the electrical activity of the heart. An ECG signal may consist of several distinct waves and intervals, each representing a different phase of the cardiac cycle. These waves may include a P wave, a QRS complex, a T wave, a U wave, and the like. The P wave may represent atrial depolarization (contraction) when an electrical impulse spreads within the atrium. The QRS complex may represent ventricular depolarization (contraction) when an electrical impulse spreads within the ventricle. The QRS complex may include three waves: a Q wave, an R wave, and an S wave. The T wave may represent ventricular repolarization (recovery) when the ventricle prepares for the next contraction. A U wave may appear after the T wave, which represents the repolarization of the Purkinje fibers. Information regarding the duration and regularity of various phases of the cardiac cycle can be obtained from the intervals between these waves. ECG signals are useful for diagnosing various heart diseases, such as arrhythmias, myocardial infarctions (heart attacks), conduction abnormalities, electrolyte imbalances, and the like. In one embodiment, each sensor 116 may generate an individual ECG signal.
[0015] Continuing to refer to FIG. 1, multiple electrocardiogram signals can capture a temporal view of the electrical activity of the heart. The "temporal view" used in this disclosure refers to analyzing and visualizing events and activities related to the heart over time. The temporal view can include patterns, changes, and dynamics of heart activity over time. The temporal view can include information related to the rhythm of the heart, such as the regularity or irregularity of the heartbeat. Various rhythm abnormalities, such as tachycardia (e.g., a fast heart rate), bradycardia (e.g., a slow heart rate), and arrhythmia (e.g., an irregular heartbeat rhythm), can be identified. The temporal view of heart activity in three dimensions may refer to a visualization representing the temporal progression of heart events and phenomena in three-dimensional space. It is possible to comprehensively understand how various heart activities change over time. The ECG signals may move within the 3D space of the heart over time. The signals not only progress in time but also move through the physical space of the heart from the sinoatrial node to the atria, the atrioventricular node, and then to the ventricles. Such movement of electrical signals passing through the physical space of the heart over time is called "spatiotemporal excitation and propagation" and can be captured by multiple ECG signals. This is one way to observe and analyze the timing and sequence of electrical activity through the physical structure of the heart. In this case, the dimensions include temporal, spatial dimensions, and an axis representing heart activity. By combining the temporal, spatial, and heart activity dimensions, heart activity can be viewed temporally in three dimensions, and the dynamic changes occurring within the heart can be comprehensively visualized and analyzed. It can be used to study phenomena such as electrical conduction, ventricular wall motion, valve function, blood flow dynamics, and interactions between different regions of the heart. This visualization approach provides valuable insights into the complex temporal dynamics of heart activity and is useful for understanding cardiac function, pathology, and treatment evaluation.
[0016] Continuing to refer to FIG. 1, a plurality of electrocardiogram signals may be generated using at least one sensor 116. As used in the present disclosure, a "sensor" refers to a device configured to detect an input and / or a phenomenon and transmit information related to the detection. The sensor 116 may detect a plurality of data. The plurality of data detected by at least one sensor 116 may include, but are not limited to, electrocardiogram signals, heart rate, blood pressure, electrical signals related to the heart, and the like. In one or more embodiments, but not limited thereto, at least one sensor 116 may include a plurality of sensors. In one or more embodiments, but not limited thereto, at least one sensor 116 may include one or more electrodes and the like. Each electrode of one or more electrodes used in an ECG may be a small sensor or a conductive patch that is placed at a specific location on the body to detect and record electrical signals generated from the subject's heart. At least one sensor 116 may be configured to function as an interface between the body and an ECG machine that enables the measurement and recording of the electrical activity of the heart. At least one sensor 116 may include the ten electrodes used in a standard 12-lead ECG that are placed at specific locations on the patient's chest and limbs. These electrodes are typically made of a conductive material such as metal or carbon and are connected to leads that transmit the electrical signals to an ECG machine for recording.
[0017] Continuing to refer to FIG. 1, at least one sensor 116 may be disposed on each of the limbs, and there may be at least one sensor 116 on each arm and each leg. These sensors may be labeled such as I, II, III, V1, V2, V3, V4, V5, V6, etc. For example, sensor I may be disposed on the left arm, sensor II on the right arm, and sensor III on the left leg. Further, a plurality of sensors of at least one sensor 116 may be disposed on various parts of the patient's torso and chest. For example, sensor V1 may be disposed at the right edge of the sternum in the fourth intercostal space, and sensor V2 may be disposed at the left edge of the sternum in the fourth intercostal space. Sensor V3 may also be disposed at a position intermediate between sensor V2 and V4. Sensor V4 may be disposed in the midclavicular line in the fifth intercostal space. Sensor V5 may be disposed at the same height horizontally as sensor V4 and on the anterior axillary line. Sensor V6 may be disposed at the same height horizontally as V4 and V5 and on the midaxillary line.
[0018] Continuing to refer to FIG. 1, at least one sensor 116 may include an enhanced unipolar sensor. These sensors may be labeled aVR, aVL, aVF. These sensors are derived from limb sensors and provide additional information regarding the electrical activity of the heart. These leads are calculated using specific combinations of limb leads and are useful for evaluating electrical vectors in different directions. For example, aVR may be derived from sensor II and sensor III. In another example, aVL may be derived from sensor I and sensor III. Further, aVF may be derived from lead I and lead II. By combining limb sensors, precordial sensors, and enhanced unipolar sensors, the electrical activity of the heart can be comprehensively evaluated in three dimensions. These leads capture electrical signals from different directions and convert them into transformed coordinates to generate a vector electrocardiogram (VCG) that represents the magnitude and direction of the electrical vectors during depolarization and repolarization of the heart. The transformed coordinates may include one or more of a Cartesian coordinate system (x, y, z), a polar coordinate system (r, θ), a cylindrical coordinate system (ρ, φ, z), or a spherical coordinate system (r, θ, φ). In some cases, the transformed coordinates may include angles with respect to polar, cylindrical, spherical coordinates, etc. In some cases, the VCG is normalized and can be fully represented by only the measurement of angles, i.e., angular measurement. In some cases, the angular measurement can be advantageously processed by one or more processes and / or spectral analysis as described below.
[0019] Referring further to FIG. 1, in one embodiment, the time series data 108 may include at least one still image. This still image may be supplied from at least one of the sensors 116 described above. The sensors 116 may include, but are not limited to, a 12-lead ECG machine such as a 12-lead ECG machine from Biocare, a 6-lead ECG machine, an exercise ECG machine, a Holter monitor, an exercise ECG tracker, a smartwatch with a wrist sensor, and / or any other device capable of collecting time series data, including but not limited to any sensor capable of capturing ECG data and / or its components. The at least one sensor 116 may alternatively or additionally include an electroencephalogram (EEG), a magnetic resonance imager, an electromyogram scan (EMG), a galvanic skin response sensor, a fitness tracker, a blood pressure monitor, a sleep tracker, a blood oxygen concentration monitor, a heart rate tracker, a diabetes or herpes tracker, an immune disorder log, or any other type of device capable of capturing medical imaging data or time series data that can be plotted. The at least one sensor 116 may refer to a stand-alone device such as a magnetic resonance imager, a computed tomography scan, an X-ray, an ultrasound, a radiation therapy device, an intravenous monitor, or any other stand-alone device that is only used in established medical facilities. Although the present disclosure is ostensibly discussed in terms of medical devices, the present disclosure applies to any time series collection device, including non-medical uses where the exportable information is limited to still images of time series data. Further, the at least one sensor 116 may be a plurality of handheld devices or wearable devices (such as a Fitbit (trademark) watch or wristband or other wearable heart rate monitor, a pacemaker or other cardiac rhythm management implant, a glucose monitor, a smartwatch, a real-time blood pressure sensor, a body temperature monitor, a respiratory rate monitor or other biosensor, or other wearable monitor, etc.).
[0020] Referring still to FIG. 1, for the purposes of the present disclosure, a "static image time series of measurement values" is typically a digital or printed image that summarizes information obtained from the query output of a digital device, formatted based on the protocol of the source device, and includes time series data that can be plotted on a two-dimensional axis. The static time series image may be in image format, and discrete data points can be identified and interpreted from the image. In other applications of the adversarial generation network, the input may include multiple different types or domains, including but not limited to text, code, images, molecules, audio (e.g., music), video, robot motion (e.g., the operation of an electromechanical system). As a non-limiting example, a dataset of ECG recordings of voltage measured over 30 seconds at frequencies in the range of 50 Hz to 500 Hz may be plotted, recorded, stored, or printed for use by the processor 104 as a static time series image. The static time series image 108 can export and use voltages plotted over time, particularly voltages within the voltage range expected to be detected from a human heart through skin contact, from any possible device. In a non-limiting embodiment, the static time series image may further include any set of plotted time series data that may be valuable within a separate set of domain protocols other than the original static image source.
[0021] Referring further to FIG. 1, as a non-limiting example, a static time series image may include a patient's blood pressure, heart rate, blood glucose level, stress test data, or any other relevant time series data plotted over a specified time. The static time series image may additionally include identification or descriptive data mainly to support the time series data 108. For example, the static time series image can include timing information, location information, or any other appropriate information at which the time series was first recorded. These additional data tags embedded in the static time series image can be used as training data to support the pairing of input data and output data. Specifically, in a non-limiting embodiment, in the example of an ECG time series, various input and grouping mechanisms may assist in the diagnosis of cardiac arrhythmias that can be indicators of atrial fibrillation or ventricular fibrillation. Once confirmed by a medical professional, especially in multiple cases where similar situations repeat, the machine learning model may identify the patterns across these cases and grow to function as an early warning system for more serious conditions. Continuing with this non-limiting embodiment, the various types of input data included in the static time series image can be grouped in a logical manner to support this type of early warning diagnosis assistance. In an additional non-limiting embodiment, the heart rate training data may support the detection and diagnosis of tachycardia or bradycardia conditions. Either may indicate a serious or complex problem requiring urgent attention. Further, blood pressure, electromyogram data, computed tomography (CT) scans, magnetic resonance imaging (MRI), or any other device that collects data over time and operates only within an initial domain protocol can also be included in the static time series image.
[0022] Referring still to FIG. 1, the static time series images may be composed of various ECG formats. In non-limiting embodiments, a 12-lead ECG can use various recording formats including 3×4, 3×4+R, 3×4+3R, 6×2, 6×2+R, 6×2+3R, 12, 12+R, 12+3R, and / or rhythm mode, and the data recorded as such can be stored within its own system; such a device may be capable of exporting the collected data to JPEG, PNG, TIFF, Bitmap, GIF, EPS, RAW image files, or other forms of digital images. Further, any kind of image of the time series data may be screen shot and / or printed and then used as an input for the static time series image. As a further non-limiting example, an ECG machine can use the application of Minnesota code, CSE, and / or AHA database formatting guidelines, as well as support for an ECG management system or HL7 protocol. Each of these specified formats and data exchange protocols may be interoperable with other ECG devices, or may be dedicated to hardware sensors and / or sensor components that depend on the generation of data.
[0023] Referring still to FIG. 1, the static time-series image may include a plurality of time series, each having a separate domain protocol format. Specifically, the processor 104 can receive a static time-series image including a first time series and a second time series, and each of the first time series and the second time series may include time-series data related to the same category of the measured process, such as time-series data from the same type of diagnostic process. In one embodiment, the first time series may be recorded by and / or received from a first device, while the second time series may be recorded by and / or received from a second device. The first device and the second device may be different devices and / or different types of devices, and may record using the same initial domain protocol with each other, or may record using two different initial domain protocols. The initial time-series data may include a set of time-series data from a plurality of devices, any two of which may include the first device and the second device as described above, and such initial time-series data may include a data set of a plurality of different initial domain protocols. As a non-limiting example, a plurality of ECG data sets that may be recorded using a plurality of initial domain protocols may be used as static time-series images, and a single common protocol may be developed for each data set from each ECG, as will be described in more detail below. By converting the initial domain protocol to a common protocol, a medical professional can use any one or all of such data sets within either or both hardware configurations to analyze the ECG data. The development of a common domain protocol can be used to support future conversions.
[0024] Continuing to refer to FIG. 1, the time series data 108 may be received through the network of the connected devices. In non-limiting embodiments, a device that captures one or more elements of the time series data and / or performs one or more steps described in the present disclosure may be communicatively connected to one or more other devices including, but not limited to, any device described in the present disclosure, a local area network (LAN), a wide area network (WAN) such as the Internet or a subset thereof, such that all of the recorded data is accessible via any other web-enabled device. In this way, the time series data 108 may be requested via a web or local network interface and imported into the processor 104. The processor and / or another device may divide processing tasks among multiple processors to accelerate the delivery of the completed time series data 108.
[0025] Continuing to refer to FIG. 1, the time series data 108 may be received through a direct file import process where a static time series image 108 is saved and downloaded to the processor 104. This may include file transfers from any type of hard drive, or the exchange or copying of other memory types. The static time series image 108 may be generated locally if the processor 104 is built integrally with an ECG-enabled device or is included within an ECG-enabled device. The static time series image 108 may be imported into the processor 104 by manual generation, in which case the user enters all of the required data by any mechanism that provides a minimal necessary time series data set to the device 100.
[0026] Continuing to refer to FIG. 1, the time series data 108 may be received from a scanning device. If the time series data is only available in a tangible paper medium, the image may be scanned using any scanner with sufficient sharpness for the scanning process. The processor 104 may be enabled to directly capture the scanned time series image, or may support conversion to a preferred image format. The scanning of the time series image can be performed in any way that can generate a digital display of the time series image, such as image scanning by a mobile phone, scanning by a drum scanner, flatbed scanning, etc.
[0027] Still referring to FIG. 1, the processor 104 may rely on optical character recognition or optical character reader (OCR) executed by the processor 104 to automatically convert an image of written (e.g., typed, handwritten, or printed) text into machine-encoded text. In some cases, the recognition of at least one keyword from the image components may include one or more processes including, but not limited to, optical character recognition, optical word recognition, intelligent character recognition, intelligent word recognition, etc. In some cases, the OCR may recognize the written text one glyph or one character at a time. In some cases, the optical word recognition may recognize the written text one word at a time, for example, in a language that uses a space as a word delimiter. In some cases, intelligent character recognition (ICR) may recognize the written text one glyph or one character at a time, for example, by adopting a machine learning process. In some cases, intelligent word recognition (IWR) may recognize the written text one word at a time, for example, by adopting a machine learning process.
[0028] Referring still to FIG. 1, in some cases, OCR may be an "offline" process that analyzes static documents or static image frames. In some cases, handwriting motion analysis may be used as input for handwriting recognition. For example, rather than simply using the shape of glyphs or words, this technique may capture operations such as the order in which segments are drawn, the direction, and the pattern of pen down and pen up. This additional information may make handwriting recognition more accurate. In some cases, this technique may also be referred to as "online" character recognition, dynamic character recognition, real-time character recognition, and intelligent character recognition.
[0029] Referring still to FIG. 1, in some cases, OCR processing may employ preprocessing of the image components. The preprocessing may include, but is not limited to, skew correction, despeckling, binarization, line removal, layout analysis or "zoning", line and word detection, script recognition, character separation or "segmentation", and normalization. In some cases, the skew correction process may include applying a transformation (e.g., homography or affine transformation) to the image components to align the text. In some cases, the despeckling process may include removal of positive and negative spots and / or smoothing of edges. In some cases, the binarization process may include converting the image from color or grayscale to black and white (i.e., a binary image). Binarization can be performed as a simple technique to separate text (or any other desired image component) from the background of the image components. In some cases, binarization may be required, for example, if the OCR algorithm employed only supports binary images. In some cases, the line removal process may include removal of images other than glyphs and characters (e.g., boxes and lines). In some cases, the layout analysis or "zoning" process can identify columns, paragraphs, captions, etc. as separate blocks. In some cases, the line and word detection process can establish reference values for the shapes of words and characters and separate words as needed. In some cases, the script recognition process can identify the script, for example, in a multilingual document, and enable selection of an appropriate OCR algorithm. In some cases, the character separation or "segmentation" process can separate signal characters, for example, with a character-based OCR algorithm. In some cases, the normalization process can normalize the aspect ratio and / or scale of the image components.
[0030] Referring still to FIG. 1, in some embodiments, the OCR process includes an OCR algorithm. Exemplary OCR algorithms include matrix matching processing and / or feature extraction processing. Matrix matching may involve comparing an image, pixel by pixel, with stored glyphs. In some cases, matrix matching is also known as "pattern matching", "pattern recognition", and / or "image correlation". Matrix matching may depend on whether an input glyph is correctly separated from the rest of the image components. Matrix matching may also depend on the stored glyphs being of the same scale and in the same font as the input glyph. Matrix matching may work best with typed text.
[0031] Referring still to FIG. 1, in some embodiments, the OCR process may include a feature extraction process. In some cases, feature extraction may decompose glyphs into features. Exemplary non-limiting features may include corners, edges, lines, closed loops, line directions, line intersections, etc. In some cases, feature extraction can reduce the dimensionality of the representation and make the recognition process computationally more efficient. In some cases, the extracted features can be compared to an abstract vector-like representation of the characters and made into one or more glyph prototypes. General techniques for feature detection in computer vision can be applied to this type of OCR. In some embodiments, a machine learning process such as a nearest neighbor classifier (e.g., k-nearest neighbor algorithm) can be used to compare the image features to stored glyph features and select the closest match. The OCR can employ any machine learning process described in this disclosure, such as the machine learning process described with reference to FIG. 2 below. Exemplary non-limiting OCR software includes Cuneiform (trademark) and Tesseract (trademark). Cuneiform is a multi-language, open-source optical character recognition system originally developed by Cognitive Technologies of Moscow, Russia. Tesseract is a free OCR software originally developed by Hewlett-Packard of Palo Alto, California, USA.
[0032] Referring still to FIG. 1, in some cases, OCR may employ a two-pass approach for character recognition. The second pass may include adaptive recognition, and in order to better recognize the remaining characters in the second pass, the glyphs recognized with high confidence in the first pass may be used. In some cases, the two-pass approach may be advantageous for special fonts or low-quality image components where visual language content may be distorted. Another exemplary OCR software tool is OCRopus™. The development of OCRopus is led by the German Research Center for Artificial Intelligence (DFKI) in Kaiserslautern, Germany. In some cases, the OCR software may employ a neural network, such as the neural network taught with reference to FIGS. 5-6 below.
[0033] Referring still to FIG. 1, in some cases, OCR may include post-processing. For example, the accuracy of OCR can be improved in some cases where the output is constrained by a lexicon. The lexicon may include a list or set of words that are permitted to appear in the document. In some cases, the lexicon may include, for example, all words in English or a more specialized lexicon for a particular field. In some cases, the output stream may be a plain text stream or a file of characters. In some cases, the OCR process may preserve the original layout of the visual language content. In some cases, nearest neighbor analysis can utilize co-occurrence frequencies and correct errors by noting that certain words are frequently seen together. For example, "Washington, D.C." is much more common in English than "Washington DOC." In some cases, the OCR process may utilize prior knowledge regarding the grammar of the recognized language. For example, grammar rules may be used to assist in determining whether a word is a verb or a noun. Conceptualization of distance may be employed for recognition and classification. For example, the Levenshtein distance algorithm can be used in the OCR post-processing to further optimize the results.
[0034] Referring still to FIG. 1, image recognition and processing may be built on top of the character recognition method described above. Since time series data is generally less complex to interpret than the infinitely possible image types, a predefined analysis targeting time series type data can be efficiently converted into an interrogable format, and thus numerical statistics can be applied to the image data, and there may be an algorithm that forms the basis for defining a time series graph. To convert a RAW image into a numerically defined time series format, first, the axes and labels of the data may be interpreted depending on the above-described optical character recognition. Once the axes and labels are defined, the numerical characteristics of the time series can be applied based on the timing and relative positions of the peaks and valleys, the consistency of the waveform, the amplitude, and any other distinguishable features.
[0035] Continuing to refer to FIG. 1, the processor 104 may be configured to receive time series data 108 from the data store 112. The data store 112 may be configured to store any data described herein. The processor 104 may be communicatively connected to the data store 112. In some cases, the data store 112 may be local to the processor 104. Alternatively, the data store 112 may be remote from the processor 104 and communicable with the processor 104 via one or more networks (e.g., a cloud network, a mesh network, etc.). In a non-limiting example, the device 100 may include a “cloud-based” system (i.e., a system that includes software and / or data stored, managed, and / or processed on a network of remote servers hosted, for example, on the “cloud” via the Internet rather than on a local server or personal computer). As used in this disclosure, a “mesh network” refers to a local network topology in which the infrastructure processor 104 is directly, dynamically, and non-hierarchically connected to as many other computing devices as possible. As used in this disclosure, a “network topology” refers to the arrangement of the elements of a communication network.
[0036] Referring still to FIG. 1, in some cases, data store 112 may be implemented as, but is not limited to, a relational database, a key-value type database such as a NoSQL database, or any other format or structure that one of ordinary skill in the art would recognize as appropriate upon consideration of the entire disclosure. Data store 112 may alternatively or additionally be implemented using a distributed data storage protocol and / or a data structure such as a distributed hash table. As described above, data store 112 may include a plurality of data entries and / or records. Data entries within the database may be flagged or linked to one or more additional information elements and may be reflected in linked tables, such as a table associated by one or more indexes within the data entry cell and / or within a relational database. One of ordinary skill in the art, upon consideration of the entire disclosure, will recognize the various ways in which data entries within a data store or database can store, retrieve, organize, and / or reflect data and / or records, as used herein, as well as data categories and / or populations that are not inconsistent with the disclosure.
[0037] In a non-limiting example, referring still to FIG. 1, data store 112 may be an electronic health record system. As used in this disclosure, an "electronic health record system" refers to one that collects a patient's health information comprehensively and in real time. In some cases, time series data 108 may be obtained using an application programming interface (API) of the electronic health record system.
[0038] Continuing to refer to FIG. 1, the processor 104 may be configured to receive time-series data 108 using an application programming interface (API). As used herein, an "application programming interface" refers to a set of functions that enables an application to access data and interact with external software components, operating systems, or microdevices (such as another web application or computing device). The API may define methods and data formats that an application can use to request or exchange information. The API enables seamless integration and functionality between different systems, applications, or platforms. The API may deliver time-series data 108 to the device 100 from a system / application related to a user, a healthcare provider, or another third-party administrator of user information. The API may be configured to query a web application or other website to obtain the time-series data 108. The API may further be configured to filter web applications according to filter criteria. In the present disclosure, "filter criteria" refers to conditions that a web application must meet in order to be certified as an API. The web application may be filtered based on these filter criteria. The filter criteria may include, but are not limited to, the date of the web application, the traffic of the web application, the type of the web application, the address of the web application, and the like. When the API filters web applications according to the filter criteria, the API can select web applications. The processor 104 may transmit the time-series data 108 to the device 100 through the API. The API may further automatically enter user authentication information into the user input field of the web application to access the time-series data 108. Web applications may include, but are not limited to, medical databases, hospital websites, file scans, email programs, third-party websites, government websites, and the like.
[0039] Referring further to FIG. 1, the processor 104 is configured to generate at least one time series label 116 as a function of the time series data 108. As used in the present disclosure, a "time series label" refers to a mark indicating a portion of the time series data that may be of interest for review by a medical professional. These time series labels 116 and the associated time series data can be used to evaluate health, diagnose diseases, monitor health status, or understand the functions of a patient's body. Further, the time series labels 116 and the associated time series data can indicate potential problems related to the health of the person associated with the time series data 108.
[0040] Referring further to FIG. 1, the processor 104 may generate at least one time series label 116 in real time using the time series data 108. As used in the present disclosure, "real time" refers to the immediate or instantaneous processing, analysis, or display of data without significant delay involving continuous collection, processing, and interpretation of the data when the data is generated or becomes available. Generating at least one time series label 116 may include continuous collection, processing, and interpretation of the time series data 108 by the processor 104. The processor 104 may be configured to extract a plurality of features from the time series data 108 in real time to generate at least one time series label 116. Feature extraction may be a process that includes identifying and quantifying relevant features of the time series data 108. These features can be statistical measures, spectral measures, or time domain measures that capture specific aspects of the time series data 108.
[0041] Referring further to FIG. 1, additionally or alternatively, the processor 104 may generate at least one time series label 116 using a label machine learning model 120. As used in this disclosure, a "label machine learning model" refers to a machine learning model configured to generate time series labels 116 for time series data. The label machine learning model 120 may be consistent with the machine learning models described herein and in FIG. 2 below. Inputs to the label machine learning model 120 may include time series data 108, ECG data, and the like. Outputs from the label machine learning model 120 may include time series labels 116 tailored to the time series data 108. Label training data may include a plurality of data entries including a plurality of inputs correlated to a plurality of outputs for training the processor by a machine learning process. In one embodiment, the label training data may include a plurality of time series data as inputs correlated to examples of time series labels as outputs. The label training data may be received from a database. In one embodiment, the plurality of time series data and time series labels for the label training data, and the label training data, may be anonymized data. As used in this disclosure, "anonymized data" refers to time series data and / or time series label data that has been modified or obfuscated in such a way that it is impossible or impracticable to identify the user associated with the time series data and / or time series label data while maintaining its usefulness for training a label machine learning model. In an exemplary embodiment, the metadata of the time series data and time series label data may be removed from the time series data and time series labels. Removing the metadata may include separating the metadata from the time series data and time series labels and discarding such metadata. Additionally or alternatively, the metadata may be altered within the time series data and time series label data. Altering the metadata may include reconstructing the metadata such that it is impossible and / or impracticable to identify the user associated with the metadata.As used herein, "metadata" refers to descriptive data or information data that provides details of time-series data and / or time-series label data related to a user. In one embodiment, the label training data may be iteratively updated as a function of the input and output results of past iterations of the label machine learning model 120 or any other machine learning model referred to throughout the present disclosure. The machine learning model may be executed using, but not limited to, linear machine learning models such as logistic regression and / or naive Bayes machine learning models, nearest neighbor machine learning models such as k-nearest neighbor machine learning models, support vector machines, least squares support vector machines, Fisher's linear discriminant, quadratic machine learning models, decision trees, boosting trees, random forest machine learning models, and the like.
[0042] Continuing to refer to FIG. 1, in a non-limiting example, the label machine learning model 120 may include a plurality of machine learning models. The label machine learning model 120 may include a first label machine learning model and a second label machine learning model, and the first label machine learning model and the second label machine learning model are configured to determine different labels for time series data. As a non-limiting example, the first label machine learning model may determine a label related to the cardiac ejection fraction. In some embodiments, the first label machine learning model may generate a first time series label, and the second label machine learning model may generate a second time series label. As a non-limiting example, the first label machine learning model may determine a label related to atrial fibrillation. In one embodiment, the machine learning model for the label machine learning model 120 described herein may not conflict with any ejection fraction prediction model disclosed in U.S. Patent Application No. 16 / 754,007, filed Apr. 6, 2020 (Attorney Docket No. 1518-001USU1), "ECG-BASED CARDIAC EJECTION-FRACTION SCREENING" (incorporated herein by reference in its entirety). In a further non-limiting example, additionally or alternatively, the machine learning model for the label machine learning model 120 described herein may not conflict with any neural network disclosed in U.S. Patent Application No. 17 / 275,276, filed Mar. 11, 2021 (Attorney Docket No. 1518-002USU1), "NEURAL NETWORKS FOR ATRIAL FIBRILLATION SCREENING" (incorporated herein by reference in its entirety).In another non-limiting example, additionally or alternatively, the machine learning model for the label machine learning model 120 described herein may not conflict with any learning system disclosed in U.S. Patent Application No. 18 / 151,673 (Attorney Docket No. 1518-003USU1) “NONINVASIVE METHODS FOR QUANTIFYING AND MONITORING LIVER DISEASE SEVERITY”, filed on January 9, 2023, which is hereby incorporated by reference in its entirety. Additionally or alternatively, the machine learning model for the label machine learning model 120 described herein may not conflict with any learning system disclosed in International Application No. PCT / US2023 / 020362 (Attorney Docket No. 1518-004PCT1) “ARTIFICIAL INTELLIGENCE ENHANCED SCREENING FOR CARDIAC AMYLOIDOSIS BY ELECTROCARDIOGRAPHY”, filed on April 28, 2023, which is hereby incorporated by reference in its entirety. Additionally or alternatively, the machine learning model for the label machine learning model 120 described herein may not conflict with any learning system disclosed in International Application No. PCT / US2022 / 040362 (Attorney Docket No. 1518-010PCT1) “MACHINE-LEARNING FOR PROCESSING LEAD-INVARIANT ELECTROCARDIGRAM INPUTS”, filed on August 30, 2023, which is hereby incorporated by reference in its entirety. Additionally or alternatively, the machine learning model for the label machine learning model 120 described herein may not conflict with any system and method disclosed in U.S. Patent Application No. 13 / 810,064 (Attorney Docket No. 1518-012USU1) “NON-INVASIVE MONITORING OF PHYSIOLOGICAL CONDITIONS”, filed on March 29, 2013, which is hereby incorporated by reference in its entirety.Additionally or alternatively, the machine learning model for the label machine learning model 120 described herein may not conflict with any machine learning model disclosed in U.S. Patent Application No. 15 / 778,405 (Attorney Docket No. 1518-013USU1) "PROCESSING PHYSIOLOGICAL ELECTRICAL DATA FOR ANALYTE ASSESSMENTS", filed on May 23, 2018 (which is hereby incorporated by reference in its entirety). Additionally or alternatively, the machine learning model for the label machine learning model 120 described herein may not conflict with any machine learning model disclosed in U.S. Patent Application No. 15 / 842,419 (Attorney Docket No. 1518-014USU1) "SYSTEMS AND METHODS OF ANALYTE MEASUREMENT ANALYSIS", filed on December 14, 2017 (which is hereby incorporated by reference in its entirety). Additionally or alternatively, the machine learning model for the label machine learning model 120 described herein may not conflict with any generation model disclosed in U.S. Patent Application No. 18 / 517,640 (Attorney Docket No. 1518-024USU1) "SYSTEM AND APPARATUS FOR GENERATING IMAGING INFORMATION BASED ON AT LEAST A SIGNAL", filed on November 22, 2023 (which is hereby incorporated by reference in its entirety). In one embodiment, the label machine learning model 120 may be any combination of the machine learning models described herein. In such an embodiment, the time series label 116 may include the output from each of the plurality of machine learning models for the label machine learning model 120.
[0043] Referring further to FIG. 1, in some cases, the label machine learning model 120 and / or any machine learning model described herein may be executed remotely with respect to the processor 104, and the output may be transmitted to the processor 104 via one or more networks. For example, the label machine learning model 120 may be executed on a remote server and / or a remote device. The processor 104 may be configured to receive the output of the label machine learning model from the remote device and / or the remote server. The network may include, but is not limited to, a cloud network, a mesh network, and the like. As an example, the term "cloud-based" system as used herein refers to a system that stores, manages, and / or processes software and / or data on a network of remote servers hosted in the "cloud" via, for example, the Internet, rather than on a local server or a personal computer. The "mesh network" as used in the present disclosure refers to a local network topology in which the processor 104 is directly, dynamically, and non-hierarchically connected to as many other computing devices as possible. The "network topology" as used in the present disclosure refers to the arrangement of elements of a communication network.
[0044] Continuing to refer to FIG. 1, additionally or alternatively, the processor 104 may be configured to identify relevant data from the time series data 108 for the time series label 116. As used in this disclosure, "relevant data" refers to a portion of the time series data that may be of interest for consideration by a medical professional. Relevant data may be examined and used by a medical professional to evaluate a health condition, diagnose a disease, monitor a health condition, or understand the functions of a patient's body. Further, relevant data may indicate potential problems related to the health of the person and / or patient associated with the time series data 108. In one embodiment, the label machine learning model 120 and / or any other machine learning model described herein may be configured to identify relevant data from the time series data 108 for the time series label 116. The input to the label machine learning model 120 may include the time series data 108, ECG data, and the like. The output from the label machine learning model 120 may include the relevant data identified from the time series data 108. The label training data may include a plurality of data entries including a plurality of inputs correlated to a plurality of outputs for training the processor by a machine learning process. In one embodiment, the label training data may include a plurality of time series data as inputs correlated to examples of relevant data as outputs.
[0045] Referring to FIG. 1 still, the processor 104 may be configured to generate a machine learning model such as a label machine learning model using a naive Bayes classification algorithm. The naive Bayes classification algorithm generates a classifier by assigning class labels to problem instances represented as vectors of element values. The class labels are drawn from a finite set. The naive Bayes classification algorithm may include generating a family of algorithms that assume that the value of a particular element is independent of the values of other elements when a class variable is given. The naive Bayes classification algorithm may be based on Bayes' theorem represented by P(A / B)=P(B / A)P(A)÷P(B), where P(A / B) is the probability of hypothesis A when data B is given (also known as the posterior probability), P(B / A) is the probability of data B when hypothesis A is assumed to be true, P(A) is the probability that hypothesis A is true regardless of the data (also known as the prior probability of A), and P(B) is the probability of data that is independent of the hypothesis. The naive Bayes algorithm can be generated by first converting the training data into a frequency table. Next, the processor 104 can calculate a likelihood table by calculating the probabilities of different data entries and classification labels. The processor 104 may calculate the posterior probability for each class using the naive Bayes equation. The class containing the highest posterior probability becomes the prediction result. The naive Bayes classification algorithm may include a Gaussian model that follows a normal distribution. The naive Bayes classification algorithm may include a multinomial model used for discrete counts. The naive Bayes classification algorithm may include a Bernoulli model used when the vector is binary.
[0046] Referring still to FIG. 1, the processor 104 may be configured to generate a machine learning model, such as a diagnostic machine learning model, using a K-Nearest Neighbor (KNN) algorithm. The "K-Nearest Neighbor algorithm" as used in the present disclosure utilizes the similarity of features to analyze how similar the features outside the sample are to the training data, and includes a classification method for classifying the input data into one or more clusters and / or categories of features represented by the training data. This classification can be performed by representing both the training data and the input data in vector form, identifying the classification within the training data using one or more measurements of vector similarity, and determining the classification of the input data. The K-Nearest Neighbor algorithm may include specifying a K value, i.e., a numerical value that instructs the classifier to select the k entry training data that is most similar to a given sample, determining the most common classifier of the entries within the database, and classifying known samples. This may be performed recursively and / or iteratively to generate a classifier that can be used to classify the input data as a further sample. For example, an initial set of samples may be performed to cover an initial heuristic and / or "first guess" in the output and / or relationship, which may be seeded using, but not limited to, input from an expert received according to any of the processes described herein. As a non-limiting example, the initial heuristic may include ranking the relationships between the input and the elements of the training data. The heuristic may include selecting some of the highest-ranked relationships and / or training data elements.
[0047] Continuing to refer to FIG. 1, by generating a k-nearest neighbor algorithm, a first vector output including data entry clusters can be generated, a second vector output including input data can be generated, and the distance between the first vector output and the second vector output can be calculated using any suitable norm such as cosine similarity, Euclidean distance measurement, etc. Each vector output can be represented as, but is not limited to, an n-tuple of values, where n is at least two values. Each value of the n-tuple of values may represent a measured value or other quantitative value associated with a given category or attribute of the data, examples of which are described in more detail below. The vector may be represented in an n-dimensional space using axes for each category of values represented by the n-tuple, and thus the vector has a geometric direction that characterizes the relative amounts of the attributes within the n-tuple by comparing them to each other. Two vectors can be considered equivalent if their directions and / or the relative amounts of the values within each vector are the same when compared to each other. Thus, as a non-limiting example, a vector represented as [5, 10, 15] can be treated as equivalent to a vector represented as [1, 2, 3] for the purposes of the present disclosure. Vectors are more likely to be similar if their directions are more similar, and more likely to be different if their directions are more different. However, the similarity of vectors can alternatively or additionally be determined using, as described in more detail below, the average of the similarities between like attributes, or any other measurement of similarity suitable for any n-tuple of values, or a numerical similarity measurement aggregated for the purpose of a loss function. Any vector described herein may be scaled so that each vector represents each attribute along an equivalent scale of values. Each vector may be "normalized", or divided by a "length" attribute such as the length attribute l derived using the Pythagorean norm:
Number
[0048] Continuing to refer to FIG. 1, the processor 104 may generate a confidence score as a function that generates at least one time series label 116. The "label confidence score" used in this disclosure refers to a quantitative measure of the accuracy of the generation of at least one time series label 116. The accuracy of the generation of at least one time series label 116 may refer to the likelihood of an accurate diagnosis of a condition, disease, or problem experienced by a patient. The processor 104 may generate a confidence score for each time series label 116 assigned to the time series data. The processor 104 may calculate a label confidence score based on the similarity or dissimilarity between two time series labels 116 based on diagnostic features extracted from the time series data 108. Various similarity metrics can be employed, such as Euclidean distance, cosine similarity, Jaccard similarity, or any other suitable measure appropriate for the type of data being compared. The processor 104 may use the calculated similarity or dissimilarity value to generate a confidence score. This score may represent the confidence or certainty regarding the accuracy of the generated time series label 116. The score may be calculated based on statistical techniques, probability models, or decision rules based on the time series data and the extracted diagnostic features. The label confidence score may be used to normalize one or more time series labels 116 to an equivalent scale. Examples of normalization techniques include min-max scaling, z-score normalization, logarithmic transformation, etc. In one embodiment, if the time series label 116 is likely to be accurate, the label confidence score may be high, and conversely, if the time series label 116 is likely to be inaccurate, the label confidence score may be low. The label confidence score may be expressed as a numerical score, a linguistic value, an alphanumeric score, or an alphabetic score. The label confidence score may be represented as a score used to reflect the level of accuracy of the time series label. Non-limiting examples of numerical scores may include scales such as 1 to 10, 1 to 100, 1 to 1000, etc., where an evaluation of 1 may represent an inaccurate time series label and an evaluation of 10 may represent an accurate time series label. In another non-limiting example, linguistic values may include "highly accurate", "moderately accurate", "moderately inaccurate", "highly inaccurate", etc.In some embodiments, the language value may correspond to a numerical score range. For example, a time series label that obtains a score in the range of 50 to 75 on a scale of 1 to 100 may be regarded as "moderately accurate".
[0049] Continuing to refer to FIG. 1, the processor 104 may be configured to determine at least one recommended data 124 as a function of at least one time series label 116. As used in this disclosure, "recommended data" refers to data related to recommendations regarding the potential user's medical condition or health problems. The processor 104 may generate recommended data 124 as a function of the time series data 108 and at least one time series label 116. In an exemplary embodiment, the recommended data 124 may be a recommended measure used to diagnose and / or confirm a condition or suspected disease that the patient is suspected of having, based on at least one time series label 116 and the time series data associated therewith. In some embodiments, at least one recommended data 124 may include a first recommended data and a second recommended data. In some embodiments, the first recommended data may be related to a first time series label, and the second recommended data may be related to a second time series label. In some embodiments, the first recommended data may be generated using the first time series label. In some embodiments, the first recommended data may be generated using the second time series label. For example, the recommended data 124 may include recommendations for follow-up such as a stress test, an echocardiogram, etc. Further, the recommended data 124 may include recommendations for adjusting the patient's diet to improve the patient's health. For example, the recommended data 124 may include recommendations for adjusting the patient's diet to reduce saturated fat and trans fat, increase the intake of healthy fats, and increase the intake of lean protein. Further, the recommended data 124 may include changes to physical activity. For example, the recommended data 124 may include recommendations to increase the user's physical activity to at least 150 minutes of moderate-intensity aerobic exercise per week, or 75 minutes of high-intensity aerobic exercise, etc.
[0050] Referring still to FIG. 1, the processor 104 may be configured to generate at least one recommendation data 124 using a recommendation machine learning model 128. As used in the present disclosure, the "recommendation machine learning model" refers to a machine learning model configured to generate recommendation data based on time series data 108 and / or related time series labels 116. The recommendation machine learning model 128 may not conflict with the machine learning models described herein and in FIG. 2 below. The input to the recommendation machine learning model 128 may include time series data 108, ECG data, time series label data, and the like. The output from the recommendation machine learning model may include recommendation data adapted to the time series data 108 and / or the time series label 116. The recommendation training data may include a plurality of data entries including a plurality of inputs correlated to a plurality of outputs for training the processor by a machine learning process. In one embodiment, the recommendation training data may include a plurality of time series data and time series labels as inputs correlated to an example of recommendation data as an output. The recommendation training data may be received from a database. In one embodiment, the pain training data may be iteratively updated as a function of the input and output results of past iterations of the recommendation machine learning model 128 or any other machine learning model referred to throughout the present disclosure. The recommendation machine learning model 128 may be implemented using, but not limited to, linear machine learning models such as logistic regression and / or naive Bayes machine learning models, nearest neighbor machine learning models such as k-nearest neighbor machine learning models, support vector machines, least squares support vector machines, Fisher's linear discriminant, quadratic machine learning models, decision trees, boosting trees, random forest machine learning models, and the like.
[0051] Continuing to refer to FIG. 1, in a non-limiting example, the recommended machine learning model 128 may include a plurality of machine learning models. In one embodiment, the machine learning model for the recommended machine learning model 128 described herein may not conflict with any of the recommended models in U.S. Patent Application No. 16 / 754,007 (Attorney Docket No. 1518-001USU1) "ECG-BASED CARDIAC EJECTION-FRACTION SCREENING", filed Apr. 6, 2020, which is hereby incorporated by reference in its entirety. In a further non-limiting example, additionally or alternatively, the machine learning model for the recommended machine learning model 128 described herein may not conflict with any of the recommended models disclosed in U.S. Patent Application No. 17 / 275,276 (Attorney Docket No. 1518-002USU1) "NEURAL NETWORKS FOR ATRIAL FIBRILLATION SCREENING", filed Mar. 11, 2021, which is hereby incorporated by reference in its entirety. In another non-limiting example, additionally or alternatively, the machine learning model for the recommended machine learning model 128 described herein may not conflict with any of the recommended models disclosed in U.S. Patent Application No. 18 / 151,673 (Attorney Docket No. 1518-003USU1) "NONINVASIVE METHODS FOR QUANTIFYING AND MONITORING LIVER DISEASE SEVERITY", filed Jan. 9, 2023, which is hereby incorporated by reference in its entirety. Additionally or alternatively, the machine learning model for the recommended machine learning model 128 described herein may not conflict with any of the recommended models disclosed in International Application No. PCT / US2023 / 020362 (Attorney Docket No. 1518-004PCT1) "ARTIFICIAL INTELLIGENCE ENHANCED SCREENING FOR CARDIAC AMYLOIDOSIS BY ELECTROCARDIOGRAPHY", filed Apr. 28, 2023, which is hereby incorporated by reference in its entirety.Additionally or alternatively, the machine learning model for the recommended machine learning model 128 described herein may not conflict with any recommended model disclosed in International Application No. PCT / US2022040362 (Attorney Docket No. 1518-010PCT1) “MACHINE-LEARNING FOR PROCESSING LEAD-INVARIANT ELECTROCARDIGRAM INPUTS” filed on August 30, 2023, which is hereby incorporated by reference in its entirety. Additionally or alternatively, the machine learning model for the recommended machine learning model 128 described herein may not conflict with any recommended model disclosed in U.S. Patent Application No. 13 / 810,064 (Attorney Docket No. 1518-012USU1) “NON-INVASIVE MONITORING OF PHYSIOLOGICAL CONDITIONS” filed on March 29, 2013, which is hereby incorporated by reference in its entirety. Additionally or alternatively, the machine learning model for the recommended machine learning model 128 described herein may not conflict with any recommended model disclosed in U.S. Patent Application No. 15 / 778,405 (Attorney Docket No. 1518-013USU1) “PROCESSING PHYSIOLOGICAL ELECTRICAL DATA FOR ANALYTE ASSESSMENTS” filed on May 23, 2018, which is hereby incorporated by reference in its entirety. Additionally or alternatively, the machine learning model for the recommended machine learning model 128 described herein may not conflict with any recommended model disclosed in U.S. Patent Application No. 15 / 842,419 (Attorney Docket No. 1518-014USU1) “SYSTEMS AND METHODS OF ANALYTE MEASUREMENT ANALYSIS” filed on December 14, 2017, which is hereby incorporated by reference in its entirety.Additionally or alternatively, the machine learning model for the recommended machine learning model 128 described herein may not conflict with any recommendation model disclosed in U.S. Patent Application No. 18 / 517,640 (Attorney Docket No. 1518-024USU1) "SYSTEM AND APPARATUS FOR GENERATING IMAGING INFORMATION BASED ON AT LEAST A SIGNAL", filed on November 22, 2023, which is hereby incorporated by reference in its entirety.
[0052] Referring further to FIG. 1, in one embodiment, the recommendation data may include affliction data. As used in this disclosure, "affliction data" refers to data that identifies the state or diagnosis of a disease that a user is suffering from based on the user's known conditions / symptoms. In non-limiting examples, anomalies in the time series data 108 and / or associated time series labels 116 may indicate the presence of abnormal rhythms (arrhythmias) such as atrial fibrillation or ventricular tachycardia. The associated data may be extracted from the time series data 108 and / or associated time series labels 116 (peaks, trends, statistical metrics, etc.). These features may help characterize the affliction data. In one embodiment, algorithms and machine learning techniques can be applied to recognize patterns and anomalies in the data. For example, identifying an irregular heart rhythm. The processor 104 may be configured to compare the collected time series data 108 and / or associated time series labels 116 with reference data or established criteria to evaluate whether the time series data 108 and / or associated time series labels 116 are within the expected range. The processor 104 may use special diagnostic algorithms that consider multiple parameters and past data to perform an evaluation based on the information. These algorithms can be based on clinical guidelines or knowledge of a particular area.
[0053] Continuing to refer to FIG. 1, the processor 104 may be configured to generate at least one pain data using a pain machine learning model. As used in this disclosure, the "pain machine learning model" refers to a machine learning model configured to generate pain data based on time series data 108 and / or related time series labels 116. The pain machine learning model may not conflict with the machine learning models described in this specification and FIG. 2 below. The input to the pain machine learning model may include time series data 108, ECG data, time series label data, etc. The output from the pain machine learning model may include pain data matched to the time series data 108 and / or the time series labels 116. The pain training data may include a plurality of data entries including a plurality of inputs correlated to a plurality of outputs for training the processor by a machine learning process. In one embodiment, the pain training data may include a plurality of time series data and time series labels as inputs correlated to an example of pain data as an output. The pain training data may be received from a database. In one embodiment, the pain training data may be iteratively updated as a function of the input and output results of past iterations of the pain machine learning model or any other machine learning model referred to throughout this disclosure. The machine learning model may be implemented using, but not limited to, linear machine learning models such as logistic regression and / or naive bayes machine learning models, nearest neighbor machine learning models such as k-nearest neighbor machine learning models, support vector machines, least squares support vector machines, fisher's linear discriminant, quadratic machine learning models, decision trees, boosting trees, random forest machine learning models, etc.
[0054] Continuing to refer to FIG. 1, the processor 104 may be configured to generate at least one pain data using a pain machine learning model. As used in this disclosure, the "pain machine learning model" refers to a machine learning model configured to generate pain data based on time series data 108 and / or related time series labels 116. The pain machine learning model may not conflict with the machine learning models described in this specification and FIG. 2 below. The input to the pain machine learning model may include time series data 108, ECG data, time series label data, etc. The output from the pain machine learning model may include pain data matched to the time series data 108 and / or the time series labels 116. The pain training data may include a plurality of data entries including a plurality of inputs correlated to a plurality of outputs for training the processor by a machine learning process. In one embodiment, the pain training data may include a plurality of time series data and time series labels as inputs correlated to an example of pain data as an output. The pain training data may be received from a database. In one embodiment, the pain training data may be iteratively updated as a function of the input and output results of past iterations of the pain machine learning model or any other machine learning model referred to throughout this disclosure. The machine learning model may be executed using, but not limited to, linear machine learning models such as logistic regression and / or naive bayes machine learning models, nearest neighbor machine learning models such as k-nearest neighbor machine learning models, support vector machines, least squares support vector machines, fisher's linear discriminant, quadratic machine learning models, decision trees, boosting trees, random forest machine learning models, etc.
[0055] Referring further to FIG. 1, the processor 104 may determine at least one recommended data 124 using a look-up table. For the purposes of the present disclosure, a "look-up table" refers to a data structure that associates input values with output values, such as, but not limited to, an array of data. The look-up table may be used to replace runtime calculations, such as array indexing operations, with indexing operations. The look-up table may be configured to pre-compute data and store it in static program storage, may be computed as part of the program initialization phase, or may be stored in hardware on an application-specific platform. The data in the look-up table may include past examples of recommended data 124 compared to time series data 108, time series label data, and / or other data related to the user. The data in the look-up table may be received from the database 400. The look-up table may also be used to identify the recommended data 124 by matching the input value with the output value by comparing the input value with a list of valid (or invalid) items in the array. In a non-limiting example, the look-up table may examine the user's time series data and / or time series labels as input and output recommended data 124 indicating what the user should follow up on in a load test. The processor 104 may be configured to "look up" or input one or more time series data 108, time series labels 116, demographic data, etc. The output of the look-up table may constitute the recommended data 124. The data from the look-up table may be compared to examples of the recommended data 124 using, for example, but not limited to, string comparison, numerical comparison such as subtraction operations, etc.
[0056] Referring still to FIG. 1, additionally or alternatively, determining at least one recommended data 124 may include generating a recommendation score for each recommended data 124. For the purposes of the present disclosure, a "recommendation score" refers to a quantified criterion representing the necessity of the recommended data. In one embodiment, the recommendation score may include ranking on a scale of five stars, 1 to 10, a percentage score, and the like. Alternatively or additionally, the recommendation score may be, but is not limited to, an alphabetical score such as "A+", "A", "A-", "B+", "B", "B-", "C+", "C", "C-", "D+", "D", "D-", "F". In some cases, the recommendation score may be manually scored by a medical expert as described herein. In other cases, the recommendation score is determined by the processor 104 considering various data such as time series data 108, electronic health record data related to the patient, lifestyle factors, and other relevant health metrics, and may be generated through one or more scoring algorithms or models, such as, but not limited to, the machine learning models described herein. As a non-limiting example, the higher the recommendation score, the higher the necessity of the associated recommended data may be indicated. For example, if the recommendation score related to a stress test is "84", it may indicate a high necessity for follow-up by a stress test. In a further exemplary embodiment, a recommendation score of "54" related to an echocardiogram may indicate that the necessity of the echocardiogram for that patient is lower than the necessity of a stress test. Alternatively or additionally, a fuzzy inference system may be employed to determine the recommendation score, in which part or all of the recommendation score may be represented as values of linguistic variables and / or fuzzy sets that measure it. The inference system can output a defuzzified value indicating one or more linguistic variable values and / or recommendation scores using one or more fuzzy inference rules, as will be described later with respect to FIG. 6.
[0057] Continuing to refer to FIG. 1, the processor 104 may generate a recommendation confidence score as a function of the recommended machine learning model and as a function of the generation of the recommendation data. As used in this disclosure, the "recommendation confidence score" refers to a quantitative measurement of the accuracy of the generation of the recommendation data 124. The accuracy of the assignment of the recommendation data 124 may refer to the likelihood that the recommendation for the patient is accurately generated. The processor 104 may generate a recommendation confidence score for each piece of recommendation data 124. The processor 104 may calculate the recommendation confidence score based on the similarity or dissimilarity between the recommendation data generated based on the time series data. Various similarity metrics can be employed, such as Euclidean distance, cosine similarity, Jaccard similarity, or any other suitable measurement appropriate for the type of data being compared. The processor 104 may use the calculated similarity or dissimilarity value to generate the recommendation confidence score. This score may represent the confidence or certainty regarding the accuracy of the generation of the recommendation data 124. The score may be calculated based on statistical techniques, probability models, or decision rules based on the time series data and / or the time series labels 116. The recommendation confidence score may be used to normalize one or more generated recommendation data to an equivalent scale. Normalization techniques include min-max scaling, z-score normalization, logarithmic transformation, etc. In one embodiment, if the generation of the recommendation data 124 is likely to be accurate, the recommendation confidence score may be high, and conversely, if the generation of the recommendation data 124 is likely to be inaccurate, the recommendation confidence score may be low. The confidence score may be expressed as a numerical score, a linguistic value, an alphanumeric score, or an alphabetic score. The recommendation confidence score may be represented as a score used to reflect the level of accuracy of the generation of the recommendation data 124. Non-limiting examples of numerical scores include scales such as 1 to 10, 1 to 100, 1 to 1000, etc., where an evaluation of 1 may represent inaccurate recommendation data and an evaluation of 10 may represent accurate recommendation data. In another non-limiting example, linguistic values may include "highly accurate", "moderately accurate", "moderately inaccurate", "highly inaccurate", etc. In some embodiments, the linguistic values may correspond to numerical score ranges.For example, recommended data that has obtained a score of 50 to 75 on a scale of 1 to 100 may be regarded as "moderately accurate".
[0058] Referring still to FIG. 1, the processor 104 may be configured to compare each recommended score with a threshold recommended score. As used in the present disclosure, the "threshold recommended score" refers to a predefined level of the need for recommended data for a patient. In an exemplary embodiment, the threshold recommended score may be any calculated value or a predetermined value. The threshold recommended score may function as a cut-off point or boundary above which the generated recommended data can be associated with the patient. In one embodiment, when the recommended score exceeds the threshold pain score, the recommended data is considered accurate and relevant. Conversely, if the recommended score is below this threshold, the prediction is judged to be of low relevance and further review and manual intervention may be warranted. For example, the threshold pain score may be "75" to limit pain data to conditions and / or diseases that the patient is likely to suffer from.
[0059] Continuing to refer to FIG. 1, additionally or alternatively, generating a recommended score may include generating a pain score. For the purposes of the present disclosure, a "pain score" refers to a quantified criterion representing an assessment of the likelihood of the presence of a condition or suspected disease that a patient is suspected of experiencing. In one embodiment, the pain score may include ranking on a five-star, 1-10 scale, percentage score, etc. Alternatively or additionally, the pain score may be an alphabetical score such as, but not limited to, "A+", "A", "A-", "B+", "B", "B-", "C+", "C", "C-", "D+", "D", "D-", "F". In some cases, the pain score may be manually scored by a medical professional as described herein. In other cases, the pain score is determined by the processor 104 considering various data such as time series data 108, time series labels 116, electronic health record data related to the patient, lifestyle factors, and other relevant health metrics, and may be generated through one or more scoring algorithms or models such as, but not limited to, the machine learning models described herein. In a non-limiting example, the higher the pain score, the higher the likelihood of suspected pain. For example, a pain score of "90" related to coronary artery disease may indicate a high likelihood of the presence of coronary artery disease in the patient. In a further exemplary embodiment, a recommended score of "48" related to heart failure may indicate a lower likelihood that the patient is experiencing heart failure than the likelihood of the presence of coronary artery disease in the patient. Alternatively or additionally, a fuzzy inference system may be employed to determine the pain score, in which some or all of the pain score may be represented as values of linguistic variables and / or fuzzy sets that measure it. The inference system can output defuzzified values indicating one or more linguistic variable values and / or pain scores using one or more fuzzy inference rules, as described later with respect to FIG. 6.
[0060] Referring still to FIG. 1, the processor 104 may be configured to compare each pain score to a threshold pain score. As used in the present disclosure, the "threshold pain score" refers to a predefined level of the probability that a patient is suffering from a suspected condition and / or a suspected disease. In an exemplary embodiment, the threshold pain score may be any calculated value or a predetermined value. The threshold pain score may function as a cut-off point or boundary above which the generated pain data may be associated with the patient. In one embodiment, when the pain score exceeds the threshold pain score, the pain data is considered to be accurate and relevant. Conversely, if the pain score is below this threshold, the prediction is determined to be of low relevance and further review and manual intervention may be warranted. For example, the threshold pain score may be "70" to limit the pain data to suspected conditions and / or suspected diseases with a high likelihood of the patient being affected.
[0061] Continuing to refer to FIG. 1, the processor 104 may be configured to generate a time series model 132 as a function of the time series data 108. As used in this disclosure, a "time series model" refers to a visual representation of information that conveys aspects of time series data. A time series model may refer to any type of data that is visually represented by a graphical representation, such as a chart, graph, diagram, map, or other visual aid. Such visual representations can be used to represent complex data and convey information in an understandable way. The time series model 132 may take various forms depending on the type of data presented and the intended audience. For example, a line graph may be used to show the trend of a particular data set over time, and a pie chart may be used to display the distribution of different categories within a larger data set. Other types of the time series model 132 may include a bar graph, scatter plot, heat map, network diagram, and the like. The time series model 132 may include a graphical representation of one or more elements of the time series data 108 and / or the time series label 116. In some embodiments, the time series model 132 may include plotting the time series data 108 and / or the time series label 116 along a continuum. As used in this disclosure, a "continuum" refers to a spectrum or range of values, qualities, or attributes that exist along a single dimension or scale. A continuum may represent a continuous progression from one extreme to another and may not have distinct boundaries or individual categories. In a continuum, there are no distinct branch points or segments; instead, there is a gradual transition or progression from one end to the other. In some embodiments, a continuum may represent qualitative characteristics that exist on a spectrum. By way of non-limiting example, a continuum may represent one or more characteristics associated with the time series data 108 and / or the time series label 116. The graphical data may include multiple continua, each representing an additional feature or characteristic of the representation. In some embodiments, multiple continua may be combined to generate an XY plot or an XYZ plot. The processor 104 may be configured to add labels to the axes, a title, a legend, and other visual elements that provide context to the graphical data.Processor 104 may further be configured to customize the appearance of data points, lines, or other graphical elements. The graphical data processor 104 may be configured to arrange the time series data 108 and / or the time series labels 116 in an appropriate format for plotting. In a non-limiting example, this may include having two sets of values, an independent variable (x - value) representing a continuum or range, and a dependent variable (y - value) representing the corresponding aspect of the time series data 108 and / or the time series labels 116. The processor 104 can identify and implement a plotting library for generating the time series model 132. Examples of plotting libraries may include, but are not limited to, Matplotlib for Python, ggplot for R, Plotly for JavaScript (registered trademark), etc. The processor 104 may pass the x and y values to the functions of the plotting library for creating a line graph. Thereby, a plot having data points representing various aspects of the time series data 108 and / or the time series labels 116 along the continuum is generated.
[0062] Continuing to refer to FIG. 1, the processor 104 may be configured to create a data structure for the user interface. As used in this disclosure, a "data structure for the user interface" refers to a data structure representing a special format of data on a computer that is configured such that information is effectively displayed on the user interface. The data structure for the user interface may include a plurality of components. In some cases, the data structure for the user interface may further include the time series labels 116, the time series model 132, etc. In some cases, the data structure for the user interface may further include any data as described in this disclosure. The processor 104 may be configured to generate the data structure for the user interface using any combination of data as described in this disclosure.
[0063] Continuing to refer to FIG. 1, the processor 104 may be further configured to transmit the data structure of the user interface. Transmitting may include, but is not limited to, transmitting using a wired or wireless connection, direct or indirect transmission, and transmission between two or more components, circuits, devices, systems, etc., enabling the reception and / or transmission of data and / or signals therebetween. The data and / or signals therebetween may include, but are not limited to, particularly electrical, electromagnetic, magnetic, video, audio, wireless, and microwave data and / or signals, combinations thereof, etc. The processor 104 may transmit the above data to a database, and the data may be accessed from the database. The processor 104 may further transmit the above data to the display of the device or to another computing device such as the display device 136 described below.
[0064] Referring still to FIG. 1, the processor 104 may be configured to display the time series model 132 using the display device 136. As used in the present disclosure, the "display device" refers to a device used to display content. The display device 136 may include a user interface 140. As used herein, the "user interface" refers to a means for a user and a computer system to interact, for example, using an input device or software. In some cases, the time series model and / or other data described herein, such as the time series data 108, the time series label 116, but not limited thereto, may also be displayed via the display device 136 using the user interface 140. The user interface may include a graphical user interface (GUI), a command line interface (CLI), a menu-driven user interface, a touch user interface, a voice user interface (VUI), a form-based user interface, any combination thereof, and the like. The user interface may include a smartphone, a smart tablet, a desktop, or a laptop operated by a user. In one embodiment, the user interface may include a graphical user interface. As used herein, the "graphical user interface (GUI)" refers to a graphical form of user interface that enables a user to interact with an electronic device. In some embodiments, the GUI may include icons, menus, other visual indicators, or representations (graphics), voice indicators such as primary notations, and display information and related user controls. The menu may include a list of options and allow the user to select one of them. The menu bar may be horizontally displayed across the screen like a pull-down menu. When any option in this menu is clicked, a pull-down menu may appear. The menu may include a context menu that appears only when the user performs a specific action. An example of this is pressing the right button of the mouse.When this is executed, a menu may be displayed under the cursor. Files, programs, web pages, etc. may be represented using small images of the graphical user interface. For example, links to a distributed platform as described in the present disclosure may be incorporated using icons. Since the icons can be accessed immediately by clicking, it may be faster to use icons to open a document or execute a program. The information included in the user interface may be directly affected using graphical control elements such as widgets. As used herein, a "widget" refers to a user control element that allows a user to control and change the appearance of an element of the user interface. In this context, a widget may refer to a general GUI element such as a checkbox, button, scroll bar, etc. and an instance of such an element, or a customized collection of elements used for a particular function or application (such as a dialog box for a user to customize the appearance of a computer screen). User interface controls may include software components that interact by direct manipulation by the user to read or edit information displayed through the user interface. Widgets may be used to display a list of related items, navigate the system using links and tabs, or manipulate data using checkboxes, radio boxes, etc.
[0065] Referring further to FIG. 1, in one embodiment, the user interface 140 may include one or more graphical locators and / or cursor functions that enable a user to interact with the time series data 108, the time series labels 116, and / or any other data, as well as the processes described herein. For example, without limitation, by using a touch screen, a touch pad, a mouse, a keyboard, and / or other manual data input devices, the user may enter user entries including selection of a specific area, addition of comments, adjustment of parameters, and the like. In one embodiment, the user may be a medical professional. As used in this disclosure, a "medical professional" refers to an individual who has received education, training, and licensing in the medical field and whose primary responsibility is to provide medical care to patients. For example, the medical professional may be a physician, a cardiologist, a nurse, a physician assistant, or the like. Additionally or alternatively, the user input may include a user selection of at least a portion of the time series data and user annotations for each portion of at least a portion of the time series data. As used in this disclosure, an "annotation" refers to an information label, metadata, or the like added to any data by a medical professional, as described herein.
[0066] Referring still to FIG. 1, the processor 104 is configured to overlay at least one piece of recommendation data 124 onto the time series model 132. As used in this disclosure, "overlay" refers to superimposing additional information on a visual representation of a physical model or a digital model. In an exemplary embodiment, the time series label 116, the recommendation data 124, the pain data, the recommendation score, the pain score, or any other data described herein may be overlaid and visualized on the time series model 132. Additionally or alternatively, each of the time series label 116, the recommendation data 124, the pain data, the recommendation score, and the pain score may be overlaid on a part of the time series model 132 associated with a part of the time series data 108 used for the time series label 116, the recommendation data 124, the pain data, the recommendation score, and the pain score, etc. For example, the processor 104 may be configured to highlight a part of the time series model 132 by surrounding a relevant part of the time series model and any of the overlaid recommendation data 124, pain data, recommendation score, pain score for the relevant part of the time series model 132 with a circle.
[0067] Referring now to FIG. 2, an exemplary embodiment 200 of the time series model described in the present disclosure is shown. As shown in FIG. 2, the exemplary embodiment 200 of the time series model may include time series data 204. The time series data 204 may be any time series data that does not conflict. Additionally or alternatively, the exemplary embodiment 200 of the time series model may include a first time series label 208a and a second time series label 208b. The first time series label 208a and the second time series label 208b may be any time series labels that do not conflict with those described herein. In one embodiment, the first time series label 208a and the second time series label may be generated using a first label machine learning model and a second machine learning model of the label machine learning model described herein. Additionally or alternatively, the exemplary embodiment 200 of the time series model may include a first time series label 208a and a second time series label 208b generated by one machine learning model of the label machine learning model. Additionally or alternatively, the exemplary embodiment 200 of the time series model may include user annotations 212. The user annotations 212 may be any user annotations described herein. Additionally or alternatively, the exemplary embodiment 200 of the time series model may include patient data 216. The patient data may be any patient data described herein.
[0068] Referring now to FIG. 3, an exemplary embodiment of a machine learning module 300 capable of executing one or more machine learning processes as described in this disclosure is illustrated. The machine learning module may use machine learning processes to perform steps, methods, processes, etc. of determination, classification, and / or analysis as described in this disclosure. As used in this disclosure, a "machine learning process" is a process that automatically uses training data 304 to generate hardware or software logic, data structures, and / or algorithms instantiated in functions that produce an output 308 when data is provided as an input 312, which is contrasted with a non-machine learning software program where the commands to be executed are pre-determined by a user and described in a programming language.
[0069] Referring still to FIG. 3, as used herein, "training data" refers to data including correlations that can be used by a machine learning process to model relationships between two or more categories of data elements. For example, but not limited to, the training data 304 may include a plurality of data entries, also known as "training examples", each entry representing a set of data elements that were recorded, received, and / or generated together, and the data elements can be correlated by, for example, their shared presence in a given data entry, their proximity in a given data entry, etc. The plurality of data entries of the training data 304 may exhibit one or more trends in the correlations between categories of data elements. For example, but not limited to, a high value of a first data element belonging to a first category of data elements tends to correlate with a high value of a second data element belonging to a second category of data elements, indicating the possibility of a proportional or other mathematical relationship linking the values belonging to the two categories. The plurality of categories of data elements can be associated in the training data 304 according to various correlations. A correlation can indicate a causal link and / or a predictive link between categories of data elements and can be modeled as a relationship, such as a mathematical relationship, by a machine learning process, as will be described in more detail below. The training data 304 may be formatted and / or organized for each category of data elements, for example, by associating the data elements with one or more descriptors corresponding to the categories of data elements. As a non-limiting example, the training data 304 can include data input into a standardized form by a person or a process such that the input of a given data element in a given field of the form is mapped to one or more descriptors of a category. The elements of the training data 304 may be linked to the descriptors of the category by tags, tokens, or other data elements.For example, but not limited to, the training data 304 may be provided in a format that links the positions of data, such as a fixed-length format, a comma-separated values (CSV) format, and / or a self-describing format such as Extensible Markup Language (XML), JavaScript (registered trademark) Object Notation (JSON), enabling a process or device to detect the categories of the data.
[0070] Alternatively or additionally, still referring to FIG. 3, the training data 304 may include one or more uncategorized elements. That is, the training data 304 may not be formatted for or include descriptors for some elements of the data. Machine learning algorithms and / or other processes may sort the training data 304 according to one or more categorizations, for example, using natural language processing algorithms, tokenization, detecting correlation values in RAW data, etc. Categories may be generated using correlation relationships and / or other processing algorithms. As a non-limiting example, in a corpus of text, phrases that make up "n" compound words such as nouns modified by other nouns may be identified according to the statistically significant prevalence of the n-grams that contain such words in a particular order. Such n-grams may be categorized as elements of a language such as "words" that are tracked like single words, and new categories are generated as a result of statistical analysis. Similarly, in a data entry containing text data, a person's name may be identified by referring to a list, dictionary, or other glossary, enabling ad-hoc categorization by a machine learning algorithm and / or automatic association of the data in the data entry with descriptors or a given format. The ability to automatically categorize data entries allows the same training data 304 to be applicable to two or more different machine learning algorithms, as will be described in more detail below. The training data 304 used by the machine learning module 300 can correlate any input data as described in this disclosure with any output data as described in this disclosure.
[0071] Referring further to FIG. 3, the training data may be filtered, sorted, and / or selected using one or more supervised and / or unsupervised machine learning processes and / or models, as will be described in further detail below, such models may include, but are not limited to, a training data classifier 316. The training data classifier 316 can include a "classifier", which, as used in the present disclosure, represents and / or uses, for example, a mathematical model, neural network, or program generated by a machine learning algorithm known as a "classification algorithm", as will be described in further detail below, such as a data structure of a machine learning model as defined below. The classification algorithm sorts the input into categories or bins of data and outputs the categories or bins of data and / or labels associated therewith. The classifier may be configured to output at least one data that labels or otherwise identifies a set of data, such as clustered data where proximity is found under a distance metric as described below. The distance metric can include any norm, such as, but not limited to, the Pythagorean norm. The machine learning module 300 may generate a classifier using a classification algorithm defined as a process by which a computing device and / or any module and / or component operating on the computing device derives the classifier from the training data 304. Classification may be performed using, but not limited to, linear classifiers such as logistic regression and / or naive Bayes classifiers, nearest neighbor classifiers such as k-nearest neighbor classifiers, support vector machines, least squares support vector machines, Fisher's linear discriminant, quadratic classifiers, decision trees, boosting trees, random forest classifiers, learning vector quantization, and / or neural network-based classifiers. By way of non-limiting example, the training data classifier 316 can classify time series data 108 correlated to examples of a plurality of time series labels 124.
[0072] Referring further to FIG. 2, the training examples used as training data can be selected from a population of potential examples according to cohorts related to the analytical problems to be solved, classification tasks, etc. Alternatively or additionally, the training data may be selected to span situations or sets of inputs that the machine learning model and / or process are likely to encounter when deployed. For example, without limitation, for each category of input data to a machine learning process or model that may exist within a range of values in a population of phenomena such as images, user data, processing data, physical data, etc., a computing device, processor, and / or machine learning model can select training examples representing each possible value on such a range, and / or representative samples of values on such a range. The selection of representative samples can include, for example, selecting training examples at a rate consistent with the distribution of such values statistically determined and / or predicted according to relative frequencies such that values that occur more frequently in the population of analyzed data are represented by more training examples than values that occur less frequently. Alternatively or additionally, a set of training examples can be compared to a collection of representative values in a database and / or presented to a user, and processing may be enabled to detect one or more values not included in the set of training examples automatically or via user input. A computing device, processor, and / or module may automatically generate missing training examples. This may be done by receiving and / or obtaining missing input values and / or output values and associating the missing input values and / or output values with corresponding output values and / or input values coexisting in the data record with the obtained values provided by a user and / or other devices, etc.
[0073] Referring still to FIG. 3, a computer, processor, and / or module may be configured to sanitize training data. As used herein, “sanitizing” training data refers to the process of removing training examples that impede the convergence of a machine learning model and / or process to a useful result. For example, without limitation, a training example can include input and / or output values that are outliers from typically encountered values such that a machine learning algorithm using the training example would not be likely to encounter those amounts as inputs and / or outputs. For example, values that are greater than a threshold number of standard deviations away from an average, mean, or expected value may be removed. Alternatively or additionally, one or more training examples can be identified as having low-quality data, where “low-quality” is defined as having a signal-to-noise ratio below a threshold.
[0074] As a non-limiting example, further referring to FIG. 3, images used for training an image classifier or other machine learning model and / or a process that takes an image as input or generates an image as output may be rejected if the image quality is below a threshold. For example, but not limited to, a computing device, a processor, and / or a module may perform blur detection and can exclude one or more. Blur detection can be performed, as a non-limiting example, by taking an approximation such as a Fourier transform of the image or a fast Fourier transform (FFT) and analyzing the distribution of low and high frequencies in the frequency domain representation of the resulting image. The number of high frequency values below a threshold level may indicate a potential for blur. In a further non-limiting example, blur detection may be performed by convolving an image, an image channel, etc. with a Laplacian kernel, which may generate a numerical score that reflects the number of sharp changes in intensity shown in the image, where a high score indicates sharpness and a low score indicates blur. Blur detection can be performed using a gradient-based operator that measures an operator based on the gradient or first derivative of the image, based on the hypothesis that sharp changes indicate sharp edges in the image and thus a low degree of blur. Blur detection may be performed using a wavelet-based operator that utilizes the ability of the coefficients of a discrete wavelet transform to describe the frequency and spatial content of an image. Blur detection may be performed using a statistic-based operator that utilizes some image statistics as texture descriptors to calculate a focus level. Blur detection may be performed by using discrete cosine transform (DCT) coefficients to calculate the focus level of an image from its frequency content.
[0075] Continuing to refer to FIG. 3, the computing device, processor, and / or module may be configured to assume one or more training examples. For example, without limitation, if a machine learning model and / or process has one or more inputs and / or outputs that require, transmit, or receive a certain number of bits, samples, or other units of data, elements of one or more training examples used as or compared to the inputs and / or outputs may be modified to have such a unit number of data. For example, the computing device, processor, and / or module can convert a smaller number of units, such as an image with a low number of pixels, to the desired number of units, for example, by upsampling or interpolation. As a non-limiting example, an image with a low number of pixels may have 100 pixels, but the desired number of pixels may be 128 pixels. The processor can interpolate the low-pixel image to convert 100 pixels to 128 pixels. Also, those skilled in the art should note that upon reading this disclosure, various methods of interpolating a smaller number of data units such as samples, pixels, bits, etc. to the desired number of such units will be understood. In some examples, a set of interpolation rules can be trained by a neural network or other machine learning model trained to predict interpolated pixel values using a highly detailed input and / or output, a corresponding set of inputs and / or outputs downsampled to a smaller number of units, and training data. As a non-limiting example, sample inputs and / or outputs, such as a sample image having sample-expanded data units (e.g., pixels added between the original pixels), can be input into a neural network or machine learning model, and a pseudo-replica sample image with dummy values assigned to the pixels between the original pixels can be output based on the set of interpolation rules.As a non-limiting example, in the context of an image classifier, a machine learning model may have a high-definition image, a set of interpolation rules trained by a set of images downsampled to a smaller number of pixels, and a neural network or other machine learning model trained to use those examples to predict interpolated pixel values in the context of a face image. As a result, an input having a sample-expanded data unit (with dummy values added between the original data units) is executed through the trained neural network and / or model, and values can be filled in to replace the dummy values. Alternatively or additionally, a processor, computing device, and / or module may utilize a sample expander method, a low-pass filter, or both. As used in this disclosure, a "low-pass filter" refers to a filter that passes signals at frequencies lower than a selected cutoff frequency and attenuates signals at frequencies higher than the cutoff frequency. The exact frequency response of the filter depends on the filter design. A computing device, processor, and / or module may use averaging such as luma averaging or chroma averaging in an image to fill in data units between the original data units.
[0076] In some embodiments, continuing to refer to FIG. 3, a computing device, processor, and / or module can downsample elements of a training example to a desired fewer number of data elements. As a non-limiting example, an image with a high number of pixels may have 256 pixels, but the desired number of pixels may be 128 pixels. The processor can downsample the high-pixel-count image to convert 256 pixels to 128 pixels. In some embodiments, the processor may be configured to perform downsampling on the data. Downsampling, also known as decimation, may include removing every Nth entry in a sequence of samples, every Nth entry excepted, etc., which is a process known as "compression" and can be performed, for example, by an N-sample compressor implemented using hardware or software. Anti-aliasing and / or anti-imaging filters, and / or low-pass filters can be used to clean up side effects of the compression.
[0077] Referring still to FIG. 3, the machine learning module 300 may be configured to execute a delayed learning process 320 and / or protocol. This is alternatively a process in which machine learning is performed by combining an input and a training set and deriving an algorithm used to generate an output on demand when an input that is converted to an output, which may also be referred to as an "alternate delayed loading" or "call-when-needed" process and / or protocol, is received. For example, an initial set of simulations may be executed to cover initial heuristics and / or outputs and / or "first guesses" in the relationships. As a non-limiting example, the initial heuristics may include ranking the relevance between the input and elements of the training data 304. The heuristics may include selecting some of the highest-ranked relevance and / or training data 304 elements. Delayed learning may implement any suitable delayed learning algorithm, including but not limited to the K-nearest neighbor algorithm, the delayed naive Bayes algorithm, etc., and those skilled in the art, upon reviewing the entire disclosure, will recognize various delayed learning algorithms that may be applied to generate the outputs as described in the present disclosure, including but not limited to the delayed learning applications of machine learning algorithms as described in more detail below.
[0078] Alternatively or additionally, continuing to refer to FIG. 3, a machine learning process as described in this disclosure may be used to generate the machine learning model 324. As used in this disclosure, a "machine learning model" is a mathematical and / or algorithmic representation of the relationship between inputs and outputs, and / or an instantiated data structure, that is generated using any machine learning process, including but not limited to any of the processes described above, and stored in memory. Once created, the inputs are presented to the machine learning model 324, which generates an output based on the derived relationships. For example, without limitation, a linear regression model generated using a linear regression algorithm may calculate a linear combination of the input data using the coefficients derived during the machine learning process and compute the output data. As a further non-limiting example, the machine learning model 324 may be generated by creating an artificial neural network, such as a convolutional neural network, that includes an input layer of nodes, one or more intermediate layers, and an output layer of nodes. The connections between the nodes can be created during the process of "training" the network, in which elements from a set of training data 304 are applied to the input nodes and an appropriate training algorithm (such as Levenberg-Marquardt, conjugate gradient, simulated annealing, or other algorithms) is used to adjust the connections and weights between the nodes in adjacent layers of the neural network to generate the desired values at the output nodes. This process is sometimes referred to as deep learning.
[0079] Referring still to FIG. 3, the machine learning algorithm can include at least one supervised machine learning process 328. The at least one supervised machine learning process 328, as defined herein, receives a training set that associates a number of inputs with a number of outputs and attempts to generate one or more data structures that represent and / or instantiate one or more mathematical relationships that associate the inputs with the outputs, each of the one or more mathematical relationships being optimal according to some criterion specified for the algorithm using some scoring function. For example, the supervised learning algorithm may include time series data 108 as described above as an input, a plurality of time series labels 116 as an output, and a scoring function that represents the form of the desired relationship to be detected between the input and the output. The scoring function can, for example, attempt to maximize the probability that a given input and / or combination of elements of the input is associated with a given output and minimize the probability that a given input is not associated with a given output. The scoring function may be expressed as a risk function that represents the "expected loss" of the algorithm that associates the input with the output, where the loss is calculated as an error function that represents the degree to which the prediction generated by the relationship is inaccurate when compared to a given input-output pair provided in the training data 304. Those skilled in the art will recognize, upon considering the entirety of the present disclosure, various possible variations of the at least one supervised machine learning process 328 that can be used to determine the relationship between the input and the output. The supervised machine learning process can include the classification algorithm defined above.
[0080] Referring further to FIG. 3, the training of the supervised machine learning process may include, but is not limited to, iteratively updating coefficients, biases, and / or weights based on an error function, an expected loss, and / or a risk function. For example, the output generated by the supervised machine learning model using the input example of the training example may be compared with the output example from the training example, and the error function may be generated based on the comparison, which may include any error function suitable for use with any machine learning algorithm described in the present disclosure, such as the square of the difference between one or more sets of the compared values. Such an error function may be sequentially used to update one or more weights, biases, coefficients, or other parameters of the machine learning model through any suitable process, including, but not limited to, a gradient descent process, a least squares process, and / or other processes described in the present disclosure. This may be done iteratively and / or recursively to gradually adjust the weights, biases, coefficients, or other parameters. The update may be performed using one or more backpropagation algorithms in a neural network. The iterative and / or recursive update of the weights, biases, coefficients, or other parameters as described above may be performed until the currently available training data is exhausted and / or until a convergence determination is passed, where "convergence determination" refers to a determination of a condition selected to indicate that the model and / or its weights, biases, coefficients, or other parameters have reached a certain level of accuracy. The convergence determination may, for example, compare the difference between two or more consecutive errors or error function values, and a difference below a threshold may be considered to indicate convergence. Alternatively or additionally, one or more errors and / or error function values evaluated in the training iteration may be compared with a threshold.
[0081] Referring still to FIG. 3, a computing device, processor, and / or module may be configured to execute the methods, method steps, sequences of method steps, and / or algorithms described with reference to this figure in any order and to any degree of repetition. For example, a computing device, processor, and / or module may be configured to repeatedly execute a single step, sequence, and / or algorithm until a desired or commanded result is achieved. Repetition of a step or sequence of steps may be performed iteratively and / or recursively using, as input to a subsequent iteration, the output of a previous iteration, aggregating the inputs and / or outputs of the iteration to produce an aggregated result, decrementing or decrementing one or more variables such as global variables, and / or dividing a large processing task into a set of smaller processing tasks that are repeatedly addressed. A computing device, processor, and / or module may execute any step, sequence of steps, or algorithm in parallel, such as using two or more parallel threads, processor cores, etc., to execute steps simultaneously and / or more than twice substantially simultaneously, and the division of tasks between parallel threads and / or processes may be performed according to any protocol suitable for the division of tasks during iteration. One of ordinary skill in the art, upon reviewing the entirety of this disclosure, will recognize the various ways in which steps, sequences of steps, processing tasks, and / or data may be subdivided, shared, or otherwise processed using iteration, recursion, and / or parallel processing.
[0082] Referring further to FIG. 3, the machine learning process can include at least one unsupervised machine learning process 332. An unsupervised machine learning process, as used herein, is a process that derives inferences of a dataset without regard to labels, and as a result, the unsupervised machine learning process can freely discover any structure, relationship, and / or correlation provided in the data. An unsupervised machine learning process may not require a response variable, and the unsupervised machine learning process can be used to find interesting patterns and / or inferences between variables, to determine the degree of correlation between two or more variables, etc.
[0083] Referring still to FIG. 3, the machine learning module 300 may be designed and configured to create a machine learning model 324 using techniques for the development of a linear regression model. The linear regression model may include ordinary least squares regression that aims to minimize the sum of the squares of the differences between the predicted results and the actual results according to an appropriate norm (e.g., vector space distance norm) for measuring such differences. The coefficients of the resulting linear equation can be modified to improve the minimization. The linear regression model may include ridge regression, and the function to be minimized may include a term that multiplies the square of each coefficient by a scalar amount to impose a penalty on large coefficients in addition to the least squares function. The linear regression model may include a least absolute shrinkage and selection operator (lasso) model, in which ridge regression is combined with multiplying the coefficient 1 divided by twice the number of samples to the least squares term. The linear regression model may include a multi-task lasso model, and the norm applied to the least squares term of the lasso model is the Frobenius norm corresponding to the square root of the sum of the squares of all terms. The linear regression model may include an elastic net model, a multi-task elastic net model, a least angle regression model, a LARS lasso model, an orthogonal matching pursuit model, a Bayesian regression model, a logistic regression model, a stochastic gradient descent model, a perceptron model, a passive aggressive algorithm, a robust regression model, a Huber regression model, or other suitable models that may occur to those skilled in the art upon consideration of the present disclosure as a whole. In an embodiment, the linear regression model may be generalized to a polynomial regression model, whereby a polynomial (e.g., quadratic, cubic, or higher order) that provides the best fit of the predicted output / actual output is sought. As will be apparent to those skilled in the art upon consideration of the present disclosure as a whole, methods similar to those described above may be applied to minimize the error function.
[0084] Referring still to FIG. 3, the machine learning algorithm may include, but is not limited to, linear discriminant analysis. The machine learning algorithm may include quadratic discriminant analysis. The machine learning algorithm may include kernel ridge regression. The machine learning algorithm may include a support vector machine, including but not limited to regression processing based on support vector classification. The machine learning algorithm may include a stochastic gradient descent algorithm, including classification and regression algorithms based on stochastic gradient descent. The machine learning algorithm may include a nearest neighbor algorithm. The machine learning algorithm may include various forms of latent space regularization such as variational regularization. The machine learning algorithm may include a Gaussian process such as Gaussian process regression. The machine learning algorithm may include a cross-decomposition algorithm including partial least squares method and / or canonical correlation analysis. The machine learning algorithm may include a naive Bayes method. The machine learning algorithm may include a decision tree-based algorithm such as decision tree classification or regression algorithm. The machine learning algorithm may include an ensemble method such as a bagging meta-estimator, a random tree forest, AdaBoost, gradient tree boosting, and / or a voting classifier method. The machine learning algorithm may include a neural network algorithm including convolutional neural network processing.
[0085] Referring still to FIG. 3, the machine learning model and / or process may be deployed or instantiated by being incorporated into a program, apparatus, system, and / or module. For example, but not limited to, the machine learning model, neural network, and / or some or all of its parameters may be stored and / or deployed in any memory or circuit. Parameters such as coefficients, weights, and / or biases may be stored as circuit-based constants such as wires set to logic “1” and “0” voltage levels within a logic circuit and / or an array of binary inputs and / or outputs to represent numbers according to any suitable coding system including two's complement, or may be stored in any volatile memory and / or non-volatile memory. Similarly, mathematical operations and the input and / or output of data to and from models, neural network layers, etc. may be instantiated in hardware circuits and / or in the form of instructions in firmware, machine code such as binary arithmetic code instructions, assembly language, or any high-level programming language. To instantiate the machine learning process and / or model, any technique for instantiating memory, instructions, data structures, and / or algorithms in hardware and / or software can be used, including, but not limited to, the manufacture and / or configuration of non-reconfigurable hardware elements, circuits, and / or modules such as ASICs, the manufacture and / or configuration of reconfigurable hardware elements, circuits, and / or modules such as FPGAs, the manufacture and / or configuration of non-reconfigurable and / or non-rewritable memory elements, circuits, and / or modules such as non-rewritable ROMs, the manufacture and / or configuration of reconfigurable and / or rewritable memory elements, circuits, and / or modules such as rewritable ROMs or other memory technologies described in the present disclosure, and / or any combination of the manufacture and / or configuration of any computing device and / or its components as described in the present disclosure.Such deployed and / or instantiated machine learning models and / or algorithms can receive inputs from any other processes, modules, and / or components described in this disclosure and generate outputs for any other processes, modules, and / or components described in this disclosure.
[0086] Still referring to FIG. 3, for purposes of modifying, improving, and / or enhancing a machine learning model and / or algorithm, any process of training, retraining, deploying, and / or instantiating the machine learning model and / or algorithm may be performed and / or repeated after an initial deployment and / or instantiation. Such retraining, deployment, and / or instantiation may be performed as periodic or regular processes, for example, after a measure of quantity such as the number of bytes of processed data or other metric, the number of times of use or execution of the processes described in this disclosure, and / or according to a software, firmware, or other update schedule, as retraining, deployment, and / or instantiation at regular elapsed time intervals. Alternatively or additionally, retraining, deployment, and / or instantiation may be event-based and may be triggered, without limitation, by user input indicating sub-optimal or otherwise problematic performance and / or by an automated field test and / or audit process that may compare the machine learning model and / or algorithm and / or the output of its error and / or its error function to any threshold, convergence determination, etc., and / or may compare the output of the processes described herein to similar thresholds, convergence determinations, etc. Event-based retraining, deployment, and / or instantiation may alternatively or additionally be triggered by receipt and / or generation of one or more new training examples, and the number of new training examples may be compared to a preconfigured threshold, and if the preconfigured threshold is exceeded, retraining, deployment, and / or instantiation may be triggered.
[0087] Referring still to FIG. 3, retraining and / or additional training can be performed using any version of a machine learning model and / or algorithm currently or previously deployed as a starting point, using any process for the training described above. Training data for retraining can be collected, preprocessed, sorted, classified, sanitized, or otherwise processed according to any process described in this disclosure. The training data can include training examples that are used, received, and / or generated from any version of any system, module, machine learning model or algorithm, device, and / or method described in this disclosure, including inputs and correlated outputs, and such examples can be modified and / or labeled according to user feedback or other processes to indicate desired results, and / or have actual or measured results from a process modeled and / or predicted by a system, module, machine learning model or algorithm, device, and / or method as the "desired" results to be compared with the output for the training process as described above.
[0088] Redployment may be performed using any reconfiguration and / or rewriting of reconfigurable and / or rewritable circuits and / or memory elements. Alternatively, redployment may be performed by manufacturing new hardware and / or software components, circuits, instructions, etc., which may be added to existing hardware and / or software components, circuits, instructions, etc., and / or replace existing hardware and / or software components, circuits, instructions, etc.
[0089] Referring further to FIG. 3, one or more of the above-described processes or algorithms can be executed by at least one dedicated hardware unit 332. For the purposes of this figure, a "dedicated hardware unit" refers to a hardware component, circuit, etc. that is specifically designated or selected to perform one or more specific tasks and / or processes described with reference to this figure, such as, but not limited to, preconditioning and / or sanitizing training data, and / or training a machine learning algorithm and / or model, other than the main control circuit and / or processor that executes the method steps described in this disclosure. The dedicated hardware unit 332 may include a hardware unit that can efficiently execute iterative calculations or large-scale calculations, such as matrix-based calculations for updating or adjusting the parameters, weights, coefficients, and / or biases of a machine learning model and / or neural network, using pipeline processing, parallel processing, etc. Such a hardware unit may be optimized for such processing, for example, by including a dedicated circuit for matrix operations and / or signal processing operations that includes a plurality of arithmetic circuit units and / or logic circuit units, such as multipliers and / or adders that can operate, for example, simultaneously and / or in parallel. Such a dedicated hardware unit 332 may include, but is not limited to, a graphical processing unit (GPU), a dedicated signal processing module, an FPGA, or other reconfigurable hardware configured to instantiate parallel processing units for one or more specific tasks. A computing device, processor, apparatus, or module may be configured to direct one or more dedicated hardware units 332 to perform one or more operations described herein, such as evaluating model and / or algorithm outputs, making one-time or iterative updates to parameters, coefficients, weights, and / or biases, and / or performing any other operations, such as vector and / or matrix operations described in this disclosure.
[0090] Referring now to FIG. 4, an exemplary database 400 is shown in block diagram form. In one embodiment, any past or current version of any data disclosed herein, including but not limited to time series data 108, time series labels 116, training data, recommendation data 124, pain data, time series model 132, etc., can be stored within database 400. Processor 104 may be communicatively connected to database 400. For example, in some cases, database 400 may be local to processor 104. Alternatively or additionally, in some cases, database 400 may be remote to processor 104 and communicable with processor 104 via one or more networks. Networks can include, but are not limited to, cloud networks, mesh networks, etc. As an example, the term "cloud-based" system as used herein can refer to a system that includes software and / or data that is stored, managed, and / or processed on a network of remote servers hosted "in the cloud" via, for example, the Internet, rather than on a local server or personal computer. As used in this disclosure, a "mesh network" refers to a local network topology in which infrastructure processor 104 connects directly, dynamically, and non-hierarchically to as many other computing devices as possible. As used in this disclosure, "network topology" refers to the arrangement of the elements of a communication network. Database 400 can be implemented as, but is not limited to, a relational database, a key-value type database such as a NOSQL database, or any other form or structure that would be recognized by one of ordinary skill in the art as appropriate upon consideration of the entire disclosure. Database 400 can alternatively or additionally be implemented using a distributed data storage protocol and / or data structure such as a distributed hash table. Database 400 can include a plurality of data entries and / or records as described above.Data entries within a database may be flagged or linked to one or more additional information elements and may be reflected within the data entry cell and / or in linked tables such as tables associated by one or more indexes within a relational database. One of ordinary skill in the art, upon reviewing the entirety of this disclosure, will recognize the various ways in which data entries within a database can store, retrieve, organize, and / or reflect data and / or records, as used herein, as well as categories and / or populations of data that are consistent with this disclosure.
[0091] Referring now to FIG. 5, an exemplary embodiment of a neural network 500 is shown. A neural network 500, also known as an artificial neural network, is a network of "nodes" or data structures that have one or more inputs, one or more outputs, and a function that determines the output based on the inputs. Such nodes can be organized into a network, such as, but not limited to, a convolutional neural network that includes an input layer of nodes 504, one or more intermediate layers 508, and an output layer of nodes 512. The connections between the nodes can be created in the process of "training" the network, in which elements from a set of training data are applied to the input nodes and an appropriate training algorithm (such as Levenberg-Marquardt, conjugate gradient, simulated annealing, or other algorithms) is used to adjust the connections and weights between the nodes in adjacent layers of the neural network to produce a desired value at the output nodes. This process is sometimes called deep learning. The connections are made only from the input nodes towards the output nodes in a "feedforward" network, and in a "recurrent network" the output of one layer can be fed back as input to the same or a different layer. As a further non-limiting example, a neural network can include a convolutional neural network that includes an input layer of nodes, one or more intermediate layers, and an output layer of nodes. As used in this disclosure, a "convolutional neural network" refers to a neural network in which at least one hidden layer is a convolutional layer that convolves the input to the layer with a subset of the input known as a "kernel", along with one or more additional layers such as pooling layers, fully connected layers, etc.
[0092] Referring now to FIG. 6, an exemplary embodiment of a node 600 of a neural network is shown. The node can receive a plurality of inputs x of numerical values from, among other things, the inputs to the neural network that includes the node and / or from other nodes iIt may include. When one or more inputs are provided to the node, it may execute one or more activation functions to generate its output. The activation function may be, but is not limited to, a binary step function that compares the input with a threshold and outputs a logical 1 or logical 0 output or an equivalent, a linear activation function where the output is directly proportional to the input, and / or a non-linear activation function where the output is not proportional to the input. The non-linear activation function may be, but is not limited to, a sigmoid function in the form of
Number
Number
Number
Number
Number
Number
[0093] Referring now to FIG. 7, an exemplary embodiment of a fuzzy set comparison 700 is shown. The first fuzzy set 704 may be represented according to a first membership function 708 that represents the probability that an input falling within a first range of values 712, although not limited thereto, is a member of the first fuzzy set 704, where the first membership function 708 has values over a probability range such as the interval [0,1], although not limited thereto, and the area under the first membership function 708 may represent the set of values within the first fuzzy set 704. In this exemplary depiction, the first range of values 712 is illustrated as a range on a single number line or axis for clarity, although the first range of values 712 may be defined in two or more dimensions representing, for example, a Cartesian product between multiple ranges, curves, axes, spaces, dimensions, etc. The first membership function 708 can include any suitable function that maps the first range 712 to a probability interval, including, although not limited to, trigonometric functions defined by two linear elements such as line segments or planes that intersect at or below the upper end of the probability interval. As a non-limiting example, a triangular membership function can be defined as follows: [Number] A trapezoidal membership function can be defined as follows: [Number] A sigmoid function can be defined as follows: [Number] A Gaussian membership function can be defined as follows: [Number] A bell membership function can be defined as follows: [Number] One skilled in the art will recognize various alternative or additional membership functions that can be used consistently with the present disclosure by verifying the entire disclosure.
[0094] Still referring to FIG. 7, the first fuzzy set 704 can represent any value or combination of values as described above, including the output from one or more machine learning models. The second fuzzy set 716, which may represent any value that can be represented by the first fuzzy set 704, can be defined by a second membership function 720 over a second range 724. The second range 724 may be the same as, and / or overlap with, the first range 712, and / or may be combined with the first range by a Cartesian product or the like to generate a mapping that allows for overlapping evaluation of the first fuzzy set 704 and the second fuzzy set 716. If the first fuzzy set 704 and the second fuzzy set 616 have an overlapping region 728, the first membership function 708 and the second membership function 720 can intersect at a point 732 that represents a probability defined in a probability interval where the first fuzzy set 704 and the second fuzzy set 716 coincide. Alternatively or additionally, a single value of the first and / or second fuzzy sets may be located on a locus 736 over the first range 712 and / or the second range 724, and the probability of membership can be obtained by evaluating the first membership function 708 and / or the second membership function 720 at that range point. The probabilities at 728 and / or 732 can be compared to a threshold 740 to determine whether a positive match is indicated. The threshold 740 can represent, in non-limiting examples, the degree of matching between the first fuzzy set 704 and the second fuzzy set 716, and / or between single values within or between either set, and is sufficient for the purpose of the matching process. For example, the threshold can indicate a sufficient degree of overlap between the outputs from one or more machine learning models. Alternatively or additionally, each threshold can be adjusted by machine learning and / or statistical processing, for example, but not limited to, as will be described in more detail below.
[0095] Referring now to FIG. 8, a flowchart of an exemplary method 800 for synthesizing time series data and diagnostic data is shown. At step 805, method 800 includes receiving time series data by at least one processor. In one embodiment, the time series data may include electrocardiogram (ECG) data. These can be implemented as described with reference to FIGS. 1-7.
[0096] Still referring to FIG. 8, at step 810, method 800 includes generating at least one time series label as a function of the time series data by at least one processor. Generating at least one time series label as a function of the time series data, generating a first time series label using a first label machine learning model, and generating a second time series label using a second label machine learning model, are included. In one embodiment, generating at least one time series label as a function of the time series data may include training a label machine learning model as a function of label training data by at least one processor, and generating at least one time series label as a function of the trained label machine learning model by at least one processor. These can be implemented as described with reference to FIGS. 1-7.
[0097] Referring still to FIG. 8, at step 815, method 800 includes determining, by at least one processor, at least one recommendation data as a function of at least one time series label. In one embodiment, determining at least one recommendation data as a function of at least one time series label may include training, by at least one processor, a recommendation machine learning model as a function of recommendation training data, and determining, by at least one processor, at least one recommendation data as a function of the trained recommendation machine learning model. Additionally or alternatively, determining at least one recommendation data as a function of at least one time series label may include generating, by at least one processor, a recommendation score for each piece of recommendation data of the at least one recommendation data. Further, additionally or alternatively, each piece of the at least one recommendation data may include pain data. Additionally or alternatively, determining at least one recommendation data as a function of at least one time series label may include training, by at least one processor, a pain machine learning model as a function of pain training data, and generating, by at least one processor, at least one pain data as a function of the trained pain machine learning model. Further, additionally or alternatively, determining at least one recommendation data as a function of at least one time series label may include generating, by at least one processor, a pain score for each piece of pain data of the at least one pain data. These can be implemented as described with reference to FIGS. 1-7.
[0098] Referring still to FIG. 8, at step 820, method 800 includes generating, by at least one processor, a time series model including a time series input. This can be implemented as described with reference to FIGS. 1-7.
[0099] Referring still to FIG. 8, at step 825, method 800 includes overlaying at least one piece of recommendation data on a time series model by at least one processor. In one embodiment, overlaying at least one piece of recommendation data on a time series model may include overlaying a confidence score for at least one recommendation by at least one processor. In one embodiment, overlaying at least one piece of recommendation data on a time series model may include overlaying first recommendation data associated with a first time series label and overlaying second recommendation data associated with a second time series label. These can be implemented as described with reference to FIGS. 1-7.
[0100] Referring still to FIG. 8, method 800 may also include receiving, by at least one processor, user input including at least one annotation for the time series data. Further, overlaying at least one piece of recommendation data on a time series model may include overlaying at least one annotation on the time series model by at least one processor. These can be implemented as described with reference to FIGS. 1-7.
[0101] It should be noted that any one or more of the aspects and embodiments described herein can be appropriately implemented using one or more machines (e.g., one or more computing devices utilized as user computing devices for electronic documents, one or more server devices such as document servers) programmed according to the teachings herein, as would be apparent to those skilled in the computer art. As will be apparent to those skilled in the software art, appropriate software coding can be readily implemented by a skilled programmer based on the teachings of this disclosure. The above-described aspects and implementations employing software and / or software modules can also include appropriate hardware for supporting the implementation of machine-executable instructions of the software and / or software modules.
[0102] Such software may be a computer program product employing a machine-readable storage medium. The machine-readable storage medium can store and / or encode a sequence of instructions for execution by a machine (e.g., a computing device), and can be any medium that causes a machine to execute any one of the methodologies and / or embodiments described herein. Examples of machine-readable storage media include, but are not limited to, magnetic disks, optical disks (e.g., CD, CD-R, DVD, DVD-R, etc.), magneto-optical disks, read-only memory "ROM" devices, random access memory "RAM" devices, magnetic cards, optical cards, solid-state memory devices, EPROM, EEPROM, and any combination thereof. As used herein, a machine-readable medium is not limited to a single medium, but is intended to include, for example, a collection of compact disks, one or more hard disk drives combined with a computer memory, and the like, a collection of physically separate media. A machine-readable storage medium as used herein does not include signal transmissions in a transient form.
[0103] Such software can also include information (e.g., data) carried as a data signal on a data carrier such as a carrier wave. For example, machine-executable information may be included as a data carrier signal embodied on a data carrier that encodes a sequence of instructions for execution by a machine (e.g., a computing device) or a portion thereof, and any associated information (e.g., data structures and data) that causes a machine to execute any one of the methodologies and / or embodiments described herein.
[0104] Examples of computing devices include, but are not limited to, e - book reading devices, computer workstations, terminal computers, server computers, handheld devices (e.g., tablet computers, smartphones, etc.), web appliances, network routers, network switches, network bridges, any machine capable of executing a sequence of instructions specifying actions to be performed by that machine, and any combination thereof. In one example, a computing device may include and / or be included in a kiosk.
[0105] FIG. 8 shows a schematic representation of an embodiment of a computing device in an exemplary form of a computer system 900 in which a set of instructions for causing one or more of the aspects and / or methodologies of the present disclosure to be executed by a control system can be executed. It is also contemplated that multiple computing devices may be utilized to implement a set of instructions specially configured to cause one or more of the aspects and / or methodologies of the present disclosure to be executed on one or more of the devices. The computer system 900 includes a processor 904 and a memory 908 that communicate with each other and with other components via a bus 912. The bus 912 can include any of several types of bus structures, including, but not limited to, a memory bus, a memory controller, a peripheral bus, a local bus, and any combination thereof, using any of a variety of bus architectures.
[0106] Processor 904 can include any suitable processor, such as, but not limited to, a processor incorporating logic circuitry to perform arithmetic and logical operations, such as an arithmetic logic unit (ALU), that is controlled by a state machine and can be directed by operational inputs from memory and / or sensors. As a non-limiting example, Processor 904 may be configured according to von Neumann and / or Harvard architectures. Processor 904 may include, without limitation, a microcontroller, a microprocessor, a digital signal processor (DSP), a field programmable gate array (FPGA), a complex programmable logic device (CPLD), a graphics processing unit (GPU), a general-purpose GPU, a tensor processing unit (TPU), an analog or mixed-signal processor, a trusted platform module (TPM), a floating-point unit (FPU), a system-on-module (SOM), and / or a system-on-chip (SoC), may incorporate these, and / or may be incorporated into these.
[0107] Memory 908 may include various components (e.g., machine-readable media), including, but not limited to, random access memory components, read-only components, and any combination thereof. In one example, a basic input / output system 916 (BIOS) including basic routines that help to transfer information between elements within computer system 900, such as during startup, may be stored in Memory 908. Memory 908 may also include instructions (e.g., software) 920 that embody any one or more of the aspects and / or methodologies of the present disclosure (e.g., stored on one or more machine-readable media). In another example, Memory 908 may further include any number of program modules, including, but not limited to, an operating system, one or more application programs, other program modules, program data, and any combination thereof.
[0108] Computer system 900 may include a storage device 924. Examples of storage devices (e.g., storage device 924) include, but are not limited to, hard disk drives, magnetic disk drives, optical disk drives in combination with optical media, solid state memory devices, and any combination thereof. Storage device 924 may be connected to bus 912 by an appropriate interface (not shown). Examples of interfaces include, but are not limited to, SCSI, Advanced Technology Attachment (ATA), Serial ATA, Universal Serial Bus (USB), IEEE 1394 (FIREWIRE (registered trademark)), and any combination thereof. In one example, storage device 924 (or one or more of its components) may be removably interfaced with computer system 900 (e.g., via an external port connector (not shown)). In particular, storage device 924 and associated machine-readable medium 928 may provide non-volatile and / or volatile storage of machine-readable instructions, data structures, program modules, and / or other data of computer system 900. In one example, software 920 may reside, in whole or in part, on machine-readable medium 928. In another example, software 920 may reside, in whole or in part, on processor 904.
[0109] The computer system 900 may include an input device 932. In one example, a user of the computer system 900 can input commands and / or other information into the computer system 900 via the input device 932. Examples of the input device 932 include, but are not limited to, alphanumeric input devices (e.g., keyboards), pointing devices, joysticks, game pads, voice input devices (e.g., microphones, voice response systems, etc.), cursor control devices (e.g., mice), touch pads, optical scanners, video capture devices (e.g., still cameras, video cameras), touch screens, and any combination thereof. The input device 932 can be interface-connected to the bus 912 via any of various interfaces (not shown) including, but not limited to, serial interfaces, parallel interfaces, game ports, USB interfaces, FIREWIRE (registered trademark) interfaces, direct interfaces to the bus 912, and any combination thereof. The input device 932 can include a touch screen interface that can be part of or separate from a display 936 described below. The input device 932 may also be used as a user selection device to select one or more graphical representations in the graphical interface as described above.
[0110] The user can also input commands and / or other information into the computer system 900 via a storage device 924 (e.g., a removable disk drive, a flash drive, etc.) and / or a network interface device 940. A network interface device such as the network interface device 940 can be used to connect the computer system 900 to one or more of various networks such as the network 944 and one or more remote devices 948 connected thereto. Examples of network interface devices include, but are not limited to, network interface cards (e.g., mobile network interface cards, LAN cards), modems, and any combination thereof. Examples of networks include, but are not limited to, wide area networks (e.g., the Internet, corporate networks), local area networks (e.g., networks associated with offices, buildings, campuses, or other relatively small geographical spaces), telephone networks, data networks associated with telephone / voice providers (e.g., data and / or voice networks of mobile communication providers), direct connections between two computing devices, and any combination thereof. A network such as the network 944 can employ wired and / or wireless communication modes. Generally, any network topology can be used. Information (e.g., data, software 920, etc.) can be communicated to and / or from the computer system 900 via the network interface device 940.
[0111] The computer system 900 may further include a video display adapter 952 that communicates a displayable image to a display device such as the display device 936. Examples of display devices include, but are not limited to, liquid crystal displays (LCDs), cathode ray tubes (CRTs), plasma displays, light emitting diode (LED) displays, and any combination thereof. The display adapter 952 and the display device 936 can be utilized in combination with the processor 904 to provide a graphical representation of aspects of the present disclosure. In addition to the display device, the computer system 900 may include one or more other peripheral output devices including, but not limited to, audio speakers, printers, and any combination thereof. Such peripheral output devices may be connected to the bus 912 via a peripheral interface 956. Examples of peripheral interfaces include, but are not limited to, serial ports, USB connections, FIREWIRE® connections, parallel connections, and any combination thereof.
[0112] The foregoing has described in detail exemplary embodiments of the present invention. Various modifications and additions are possible without departing from the spirit and scope of the present invention. The features of each of the various embodiments described above can be combined as appropriate with the features of the other embodiments described to provide various combinations of features in related new embodiments. Further, while a number of individual embodiments have been described above, what has been described herein is merely illustrative of the application of the principles of the present invention. Further, although a particular method may be illustrated and / or described herein as being performed in a particular order, the ordering can be significantly varied within the scope of ordinary technology in implementing the methods and apparatuses according to the present disclosure. Accordingly, this specification is intended to be construed as illustrative only and not to limit the scope of the present invention otherwise.
[0113] Exemplary embodiments are disclosed above and illustrated in the accompanying drawings. It will be understood by those skilled in the art that various changes, omissions, and additions may be made to what is specifically disclosed herein without departing from the spirit and scope of the present invention.
Claims
**Claim 1** An apparatus for synthesizing time-series data and diagnostic data, comprising: at least one processor; a memory communicatively connected to the at least one processor, the at least one processor being configured to: receive time-series data; generate at least one time-series label as a function of the time-series data, wherein generating the at least one time-series label as a function of the time-series data includes generating a first time-series label using a first label machine learning model and generating a second time-series label using a second label machine learning model; determine at least one recommended data for each of the at least one time-series label; generate a time-series model including the time-series input; overlay the at least one recommended data on the time-series model; a memory including instructions for configuring; an apparatus. **Claim 2** Generating the first time-series label as a function of the time-series data includes: training a first label machine learning model as a function of label training data; generating the first time-series label as a function of the trained label machine learning model; The apparatus according to claim 1, comprising the above. **Claim 3** Determining the at least one recommended data as a function of the at least one time-series label includes: training a recommendation machine learning model as a function of recommendation training data; determining the at least one recommended data as a function of the trained recommendation machine learning model; The apparatus according to claim 1, comprising the above. **Claim 4** Determining the at least one recommended data as a function of the at least one time-series label includes: generating a recommendation score for each recommended data of the at least one recommended data; The apparatus according to claim 1, comprising the above. **Claim 5** Each recommended data of the at least one recommended data includes at least one pain data. The apparatus according to claim 1. **Claim 6** Determining the at least one recommended data as a function of the at least one time-series label includes: training a pain machine learning model as a function of pain training data; generating the at least one pain data as a function of the trained pain machine learning model; The apparatus according to claim 5, comprising the above. **Claim 7** The apparatus according to claim 1, wherein the processor is further configured to receive user input including at least one annotation for the time series data.
8. Overlaying the at least one recommended data on the time series model includes overlaying, by the at least one processor, the at least one annotation on the time series model, of the apparatus according to claim 7.
9. Overlaying the at least one recommended data on the time series model includes overlaying, by the at least one processor, a confidence score for the at least one recommendation on the time series model, of the apparatus according to claim 1.
10. Overlaying the at least one recommended data on the time series model includes overlaying first recommended data associated with a first time series label and overlaying second recommended data associated with a second time series label, of the apparatus according to claim 1.
11. A method for generating an annotation for an electronic record, the method comprising: receiving, by at least one processor, time series data; generating, by the at least one processor, at least one time series label as a function of the time series data, generating at least one time series label as a function of the time series data including generating a first time series label using a first label machine learning model and generating a second time series label using a second label machine learning model; determining, by the at least one processor, at least one recommended data as a function of the at least one time series label; generating, by the at least one processor, a time series model including the time series input; overlaying, by the at least one processor, the at least one recommended data on the time series model. A method including the above.
12. Generating the at least one time series label as a function of the time series data includes training, by the at least one processor, a label machine learning model as a function of label training data and generating, by the at least one processor, the at least one time series label as a function of the trained label machine learning model, of the method according to claim 11.
13. Determining the at least one recommended data as a function of the at least one time series label comprises: training, by the at least one processor, a recommendation machine learning model as a function of recommended training data; determining, by the at least one processor, the at least one recommended data as a function of the trained recommendation machine learning model; The method according to claim 11, comprising the above.
14. Determining the at least one recommended data as a function of the at least one time series label comprises: generating, by the at least one processor, a recommendation score for each recommended data of the at least one recommended data; The method according to claim 11, comprising the above.
15. Each recommended data of the at least one recommended data includes pain data. The method according to claim 11.
16. Determining the at least one recommended data as a function of the at least one time series label comprises: training, by the at least one processor, a pain machine learning model as a function of pain training data; generating, by the at least one processor, the at least one pain data as a function of the trained pain machine learning model; The method according to claim 15, comprising the above.
17. The method according to claim 11, further comprising receiving, by the at least one processor, user input including at least one annotation for the time series data.
18. Overlaying the at least one recommended data on the time series model comprises: overlaying, by the at least one processor, the at least one annotation on the time series model; The method according to claim 11, comprising the above.
19. Overlaying the at least one recommended data on the time series model comprises: overlaying, by the at least one processor, a confidence score for the at least one recommendation; The method according to claim 11, comprising the above.
20. Overlaying the at least one recommended data on the time series model comprises: overlaying first recommended data associated with a first time series label; overlaying second recommended data associated with a second time series label; The method according to claim 11, including the following.
Citation Information
Patent Citations
Medical data presentation apparatus and medical data presentation program
JP2018181340A
Neural networks for atrial fibrillation screening
WO2020086865A1