Device and method for converting non-pair time sequence data
Patent Information
- Application Number
- JP2024129165
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-08-04
- Filing Date
- 2024-08-05
- Publication Date
- 2025-02-17
Smart Images

Figure 2025023859000001_ABST
Abstract
Description
[Technical field]
[0001] The present invention relates generally to the field of machine learning, and more particularly to an apparatus and method for converting unpaired time series data between applications where conversion and interpretation has previously been cumbersome due to differences in protocols and formats. [Background technology]
[0002] Machine learning analysis of time-series measurements, such as those from environmental sensors or medical devices, is an increasingly ubiquitous and essential component of the analytical data pathways resulting from such measurements. However, the multitude of different encoding and recording protocols from the various forms of devices capturing those time-series measurements makes the training and use of such analysis inapplicable for most data sets that might otherwise be used, undermining a key benefit that machine learning could bring. Summary of the Invention
[0003] In one aspect, an apparatus for unpaired time series to time series conversion is disclosed, comprising at least one computing device configured to receive an automated analysis of a time series, use a machine learning process to convert the time series from its initial domain to a usable time series in another user-selected domain, and then validate the conversion against a confidence threshold.
[0004] In one aspect, a method is disclosed for unpaired time series to time series conversion, the method including receiving, by a computing device, an automated analysis of a time series, converting, by the computing device, the time series from its initial domain to a usable time series in another user-selected domain, and then validating, by the computing device, the conversion against a confidence threshold.
[0005] These and other aspects and features of the non-limiting embodiments of the present invention will become apparent to those of ordinary skill in the art upon review of the following description of specific non-limiting embodiments of the invention in conjunction with the accompanying drawings.
[0006] For the purpose of illustrating the invention, the drawings show aspects of one or more embodiments of the invention. It should be understood, however, that the invention is not limited to the precise arrangements and instrumentalities shown in the drawings. [Brief description of the drawings]
[0007] [Figure 1] FIG. 1 is a block diagram illustrating an exemplary embodiment of an apparatus for converting non-paired time series data between applications. [Diagram 2] Figure 2 shows the generative adversarial network process. [Diagram 3] FIG. 3 is a block diagram illustrating an exemplary machine learning process. [Figure 4] FIG. 4 illustrates an exemplary embodiment of a neural network. [Diagram 5] FIG. 5 illustrates an exemplary embodiment of a node of a neural network. [Figure 6] FIG. 6 is a flow diagram illustrating an exemplary method for unpaired time series to time series conversion. [Figure 7] Figure 7 is a flow diagram illustrating an exemplary method for unpaired time series to time series conversion using deep neural networks. [Figure 8] FIG. 8 is a flow diagram illustrating an exemplary method for optimizing a time series sensor system. [Figure 9] FIG. 9 is a flow diagram illustrating an exemplary method for improving unpaired time series to time series conversion in a stand-alone device. [Figure 10] FIG. 10 is a flow diagram illustrating an exemplary method for improving unpaired time series to time series conversion in a handheld or wearable device. [Figure 11]FIG. 11 is a flow diagram illustrating an exemplary method for improving time series sensor data, acquisition modality, and analysis. [Figure 12] FIG. 12 is a block diagram illustrating a computing system that can be used to implement any one or more of the methodologies disclosed herein and any one or more portions thereof. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0008] The drawings are not necessarily to scale and may be illustrated by phantom lines, schematic diagrams and partial views. In some cases, details that are not necessary for understanding the embodiments or that would make other details difficult to grasp may be omitted.
[0009] At a high level, aspects of the disclosure are directed to an apparatus and method for unpaired time series to time series conversion comprising at least one computing device configured to receive an automated analysis of a time series, convert the time series from its initial domain to a usable time series in another user-selected domain, and then validate the conversion against a confidence threshold.
[0010] Referring now to FIG. 1, an exemplary embodiment of an apparatus 100 for transforming non-paired time series data is illustrated. The apparatus includes a processor 104. The processor 104 may refer to any computing device as described herein, including, but not limited to, a microcontroller, a microprocessor, a digital signal processor (DSP), and / or a system on a chip (SoC) as described herein. The processor 104 may include, be included in, and / or communicate with, a mobile device, such as a mobile phone or smartphone. The processor 104 may include a single computing device operating independently, or may include two or more computing devices operating in concert, in parallel, sequentially, etc. The two or more computing devices may be included in a single computing device or together in two or more computing devices. The processor 104 may interface or communicate with one or more additional devices, as described in more detail below, via a network interface device, which is described in more detail below. The processor 104 may include, for example, but not limited to, a computing device or collection at a first location and a second computing device or collection at a second location. The processor 104 may include one or more computing devices specialized for data storage, security, traffic distribution for load balancing, etc. The processor 104 may distribute one or more computing tasks, as described below, to multiple computing devices that may operate in parallel, serially, overlapping, or any other manner used to distribute tasks or memory among computing devices. The processor 104 may be implemented using a "share nothing" architecture where data is cached at the workers, which in one embodiment may allow scalability of the apparatus 100 and / or the processor 104.A detailed description of an embodiment of a computing device is provided below with reference to FIG.
[0011] With continued reference to FIG. 1, the processor 104 may be designed and / or configured to perform any method, method step, or sequence of method steps in any embodiment described in this disclosure in any order and with any degree of repetition. For example, the processor 104 may be configured to repeatedly perform a single step or sequence until a desired or commanded result is achieved. The repetition of a step or sequence of steps may be performed 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 iterations to generate an aggregate result, decreasing or decrementing one or more variables, such as a global variable, and / or dividing a larger processing task into a set of smaller processing tasks that are addressed iteratively. The processor 104 may perform any step or sequence of steps as described in this disclosure in parallel, including, for example, performing a step two or more times simultaneously and / or substantially simultaneously using two or more parallel threads, processor cores, etc. The division of tasks among parallel threads and / or processes may be performed according to any protocol suitable for dividing tasks among iterations. Those skilled in the art will recognize, upon reviewing this disclosure in its entirety, the various ways in which a process, sequence of processes, processing tasks, and / or data may be subdivided, shared, or otherwise processed using iterative, recursive, and / or parallel processing.
[0012] With further reference to FIG. 1 , the processor 104 is configured to receive at least one time series of measurements recorded using at least one initial domain protocol from at least one sensor. The at least one sensor, as used herein, may include any sensor capable of collecting time series data, including, but not limited to, a device for capturing an ECG, also known as an Electrocardiogram (ECG)-enabled device, including, but not limited to, any ECG device having any number of leads and / or electrodes, including, but not limited to, a 12-lead ECG machine, such as a Biocare 12-lead ECG machine, a 6-lead ECG machine, an exercise ECG machine, a wearable device such as a Holter monitor, an exercise ECG tracker, a smart watch with a wrist sensor, and / or any other device capable of capturing ECG data and / or any components thereof. The at least one sensor may alternatively or additionally include an Electroencephalogram (EEG), a magnetic resonance imaging device, an Electromyography (EMG) scan, a galvanic skin response sensor, a fitness tracker, a blood pressure monitor, a sleep tracker, a blood oxygen level monitor, a heart rate tracker, a blood glucose level monitor, a pulse oxygen level monitor, or a herpes tracker, an immune disorder log, or any other type of device capable of capturing time series data that can be plotted or imaged. The at least one sensor may refer to standalone devices such as magnetic resonance imaging devices, computed tomography scans, x-rays, ultrasound, radiotherapy equipment, intravenous monitors, etc. that are used only in established medical facilities, or any other standalone devices. Although the present disclosure discusses medical devices in a non-limiting manner, the present disclosure also applies to any time series collection device, including non-medical applications.Additionally, the at least one sensor may be a number of handheld or wearable devices, examples of which include a Fitbit watch or wristband or other wearable heart rate monitor, a pacemaker or other cardiac rhythm management implant, a blood glucose monitor, a smartwatch, a real-time blood pressure sensor, a temperature monitor, a respiration rate monitor or other biosensor, or any other wearable monitor.
[0013] With further reference to FIG. 1, for purposes of this disclosure, "initial time series data" is a quantified representation of information that contains time series data that can be plotted on two-dimensional axes, typically derived from a digital device query output and formatted based on a source device protocol. The initial time series data 108 may be in the form of an image, from which discrete data points may be identified and interpreted. The initial time series data 108 may also be in the form of a number of quantified data points that are already plotted, contained in a list, or in some variation of a spreadsheet format. In other applications of generative adversarial networks, the input may include a number of different types or domains, including, but not limited to, text, code, images, molecules, audio (e.g., music), video, and robotic actions (e.g., actions of an electromechanical system). As a non-limiting example, a data set of ECG recordings of voltages measured over a 30 second period at frequencies ranging from 50 Hz to 500 Hz may be plotted, recorded, and / or used by the processor 104 as the initial time series data 108. Time plotted voltages, particularly within the range of voltages expected to be detected from a human heart via skin contact, may be exported from any possible device and used for the initial time series data 108. In a non-limiting embodiment, the initial time series data 108 may further include any set of plotted time series data that may be useful in a separate set of domain protocols other than its original source protocol.
[0014] Still referring to FIG. 1, by way of non-limiting example, the initial time series data 108 may include the patient's blood pressure, heart rate, blood glucose, stress test data plotted over a specified time period, or any related time series data associated with a specified initial domain protocol. The time series data 108 may further contain identifying or descriptive data primarily meant to support the target time series data. For example, the time series data 108 may include timing information for when the time series was originally recorded, notes from a medical professional, location data, or any other suitable information. These additional data tags embedded within the time series data 108 may be used as training data to support the pairing of input and output data. Specifically, in a non-limiting embodiment, in the example of an ECG time series, various inputs and grouping mechanisms may aid in the diagnosis of cardiac irregularities, which may be indicative of atrial or ventricular fibrillation. Once confirmed by a medical professional, especially if similar situations are repeated in multiple instances, the machine learning model may identify patterns in these instances, which may grow to act as an early warning system for more serious medical conditions. Continuing with this non-limiting embodiment, various types of input data included in the time series data 108 may be grouped together in a logical manner to support these types of early warning diagnostic support. In an additional non-limiting embodiment, heart rate training data may support the detection and diagnosis of tachycardia or bradycardia conditions, each of which may indicate serious or complex problems requiring immediate response care. Additionally, blood pressure, electromyogram data, Computerized Tomography (CT) scans, Magnetic Resonance Imaging (MRI), or any other device that collects data over time and operates only within the initial domain protocol may be included in the initial time series data 108.
[0015] 1, data collected from at least one sensor may be compiled into a group of initial time series data 108. This compilation may be accomplished by manually entering the time series data into the processor 104, by transferring files using any means available for transferring digital files, or through a direct network connection where the users have already established a network interface and protocol for exchanging time series data.
[0016] With further reference to FIG. 1 , the first time series of measurements is recorded using at least one initial domain protocol. As used in this disclosure, an “initial domain protocol” is a set of standards, formats, rules, interface conventions, and other domain-specific features that prevent the initial time series data 108 from being used or processed by sensors or devices other than the original sensor device. In a non-limiting embodiment, a 12-lead ECG may 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 rhythmic modes, and may then record the data within its own system. Such devices may then allow for subsequent conversion to JPG or XML format for storage. Each sensor-specific domain protocol varies with the number of sensors used, which may significantly change the data format and application, but even devices using the same number of sensors may have different data formats, processing algorithms, display mechanisms, organization, and prioritization. The data may have differences in dimensionality, for example. For example, a 12-lead EKG may have 12 waveforms and may be represented, without limitation, as a 12-channel and / or 12-dimensional signal, while a wearable device may have a signal composed of 2 channels and / or dimensions. Converting a 12-channel signal to a 2-channel signal or otherwise reducing the channels and / or dimensions of a signal while optimally preserving information and / or minimizing noise or spurious correlations may be a significant problem that is not suitable for averaging or projection. Similarly, converting fewer channels to a larger number of channels and / or dimensions in a manner that is faithful to the information differences between the channels may be difficult or infeasible to do using conventional signal processing. Solutions presented in this disclosure include generative solutions and / or neural network-based solutions as described herein, which may enable conversion in either direction to generate useful data in a targeted set of channels and / or dimensions.Any or all of the time series transformation and its sub-processes may be accomplished using a Generative Adversarial Network (GAN), a diffusion-based machine learning process, a neural network, including but not limited to a deep learning neural network, or a similar type of system. In a non-limiting embodiment, a GAN may be used to transform a 12-lead time series for use in a 2-lead domain by inputting a 12-lead time series as an initial time series dataset and then inputting samples from the 2-lead domain as authentic examples. The apparatus 100 may first generate a heuristic approximation and then refine the generated examples until the discriminator module is unable to distinguish the artificially generated 2-lead dataset from the provided 2-lead samples. In another non-limiting embodiment, the diffusion-based model may intentionally inject noise into the 12-lead input, which may then teach itself how to remove noise and domain-dependent features, thereby defining a process for converting the 12-lead time series to a generic time series, or converting the 12-lead time series to a 2-lead usable time series by applying a new domain set of features. In an additional non-limiting embodiment, a deep neural network may also be used to convert the 12-lead time series to a 2-lead time series, by using hierarchical layers of supervised machine learning models to remove domain-dependent features and then applying the 2-lead domain features. All of the listed methods may operate in the opposite direction (e.g., converting a 2-lead time series to a 12-lead time series format) or in both directions, as will be discussed below with reference to Figures 1-5. As a further non-limiting example, the ECG machine may use application of the Minnesota Code, CSE and / or AHA database format guidelines, as well as support for ECG management systems or HL7 protocols.Each of these specified formats and data exchange protocols may be interoperable with other ECG devices, but may be limited to only the hardware sensors and / or sensor components on which it relies to generate the data. In other instances, the initial domain protocol may be sufficiently restrictive that alternative formats are not available for converting or storing the data captured therewith. For example, a device such as a wearable ECG device may have ECG functionality that is only compatible with software applications designed for that device. Such software applications may further only be compatible with a particular hardware platform and / or operating system, or particular versions thereof.
[0017] With further reference to FIG. 1 , the initial time series data 108 may include multiple time series, each with a distinct domain protocol format. Specifically, the processor 104 may receive the initial time series data 108, which may include a first time series and a second time series. The first time series and the second time series may each include time series data belonging to the same category of process being measured, such as time series data from the same type of diagnostic process, etc. 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 as each other, or may record in two distinctly different initial domain protocols. The initial time series data may include multiple sets of time series data from multiple devices, any two of which may include a first device and a second device as described above. Such initial time series data may include data sets of multiple distinct initial domain protocols. As a non-limiting example, multiple ECG data sets, potentially recorded with multiple initial domain protocols, may be used as initial time series data 108 to develop a single common protocol for the data sets from each ECG, as described in further detail below. By converting the initial domain protocols to a common protocol, medical personnel may be able to use any or all of such data sets in either or both hardware configurations to analyze the ECG data. Future conversions may be supported by leveraging the development of a common domain protocol.
[0018] With continued reference to FIG. 1 , the initial time series data 108 may be received via a network of connected devices. In a non-limiting embodiment, a device capturing one or more elements of the time series data and / or performing one or more steps described in this disclosure may be communicatively connected to one or more other devices, including, but not limited to, any device described in this disclosure, a Local Area Network (LAN), a Wide Area Network (WAN) such as the Internet, or a subset thereof, such that all recorded data may be accessible via any other web-enabled device. In this manner, the initial time series data 108 may be requested and imported into the processor 104 via a web or local network interface. The processor and / or another device may divide processing tasks among multiple processors to accelerate delivery of the completed time series data 128.
[0019] Continuing to refer to FIG. 1 , the initial time series data 108 may be received via a direct file import process, where the initial time series data 108 may be stored and downloaded to the processor 104. This may include file transfer from any type of hard drive or other memory type exchange or duplication. The initial time series data 108 may be generated locally if the processor 104 is configured with or contained within an ECG-enabled device. The time series data 108 may also be imported into the processor 104 via manual generation, where a user populates the device 100 with all the necessary data by any mechanism that makes available a minimum set of necessary time series data.
[0020] With further reference to FIG. 1 , the processor 104 is configured to convert at least one time series from an initial domain protocol to a target domain protocol using an unsupervised generative machine learning process. As used in this disclosure, a “target domain protocol” is a domain protocol into which data received in one or more initial domain protocols is converted. The target domain protocol may be a domain protocol distinct from each initial domain protocol, or may be one of multiple initial domain protocols. When two or more domain protocols exist for a given category of time series data, the target domain protocol may serve as a common domain protocol into which all other domain protocols are converted, allowing all such converted data sets to be used as training data and / or inputs for machine learning models, displaying all such converted data sets at or by a given device that can accept and / or display data using the target domain protocol, etc. In some embodiments, the processor 104 may be used to generate a generic common domain such that the common domain may serve as a target domain and / or be used as the authentic examples 124. The use of a common domain may allow for immediate conversion of all time series data sets immediately upon generation, such that all data of a particular type may be collocated and compatible within the common domain. The common domain time series data may then either be converted to a separate user-specified target domain by repeating the process for conversion as described in this disclosure, or may be used as if it were in the common domain format. In this way, implementing a common domain may be used as an intermediate interpretation, allowing for comparison and contrast of multiple sources of time series data, while also simplifying conversion from the common domain to various target domains.Using a common domain protocol has the potential to simplify various translations by translating from thousands of device domains into a single unified domain format.
[0021] With continued reference to FIG. 1, the conversion process may be performed using an unsupervised generative machine learning process. The unsupervised machine learning process may include an unsupervised machine learning process as described in more detail below. A "generative machine learning process," as used in this disclosure, is a type of unsupervised machine learning in which an algorithm is designed to use existing content, such as text, audio, video, images, software code, or other data formats, to create new artifacts that convincingly resemble the input artifacts. Generative machine learning may accept multiple inputs, or even distinctive parts or aspects from multiple inputs, to inform the model to generate new artifacts. The generative machine learning process may be based on a transformation-based model that relies on internet-based information to interact and create text content for users, or a generative adversarial network. For example, ChatGPT and the Language Model for Dialogue Application (LaMDA) interface are transformation-based generative machine learning models designed to interact with humans in a text-based communication protocol like a knowledgeable human. As a non-limiting example, the processor 104 may use a GAN to convert at least one time series from an initial domain to a target domain protocol. A "generative adversarial network" is a data structure that relies on multiple machine learning models, such as neural networks, deep learning neural networks, recurrent neural networks, etc., where each internal model is plotted against the other models with distinct goals and motivations, whereby the cumulative evolution of the models produces a final programmed output by competing against each other in a digitally adversarial development cycle. For example, but not by way of limitation, the processor 104 may use a GAN to perform a translation from an initial domain protocol to a target domain protocol, whereby multiple models work against each other incrementally to generate domain-independent features of the initial time-series data 108 in the target domain protocol.This process may operate on a net zero-sum operation, where one model probabilistically generates trials in transforming the data, and another model evaluates the generated trials against a set of actual real-world target domain data. In one embodiment of a GAN, the initial time series data 108 may operate as an input to a generator model 112. As used herein, a "generator model" is a process that creates new artifacts, features and / or data based on multiple input artifacts or data, or possibly random input vectors. The generator model 112 may be configured to identify domain boundaries of the source domain and keep the output, generated examples 116 within those domain boundaries. A "domain boundary," as used herein, is an established data standard or protocol, examples of which include, but are not limited to, data organization methods, formats, coding languages, maximum and / or minimum numerical values, data sizes, encryption types, or other inherent limitations necessarily imposed to ensure that the data contained therein is usable. In a non-limiting embodiment, with respect to ECG, the domain boundaries may include sample rates, specified collection periods, and upper and lower voltage thresholds. The generator model 112 may rely on probabilistic methods, such as, but not limited to, probabilistic methods described in more detail below, to formulate the generated examples 116. The generated examples 116 may be initially created by the generator model 112 based on a random distribution, such as, but not limited to, a random Gaussian distribution. The generated examples 116 may represent attempts and / or approximations made by the generator model 112 in mimicking the initial time series data 108 of the real environment. Initially, and prior to transformation, the generated examples 116 may be irregular and may not represent the initial time series data 108. The generator model 112 may use feedback, such as an error function generated using training data, to adjust and refine its operation. Training data and machine learning processes are discussed in more detail below.
[0022] Still referring to FIG. 1, in a non-limiting embodiment of the GAN, the generated examples 116 from the generator model 112 may be provided as one of two inputs to the discriminator model 120. The discriminator model 120 is a model, such as a machine learning model and / or a classifier, that is used to classify the provided examples in a binary form of real or fake. The discriminator model 120 receives the generated examples 116 and the real examples 124. The real examples 124 are a set of data from the final target domain or a set of data that a user wants to train the discriminator model 120 to believe to be the target domain data. The discriminator model 120 may rely on feedback of the real examples 124 and the binary classifier 128 and / or feedback generated by and / or using the discriminator model 120 and / or the generator model 112 for training data. The discriminator model 120 evaluates both the generated examples 116 and the real examples 124 for the reliability of the time series of the target domain without reference to an exemplary source. If the classifier model 120 erroneously identifies the generated example 116 as genuine, the binary classifier 128 then provides the erroneous evaluation as training data for updating the internal algorithm of the classifier model 120 until the classifier model 120 stabilizes at an evaluation rate of approximately 50% accuracy. At the 50% accuracy rate, the classifier model 120 cannot detect the difference between the generated example 116 and the genuine example 124, indicating that the generator model 112 successfully replicates the target domain protocol and format. For example, if the apparatus 100 is being used to convert ECG data from a domain protocol used by an Alivecor device to a domain protocol used by a General Electric ECG device, the initial time series data 108 may include the Alivecor ECG data to be transferred. Continuing with the non-limiting example, the genuine example 124 may contain multiple ECG data sets from a General Electric ECG device. Real examples 124 may be used as training data to compare and teach both the generator model 112 and the discriminator model 120 .The training data and the machine learning process are discussed in more detail below with reference to FIG.
[0023] 1, in a non-limiting embodiment of a GAN, the discriminator model 120 may deliver its binary rating to the binary classifier 128. The binary classifier 128 may be another model, such as a machine learning and / or neural network classifier, configured to identify and deliver a rating of real or fake back to both the generator model 112 and the discriminator model 120. The discriminator model 120 is a machine learning based entity that may rely on the output of the binary classifier 128 as training data to continually improve its model and ability to detect fake examples versus real examples. The binary classifier 128 and / or the discriminator model 120 may operate based on simple digital logic, with inputs identifying the source of the examples and inputs based on the rating of the discriminator model 120. The binary classifier 128 receives the real or fake assessment from the discriminator model 120, identifies whether it is correct or not based on whether the example is fake or real, and then either forces the generator model 112 to correct its process if the discriminator model 120 is correct, or forces the discriminator model 120 to correct its process if the discriminator model 120 is incorrect. Alternatively or additionally, the discriminator model 120 may include, be included in, or be the binary classifier 128. In other words, the processes and / or tasks described above for the binary classifier 128 may be performed by the discriminator model 120. In some embodiments, the discriminator model 120 and / or the binary classifier 128 may be trained together with and / or in the same training process as the generator model 112. The training data and the machine learning process are discussed in more detail below with reference to FIG. 3.
[0024] Still referring to FIG. 1, in a non-limiting embodiment of a GAN, both the generator model 112 and the discriminator model 120 may constitute a generative adversarial network and may be modified to continually attempt to outperform their respective adversaries, so that the generator output converges to the correct output in the target domain protocol through training iterations. As used in this disclosure, a "generative adversarial network" is a machine learning process that includes at least two adversarial networks or models configured to synthesize data according to predetermined rules. If the discriminator model correctly assesses that the generated example 116 is fake, this assessment may force the generator model 112 to modify its algorithm. Conversely, if the discriminator model 120 incorrectly identifies a real example as fake or the generated example 116 as real, the discriminator model 120 may be forced to modify its algorithm. In this way, each iteration may result in one of the two models being modified. This process of the generator model 112 generating newly generated examples 116 and the discriminator model 120 evaluating whether the input examples are real or fake may continue iteratively until the discriminator model 120 consistently settles on a 50% real / fake rating for the generated examples 116. The processor 104 may establish thresholds other than the 50% real vs. fake rating, including establishing a confidence threshold to force continued iterations until the generated examples 116 reach a user-specified level of sophistication. The user may select a specific number of iterations of evaluation of the discriminator model 120, the percentage of correct or incorrect ratings of the discriminator model 120, or interject feedback at any user-determined point within the time series transformation process to correct or redirect the processor 104, in some non-limiting examples. By incorporating user feedback, the user may be able to introduce manual evaluations of the generated examples 116, which are then used as a distinct form of training data to guide both the generator model 112 and the discriminator model 120.The final state may indicate that the generator model 112 is outputting generated examples 116 that are very similar to the real examples 124, and that the discriminator model 120 is unable to distinguish between real and fake. Upon reaching this final state, the processor 104 may export the completed time series data 128.
[0025] With further reference to FIG. 1 , the generator model 112 may incorporate additional conditional inputs 132 to further define its generated examples 116 within bounds. As used herein, a “conditional input” is additional information provided to both the generator model 112 and the discriminator model 120 to bias the output from both models. The conditional inputs 132 may be in the form of class labels or data from other domains that the user intends to incorporate to some extent within the completed time series data 128. The conditional inputs 132 may include alternative versions of the target ECG time series dataset. The additional conditions may further include any data, such as graphic data, used to bias the generator model 112. In a non-limiting embodiment, the conditional inputs 132 may include a time series dataset with different characteristics from either the initial time series data 108 or the target time series data as provided by the real examples 124. Blending target datasets in this manner may allow for a hybrid output that retains the benefits of multiple target time series datasets while avoiding undesirable characteristics of each. The conditional inputs 132 may include font type, color scheme, sample rate, data range, or any other features that the user desires the apparatus 100 to incorporate into the completed time series data 128. In a non-limiting embodiment, the user may combine all of the available time series protocols within a particular device type (i.e., ECG, respiratory monitor, blood glucose meter, pulse oximeter, blood pressure monitor, etc.) by inputting one of them as the initial time series data 108 and then using all others as the conditional inputs 132. Such a large amount of inputs may be useful in generating a common domain protocol that may be used as a kind of generic conversion step, such that all initial time series are first converted to the common domain protocol and then converted to the target domain protocol.
[0026] With further reference to FIG. 1, in a non-limiting embodiment, the processor 104 may perform this GAN process bidirectionally. The bidirectional GAN process may include, but is not limited to, a "CycleGAN" process, which may operate by pairing a circuit, hardware and / or software module, and / or processor that operates to convert the initial time series data 108 into the completed time series data 128 as described above with a separate circuit, hardware and / or software module, and / or processor that still operates as described above but in the reverse direction, with the processor 104 converting the completed time series data 128 back to the initial domain protocol. The bidirectional GAN process may further use a time modulation method in which the same circuit, hardware and / or software module, and / or processor is used for conversion in both directions at the same time, but the forward direction is performed during the first half of each second while the reverse direction is converted during the second half of each second, or any variation of a time or sequence based split cycle. The bidirectional GAN may rely on a pair of generators as described above, including but not limited to neural network generators, each using the output of the other as input. A bidirectional GAN process may allow forward and reverse transformations between domains to occur simultaneously, yet dependently.
[0027] 1, in a non-limiting embodiment of CycleGAN, the CycleGAN process may include a set of calculations. The training data used in CycleGAN is different from the paired training data, where the paired training data is x i andy i For non-paired training data, when applied to the CycleGAN process, the training data may include a source set and a target set, but no correspondence exists between any x i Which y jIn the case of unpaired data, starting from a time series in domain X and a different time series in domain Y, a general mapping may be enabled such that G:X→Y, in which case the output
number
number
number
number
number
[0028] Still referring to FIG. 1 , in a separate non-limiting embodiment, the processor 104 may use an unsupervised generative machine learning process to perform a transformation of at least one time series from an initial domain protocol to a target domain protocol by using a diffusion-based machine learning process. A “diffusion-based process,” as used in this disclosure, is a generative process that trains itself to restore the data by first introducing randomly sampled noise into a data set and then reversing the introduction of the noise. A diffusion-based process may include, but is not limited to, a Stochastic Differential Equation (SDE) process, such as an Energy-Guided Stochastic Differential Equation (EGSDE) process. In a non-limiting embodiment of an EGSDE diffusion-based model, the EGSDE may rely on a Score-Based Diffusion Model (SBDM) to transform the time series data from one domain to another. The EGSDE may use the SBDM to perturb the initial time series data with noise, such as, but not limited to, Gaussian noise, and then reverse the process to transform the noise back to the data distribution. The diffusion model may fit a pre-trained energy function based on data from an initial source domain and data from a final target domain to guide the inference process of a pre-trained Stochastic Differential Equation (SDE). As used herein, an "energy function" is defined as an expression approximation of a transfer function for converting time series data from a source domain into usable data in a target domain. The energy function may be composed of two terms. The first induction term is a "realistic expert", which is a term that prioritizes the energy function's focus on discarding source domain-specific features. The second induction term is a "loyal expert", which is a term that prioritizes the energy function's focus on preserving domain-independent features.The combination of these two functions may result in a target domain dataset that is independent of the source domain data protocol but retains the substantial features represented by the source time series data. Combined with the pre-trained energy function, the EGSDE method may contribute to generating the best-fit output time series data in the target domain protocol by employing three experts (energy function, realistic expert, and faithful expert). To provide a detailed mathematical description of this process, q(y0) is
number
number
number
number
[0029] Referring further to FIG. 1, the Wiener process W t is a real-valued continuous-time stochastic process characterized by the following properties: 1.) W t = 0, 2.) W has independent increments, and for each t > 0, the future increment W t+u - W t , u ≥ 0 is independent of the past values W s , s < t, 3.) W has Gaussian increments, and W t+u - W t is normally distributed with mean 0 and variance u,
Equation
number
number
[0030] Continuing with reference to the adaptive filter, f(y,t) and g(t) can be related to the noise size and the perturbation kernel q from time 0 to t. t|0 (y t |y0) may be determined. q t If (y) can be taken as the marginal distribution of the SDE at time t, then reversals at that time can be described by separate SDEs,
number
number
number
number
[0031] Further referring to Figure 1, the source domain
number
number
number
number
number
number
number
[0032] With further reference to FIG. 1 , and with further reference to a non-limiting embodiment of a diffusion-based machine learning process relying on EGSDE, the energy function may be derived by balancing the need to preserve domain-independent features of the initial time series data 108 while appropriately modifying domain-specific features. Based on this balance, the energy function may be expressed as a sum of two logarithmic potential functions:
number
number
number
number
number
number
number
number
number
number
number
[0033] With further reference to FIG. 1 and to a non-limiting embodiment of a diffusion-based machine learning process using an EGSDE, solving the energy-induced inverse-time SDE involves solving a pre-trained score-based model s(y,t) and an energy function
number
number
[0034] With further reference to FIG. 1 , and with further reference to a non-limiting embodiment of a diffusion-based machine learning process using EGSDE, a product of experts may be used for the discretization sampling process. The conditional distribution at time t may be defined as:
number
number
number
number
number
number
number
number
number
number
number
number
number
[0035] With further reference to FIG. 1 , the processor 104 may incorporate additional conditional inputs 132 to further define the generated examples 116 within bounds. As used herein, a “conditional input” is additional information provided to both the generator model 112 and the discriminator model 120 to bias the output from both models. The conditional inputs 132 may be in the form of class labels or data from other domains that the user intends to incorporate to some extent in the completed time series data 128. The conditional inputs 132 may include alternative versions of the target ECG time series dataset. The additional conditions may further include any graphical data that the user intends to bias the generator model 112. In a non-limiting embodiment, the conditional inputs 132 may be a time series dataset with different characteristics from either the initial time series data 108 or the target time series data as provided by the real examples 124. Blending the target datasets in this manner may allow for a hybrid output that retains the benefits of multiple target time series datasets while avoiding undesirable characteristics of each. The conditional inputs 132 may include a font type or color scheme that the user would like the device 100 to incorporate.
[0036] With further reference to FIG. 1 , generating training data using the transformed at least one time series may include generating a plurality of training examples correlating input data to output data as a function of at least one input and at least one expected output. In a non-limiting embodiment, this training data may be provided by user feedback with reference to the completed time series transformation. The user feedback may be positive, causing the performed time series transformation process to be enabled and promoted for future applications. The user feedback may be negative, causing the performed time series transformation process to be disabled and inhibited for future applications. The user may alternatively or additionally generate training data with reference to specific aspects of the transformation process. In a non-limiting embodiment, any domain features from the initial domain protocol or the target domain protocol may be corrupted, ignored, overemphasized, or misinterpreted. The processor 104 may accept feedback to specifically address these types of inadequate transformations. In the case of feedback regarding specific domain features and their proper or improper use, the processor 104 may make slight modifications to the associated machine learning process to apply corrections to future transformation processes. In this way, the processor 104 may continually modify its input and output data relationships. The training data may also be in the form of previous time series transformations. If successful, no additional user input is required. The training data may also use previous failed time series transformations, along with user feedback to address specific failure mechanisms, so that the processor 104 and machine learning process may be refined to include correct transformations and reject methods used in failed transformations.
[0037] With continued reference to FIG. 1, the training of the machine learning model using the training data and at least one analysis process may be based on at least one input and at least one expected output. With reference to the generative model, the input may be the initial time series data 108, while the expected output may be the real examples 124, or any other authenticated target domain into which the time series data may be transformed. The training data may also be in the form of a previous time series transformation. If the transformation is successful, no additional user input may be provided. The training data may also use previous time series transformations that have failed, with user feedback to address specific failure mechanisms, and the processor 104 and the machine learning process may be refined to embrace the correct transformation and reject the method used in the failed transformation. These types of input-output correlations built across multiple transformations train the machine learning model to apply the appropriate method depending on the initial time series data 108 and the target domain requirements. With further reference to FIG. 1, the instantiation of the machine learning model may be performed on the analysis circuit device. The instantiation of the machine learning model can be done using hardware instead of software by running the same inputs through a chip, where through transistor gates the chip performs the same functions that the software does. The chip can potentially be updated (e.g., an FPGA can be "configured" to change its circuitry). This instantiation is discussed in more detail below with reference to FIG. 3.
[0038] All of the operations and machine learning processes described above may be fully instantiated within the processor 104, partially instantiated within the processor 104 and partially distributed across a neural network, or fully instantiated within the neural network. Neural networks and their applicability to the disclosure herein are described in more detail below with reference to Figures 4-5. Instantiation of machine learning models is discussed in more detail below with reference to Figure 3.
[0039] Referring now to FIG. 2, a block diagram of a non-limiting embodiment of a CycleGAN process 200 is illustrated. CycleGAN, as used within this disclosure, is a process used to convert back and forth between time series from one source to another. ECG device X 204 represents data from source 1 (e.g., a GE machine) and ECG device Y 208 represents data from source 2 (e.g., an Apple Watch). G 212 and F 216 represent forward (source 1 to source 2) and reverse (source 2 to source 1) generators, respectively, converting one source to the other. An initial dataset 220 of ECG device X is converted to the format of ECG device Y via a forward function G 212. That same dataset is then converted back to the format of ECG device X via an inverse function F 216. Ideally, this process recreates an exact replica of the initial dataset 220 of ECG device X. However, due to many iterations, the final dataset 224 of ECG device X may be offset from the initial dataset 220 of ECG device X. In these cases, the generated offset is referred to as the cycle consistency loss 228. A measure of the cycle consistency loss 228 is used as training data to update the models contained within the forward function G 212 and the inverse function F 216, with the ultimate goal being to reduce the cycle consistency loss 228 to negligible or zero.
[0040] 3, an exemplary embodiment of a machine learning module 300 is illustrated that may perform one or more machine learning processes as described in this disclosure. The machine learning module 300 may use the machine learning processes to perform the determining, classifying and / or analyzing steps, methods, processes, etc. as described in this disclosure. A "machine learning process," as used in this disclosure, is a process that automatically uses training data 304 to generate algorithms instantiated in hardware or software logic, data structures, and / or functions that will be performed by a computing device / module to generate output 308 given data provided as input 312. This is in contrast to non-machine learning software programs where the commands to be executed are predetermined by a user and written in a programming language.
[0041] With further reference to FIG. 3, "training data," as used herein, is data containing correlations that a machine learning process may use to model relationships between two or more categories of data elements. For example, but not by way of limitation, the training data 304 may include a plurality of data entries, also known as "training examples," which may be in the form of a binary classification of real or fake examples, where a correct assessment of a fake causes the generator model to update its internal algorithms to generate more convincing examples. Similarly, an incorrect assessment of a real causes the discriminator model to improve its detection and classification internal algorithms. Regardless of the outcome, each iteration of the discriminator model evaluating the generated examples will generate training data for fitting either the generator model or the discriminator model. The plurality of data entries in the training data 304 may estimate one or more trends of correlations between categories of data elements. For example, but not by way of limitation, higher values of a first data element belonging to a first category of data elements may tend to correlate with higher values of a second data element belonging to a second category of data elements, indicating a possible proportionality or other mathematical relationship linking values belonging to the two categories. In the training data 304, multiple categories of data elements may be related according to various correlations. Correlations may indicate causal and / or predictive connections between categories of data elements, which may be modeled as relationships, such as mathematical relationships, by machine learning processes as described in more detail below. The training data 304 may be formatted and / or organized by categories of data elements, for example, by associating the data elements with one or more descriptors that correspond to the categories of the data elements. As a non-limiting example, the training data 304 may also include data entered by a person or process in a standardized format, whereby an entry of a given data element in a given field in a form may be mapped to one or more descriptors of a category. Elements in the training data 304 may be linked to the descriptors of a category by tags, tokens, or other data elements.For example, but not by way of limitation, the training data 304 may be provided in a fixed-length format, i.e., a format that links data locations to categories, such as Comma-Separated Value (CSV) format, and / or a self-describing format, such as Extensible Markup Language (XML), JavaScript® Object Notation (JSON), etc., that allows a process or device to discover the categories of data. These types of data entries may be used to provide real-world examples representative of the time series data protocols and formats of the target domain.
[0042] Alternatively or additionally, with continued reference to FIG. 3, the training data 304 may include one or more elements that are unclassified. That is, the training data 304 may be unformatted or may not contain 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 classifications, for example, using natural language processing algorithms, tokenization, detection of correlation values in the raw data, etc. Categories may be generated using correlation and / or other processing algorithms. As a non-limiting example, in a corpus of text, phrases that make up a number "n" of compounds, such as nouns modified by other nouns, may be identified according to a statistically significant prevalence of n-grams that contain such words in a particular order. Such n-grams may be classified as elements of language, such as "words," that are tracked similarly to single words, and generate new categories as a result of the statistical analysis. Similarly, in a data entry that includes some text data, a person's name may be identified by reference to a list, dictionary, or other enumeration of terms, allowing for ad-hoc classification by a machine learning algorithm and / or automated association with a descriptor of the data in the data entry or into a given format. The ability to automatically classify data entries may allow the same training data 304 to be applied to two or more distinctly different machine learning algorithms, as described in more detail below. The training data 304 used by the machine learning module 300 may correlate any input data as described in this disclosure to any output data as described in this disclosure.
[0043] With further reference 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 described in more detail below. Such models may include, but are not limited to, a training data classifier 316. The training data classifier 316 may include a "classifier," which as used in this disclosure is a machine learning model as defined below, including data structures that represent and / or use a mathematical model, neural net, or program generated by a machine learning algorithm known as a "classification algorithm" that sorts inputs into categories or bins of data and outputs the categories or bins of data and / or labels associated therewith, as described in more detail below. The classifier may be configured to output at least one piece of data that labels or otherwise identifies, such as sets of data that have been clustered together and are found to be close under a distance metric as described below. The machine learning module 300 may generate a classifier using a classification algorithm, defined as a process in which a computing device and / or any modules and / or components operating thereon derive a classifier from the training data 304. Classification may be performed using, but is not limited to, linear classifiers such as logistic regression and / or naive Bayes classifiers, nearest neighbor classifiers such as K-Nearest Neighbor (KNN) classifiers, support vector machines, least squares support vector machines, Fisher's linear discriminant, quadratic classifiers, decision trees, boosted trees, random forest classifiers, learning vector quantization and / or neural network based classifiers. As a non-limiting example, the training data classifier 316 may classify elements of the training data into a time series dataset of Apple Watches, but filter out these classifiers from other inappropriate device types.
[0044] With further reference to FIG. 3, training examples for use as training data may be selected from a population of potential examples according to a cohort relevant to the analytical problem or classification task to be solved, etc. Alternatively or additionally, training data may be selected to span a set of situations or inputs that the machine learning model and / or process may encounter upon deployment. For example, but not limited to, for each category of input data to the machine learning process or model that may be present within a range of values in a collection of phenomena such as time series data, images, user data, process data, physical data, etc., the computing device, processor and / or machine learning model may select training examples that represent each possible value on such range and / or a representative sample of values on such range. The selection of the representative sample may include selecting training examples in a proportion that is consistent with a statistically determined and / or predicted distribution of such values according to their relative frequency, such that, for example, values encountered more frequently in the population of data so analyzed are represented by more training examples than values encountered less frequently. Alternatively or additionally, the set of training examples may be compared to a set of representative values in a database and / or presented to a user, such that the process can detect one or more values that are not included in the set of training examples, either automatically or via user input. The computing device, processor and / or module may automatically generate missing training examples by receiving and / or retrieving missing input and / or output values and correlating the missing input and / or output values with corresponding output and / or input values that are co-located with the retrieved values in the data record, which may be provided by a user and / or other device, etc.
[0045] With further reference to FIG. 3, the computer, processor and / or module may be configured to sanitize the training data. "Sanitizing" the training data, as used in this disclosure, is a process in which training examples that prevent the convergence of a machine learning model and / or processing to a useful result are removed. For example, but not limited to, the training examples may include input and / or output values that deviate from commonly encountered values, such that a machine learning algorithm using the training examples may be adapted to unlikely amounts as inputs and / or outputs, e.g., values that are more than a threshold number of standard deviations away from the mean, average or expected value may be eliminated. Alternatively or additionally, one or more training examples may be identified as having low quality data. In this case, "low quality" is defined as having a signal-to-noise ratio below a threshold.
[0046] As a non-limiting example, and with further reference to FIG. 3, images used to train an image classifier or other machine learning model, and / or processes that take images as input or generate images as output, may be rejected if the image quality is below a threshold. For example, but not by way of limitation, a computing device, processor and / or module may perform blur detection and reject one or more detected blurs. Detection may be performed by, as a non-limiting example, performing an approximation, such as a Fourier transform, i.e., a Fast Fourier Transform (FFT), of the image, and analyzing the distribution of low and high frequencies in the resulting frequency domain representation of the image. The number of high frequency values below a threshold level may indicate blur. As a further non-limiting example, blur detection may be performed by convolving an image or a channel of an image, etc., with a Laplacian kernel. This may generate a numerical score reflecting the number of abrupt changes in intensity shown in the image, whereby a high score indicates clarity and a low score indicates blur. Blur detection may be performed using gradient-based operators, which measure blur based on the gradient or first derivative of the image, based on the hypothesis that abrupt changes indicate sharper contours in the image, i.e., less blurring. Blur detection may be performed using wavelet-based operators, which exploit the ability of discrete wavelet transform coefficients to describe the frequency and spatial content of an image. Blur detection may be performed using statistics-based operators, which may utilize some image statistics as texture descriptors, to calculate the focus level. Blur detection may be performed using Discrete Cosine Transform (DCT) coefficients to calculate the focus level of an image from its frequency content.
[0047] With continued reference to FIG. 3, the computing device, processor, and / or module may be configured to precondition one or more training examples. For example, but not by way of 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 data units, the elements of one or more training examples used as inputs and / or outputs or compared to the inputs and / or outputs may be modified to have such number of data units. For example, the computing device, processor, and / or module may convert a smaller unit, such as an image with a low number of pixels, to a desired number of units, such as by upsampling and 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. The processor may interpolate the image with a low number of pixels to convert the 100 pixels to 128 pixels. It should also be noted that one of ordinary skill in the art would recognize various methods for interpolating smaller units of data, such as samples, pixels, bits, etc., to a desired number of such units upon reading this disclosure. In some cases, the set of interpolation rules may be trained with a set of highly detailed inputs and / or outputs and corresponding inputs and / or outputs downsampled to smaller units, and a neural network or other machine learning model trained to predict the interpolated pixel values using the training data. As a non-limiting example, sample inputs and / or outputs, such as sample pictures with sample augmented data units (e.g., pixels added between original pixels), may be input to a neural network or machine learning model that outputs pseudo-replica sample pictures with dummy values assigned to pixels between the original pixels 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 set of interpolation rules trained with a set of highly detailed images and images downsampled to smaller pixels, and in the context of face pictures, a neural network or other machine learning model trained using those examples to predict the interpolated pixel values. As a result, an input with sample expanded data units (added between the original data units and with dummy values) may be run through the trained neural network and / or model, which may fill in values to replace the dummy values. Alternatively or additionally, the 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" is a filter that passes signals with frequencies below a selected cutoff frequency and attenuates signals with frequencies above the cutoff frequency. The exact frequency response of the filter depends on the design of the filter. The computing device, processor, and / or module may fill in data units between the original data units using averaging, such as luma or chroma averaging within the image.
[0048] In some embodiments, with continued reference to FIG. 3, a computing device, processor and / or module may downsample elements of a training example to a desired smaller number of data elements. As a non-limiting example, a high pixel count image may have 256 pixels, but a desired number of pixels may be 128. The processor may downsample the high pixel count image to convert the 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 involve removing every Nth entry, all entries except the Nth, etc., in a sequence of samples, a process known as "compression" and may 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 may be used to remove compression side effects.
[0049] With further reference to FIG. 3, the machine learning module 300 may be configured to execute a lazy learning process 320 and / or protocol, which may alternatively be referred to as a “lazy loading” or “call on demand” process and / or protocol, in which machine learning is performed upon receipt of inputs that are converted into outputs by combining the inputs and a training set to derive an algorithm that is used to generate outputs on demand. For example, an initial set of simulations may be run to cover initial heuristics and / or “first guesses” at the outputs and / or relationships. As a non-limiting example, the initial heuristics may include rankings of associations between inputs and elements of the training data 304. The heuristics may include selecting a few of the highest ranking associations and / or elements of the training data 304. The lazy learning may implement any suitable lazy learning algorithm, including, but not limited to, KNN, lazy Naive Bayes algorithm, and the like. Those skilled in the art will be aware, upon reviewing this disclosure as a whole, of a variety of lazy learning algorithms that may be applied to generate outputs as described in this disclosure, including, but not limited to, the application of lazy learning machine learning algorithms as described in more detail below.
[0050] Alternatively or additionally, with continued reference to FIG. 3, the machine learning model 324 may be generated using a machine learning process as described herein. A "machine learning model," as used herein, is a data structure that represents and / or instantiates a mathematical and / or algorithmic representation of a relationship between inputs and outputs, generated and stored in memory using any machine learning process, including, but not limited to, any process as described above. Once the inputs are created, they are submitted to the machine learning model 324, which generates an output based on the derived relationship. For example, but not limited to, a linear regression model generated using a linear regression algorithm may calculate a linear combination of the input data using coefficients derived during the machine learning process to calculate 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 hidden layers, and an output layer of nodes. The connections between nodes may be generated through a process of "training" the network, where elements from a set of training data 304 are applied to input nodes and then a suitable training algorithm (such as Levenberg-Marquardt, conjugate gradient, simulated annealing, or other algorithm) is used to adjust the connections and weights between nodes in adjacent layers of the neural network to generate desired values for output nodes. This process is sometimes referred to as deep learning. For the purposes of this disclosure, both the generator model and the discriminator model are machine learning models, as described above.
[0051] With further reference to FIG. 3, the machine learning algorithm may include at least one supervised machine learning process 328. At least one supervised machine learning process 328, as defined herein, includes an algorithm that receives a training set relating some inputs to some outputs and seeks to generate one or more data structures that represent and / or instantiate one or more mathematical relationships relating the inputs to the outputs, each of which is optimal according to some criteria specified to the algorithm using some scoring function. For example, the supervised learning algorithm may include inputs and outputs as described above in this disclosure, and a scoring function that represents the desired form of relationship to be found between the inputs and outputs. The scoring function may, for example, seek to maximize the probability that a given input and / or combination of elemental inputs 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 relates inputs to outputs, the loss being calculated as an error function that represents the extent to which the prediction generated by the relationship is incorrect when compared to a given input-output pair provided in the training data 304. Those skilled in the art will be aware, upon reviewing this disclosure as a whole, of the various possible variations of at least one supervised machine learning process 328 that may be used to determine relationships between inputs and outputs. The supervised machine learning process may include a classification algorithm as defined above.
[0052] With further reference to FIG. 3, training the supervised machine learning process may include iteratively updating coefficients, biases, weights based on, but not limited to, an error function, an expected loss, and / or a risk function. For example, outputs generated by the supervised machine learning model using example inputs in a training example may be compared to example outputs from said training example. An error function may be generated based on said comparison, which may include any error function suitable for use with any machine learning algorithm described in this disclosure, including the squared difference between one or more sets of compared values, and the like. Such an error function may then be used to update one or more weights, biases, coefficients, or other parameters of the machine learning model via any suitable process, including but not limited to, a gradient descent process, a least squares process, and / or other processes described in this disclosure. This may be done iteratively and / or recursively to gradually adjust such weights, biases, coefficients, or other parameters. The update may be performed using one or more backpropagation algorithms in the neural network. Iterative and / or recursive updating of weights, biases, coefficients or other parameters as described above may be performed until the currently available training data is exhausted and / or a convergence test is passed, which is a test of a condition selected as an indication that the model and / or its weights, biases, coefficients or other parameters have reached a certain degree of accuracy. The convergence test may, for example, compare the difference between two or more successive error or error function values, where a difference below a threshold amount may be taken to indicate convergence. Alternatively or additionally, one or more errors and / or error function values evaluated in a training iteration may be compared to a threshold.
[0053] With further reference to FIG. 3, a computing device, processor and / or module may be configured to perform the methods, method steps, sequence of method steps and / or algorithms described with reference to this figure in any order and with any degree of repetition. For example, a computing device, processor and / or module may be configured to repeatedly perform a single step, sequence and / or algorithm until a desired or commanded result is achieved. The repetition of a step or sequence of steps may be performed 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 iterations to generate an aggregate result, decreasing or decrementing one or more variables, such as a global variable, and / or dividing a larger processing task into a set of smaller processing tasks that are iteratively addressed. A computing device, processor and / or module may perform any step, sequence of steps or algorithm in parallel, such as performing steps simultaneously and / or substantially simultaneously over two or more times 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 dividing tasks between iterations. Those skilled in the art will recognize, upon reviewing this disclosure in its entirety, the various ways in which a process, sequence of processes, processing tasks, and / or data may be subdivided, shared, or otherwise processed using iterative, recursive, and / or parallel processing.
[0054] With further reference to FIG. 3, the machine learning process may include at least one unsupervised machine learning process 332. An unsupervised machine learning process, as used herein, is a process that derives inferences in a dataset without regard to labels. As a result, an unsupervised machine learning process may be free to discover any structure, relationships, and / or correlations provided in the data. An unsupervised process may not require a response variable, and an unsupervised process may be used to find patterns of interest and / or inferences between variables, determine the degree of correlation between two or more variables, etc.
[0055] With further reference to FIG. 3, the machine learning module 300 may be designed and configured to create the machine learning model 324 using techniques for developing linear regression models. The linear regression model may include ordinary least squares regression, which aims to minimize the square of the difference between the predicted outcome and the actual outcome according to an appropriate norm for measuring such difference (e.g., vector space distance norm). The coefficients of the resulting linear equation may be modified to improve the minimization. The linear regression model may include a ridge regression method, where the function to be minimized includes a least squares function and a term that multiplies the square of each coefficient by a scalar amount to penalize large coefficients. The linear regression model may include a Least Absolute Shrinkage and Selection Operator (LASSO) model, where a ridge regression is combined with a least squares term multiplied by a factor of 1 divided by 2 times the number of samples. The linear regression model may include a multi-task LASSO model, where the norm applied to the least squares term of the LASSO model is the Frobenius norm, which corresponds to the square root of the sum of the squares of all the 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 robustness regression model, a Huber regression model, or any other suitable model that may occur to one of skill in the art upon reviewing this disclosure in its entirety. The linear regression model may be generalized to a polynomial regression model in one embodiment, whereby a polynomial (e.g., quadratic, cubic, or higher order equation) that provides the best predicted / actual output fit is found. As will be apparent to one of skill in the art upon reviewing this disclosure in its entirety, methods similar to those described above may be applied to minimize the error function.
[0056] With continued reference 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 support vector machines, including but not limited to support vector classification based regression processes. The machine learning algorithm may include stochastic gradient descent algorithms, including classification and regression algorithms based on stochastic gradient descent. The machine learning algorithm may include nearest neighbor algorithms. The machine learning algorithm may include various forms of latent space regularization, such as variational regularization. The machine learning algorithm may include Gaussian processes, such as Gaussian process regression. The machine learning algorithm may include cross decomposition algorithms, including partial least squares and / or canonical correlation analysis. The machine learning algorithm may include naive Bayes methods. The machine learning algorithm may include decision tree based algorithms, such as decision tree classification or regression algorithms. The machine learning algorithm may include ensemble methods, such as backing meta-estimators, randomized forests of trees, adaboost, gradient tree boosting and / or voting classifier methods. The machine learning algorithms may include neural net algorithms, including convolutional neural net processes.
[0057] Continuing with reference to FIG. 3, the machine learning model 324 may be configured using a naive Bayes classification algorithm. A 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. A naive Bayes classification algorithm may include generating a family of algorithms that assume that, given a class variable, the value of a particular element is independent of the value of any other element. A naive Bayes classification algorithm may be based on Bayes' theorem, expressed as P(A / B)=P(B / A)P(A)÷P(B). P(A / B) is the probability of hypothesis A given data B, also known as the posterior probability. P(B / A) is the probability of data B given that hypothesis A was true, and P(A) is the probability that hypothesis A is true regardless of the data, also known as the prior probability of A. P(B) is the probability of the data independent of the hypothesis. The Naive Bayes algorithm may be generated by first converting the training data into a frequency distribution table. The processor may then calculate a likelihood table by calculating the probabilities of different data entries and classification labels. The processor may utilize the Naive Bayes equation to calculate the posterior probability of each class. The class containing the highest posterior probability is the predicted outcome. 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 that is used for discrete counts. The Naive Bayes classification algorithm may include a Bernoulli model that may be utilized when the vectors are binary.
[0058] With further reference to FIG. 3, the machine learning model 324 may be configured using a KNN algorithm. "K-nearest neighbor algorithm," as used in this disclosure, includes a classification method that utilizes feature similarity to analyze how similar out-of-sample features are to training data and classify input data into one or more clusters and / or feature categories as represented in the training data. This may be performed by representing both the training data and the input data in vector form and using one or more measures of vector similarity to identify classifications in the training data and determine the classification of the input data. The KNN algorithm may include classifying known samples given a K value that determines the most common classifier of entries in a database. This may be performed recursively and / or iteratively to generate classifiers that may be used to classify the input data as further samples. For example, an initial set of samples may be run to cover initial heuristics and / or "first guesses" at the outputs and / or relationships, which may be seeded using expert input received according to any process as described herein, without limitation. As a non-limiting example, the initial heuristics may include ranks of associations between the inputs and elements of the training data. The heuristics may include selecting a few of the highest ranking associations and / or training data elements.
[0059] Continuing with reference to FIG. 3, generating a KNN algorithm may generate a first vector output containing clusters of data entries, generate a second vector output containing input data, and calculate the distance between the first and second vector outputs using any suitable norm, such as cosine similarity, Euclidean distance measure, etc. Each vector output may be represented, without limitation, as an n-tuple of values, where n is at least two values. Each value in the n-tuple of values may represent a measurement or other quantitative value associated with a given data category or attribute, examples of which are provided in more detail below. The vectors may be represented in an n-dimensional space, without limitation, using an axis for each category of values represented in the n-tuple of values, such that the vectors have a geometric direction that characterizes the relative amount of attributes in the n-tuple compared to each other. Two vectors may be considered equivalent if their directions and / or the relative amount of values in each vector compared to each other are the same. Thus, as a non-limiting example, a vector represented as [5,10,15] may be treated as equivalent to a vector represented as [1,2,3] for purposes of this disclosure. Vectors may be more similar if their directions are more similar, and more dissimilar if their directions are more divergent. However, vector similarity may alternatively or additionally be determined using the average similarity between similar attributes, or any other similarity measure appropriate for any n-tuple of values, or an aggregation of numerical similarity measures for use in a loss function as described in more detail below. 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 scaled using the Pythagorean norm
number
[0060] With further reference to FIG. 3, the machine learning model and / or process may be deployed or instantiated by incorporating it into a program, device, 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 an array of wires and / or binary inputs and / or outputs set to logic "1" and "0" voltage levels in a logic circuit to represent numbers according to any suitable encoding system, including 2's complement, or may be stored in any volatile and / or non-volatile memory. Similarly, mathematical operations and input of data to and / or output of data from the model, neural network layer, etc. may be instantiated in hardware circuits and / or in the form of instructions in firmware, machine code such as binary opcode instructions, assembly language, or any higher-level programming language.The machine learning process and / or model may be instantiated using any technique for hardware and / or software instantiation of memory, instructions, data structures and / or algorithms, including, but not limited to, generating and / or configuring non-reconfigurable hardware elements, circuits and / or modules, such as ASICs; generating and / or configuring reconfigurable hardware elements, circuits and / or modules, such as, but not limited to, Field Programmable Gate Arrays (FPGAs); generating and / or configuring non-reconfigurable and / or non-alterable memory elements, circuits and / or modules, such as, but not limited to, non-alterable ROMs; generating and / or configuring reconfigurable and / or rewriteable memory elements, circuits and / or modules, such as, but not limited to, rewriteable ROMs or other memory technologies described in this disclosure; and / or generating and / or configuring any computing device and / or components thereof described in this disclosure in any combination. Such deployed and / or instantiated machine learning models and / or algorithms may receive inputs from, and generate outputs to, any other processes, modules and / or components described in this disclosure.
[0061] With continued reference to FIG. 3, any process of training, retraining, deployment and / or instantiation of any machine learning model and / or algorithm may be performed and / or repeated after initial deployment and / or instantiation to modify, refine and / or improve the machine learning model and / or algorithm. Such retraining, deployment and / or instantiation may be performed as a periodic or periodic process, such as retraining, deployment and / or instantiation at regular elapsed periods, after some measure of quantity, such as number of bytes or other measures of data processed, number of uses or runs of the process described in this disclosure, and / or according to a software, firmware or other update schedule. Alternatively or additionally, retraining, deployment and / or instantiation may be event-based and may be triggered by, without limitation, user input indicating suboptimal or otherwise problematic performance, and / or by automated field testing and / or audit processes, which may compare the output of the machine learning model and / or algorithm and / or its error and / or error function to any threshold value, convergence determination, etc., and / or may compare the output of the process described herein to similar threshold value, convergence determination, etc. Event-based retraining, deployment and / or instantiation may alternatively or additionally be triggered by the receipt and / or generation of one or more new training examples. Some new training examples may be compared to a preconfigured threshold, and exceeding the preconfigured threshold may trigger retraining, deployment and / or instantiation.
[0062] With further reference to FIG. 3, retraining and / or additional training may be performed using any process for training described above, using any current or previously deployed version of the machine learning model and / or algorithm as a starting point. Training data for retraining may be collected, preconditioned, screened, classified, sanitized, or otherwise processed according to any process described in this disclosure. Training data may include, without limitation, training examples including inputs and correlation outputs used, received, and / or generated from any version of any system, module, machine learning model or algorithm, apparatus, and / or method described in this disclosure. Such examples may be modified and / or labeled according to user feedback or other processes, may indicate desired results, and / or may have actual or measured results from a process modeled and / or predicted by the system, module, machine learning model or algorithm, apparatus, and / or method as “desired” results, and are compared to the output of the training process as described above.
[0063] Redeployment may be performed using any reconfiguration and / or rewriting of reconfigurable and / or rewriteable circuitry and / or memory elements, or redeployment may be performed by the generation of new hardware and / or software components, circuits, instructions, etc., which may be added to and / or replace existing hardware and / or software components, circuits, instructions, etc.
[0064] With further reference to FIG. 3, one or more processes or algorithms described above may be performed by at least a dedicated hardware unit 336. For purposes of this figure, a "dedicated hardware unit" is a hardware component, circuitry, etc., other than a main control circuit and / or processor that performs method steps as described in this disclosure, 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 machine learning algorithms and / or models. The dedicated hardware unit 336 may include hardware units that can efficiently use, but are not limited to, pipelining, parallel processing, etc. to perform repetitive or intensive calculations, such as matrix-based calculations to update or adjust parameters, weights, coefficients and / or biases of machine learning models and / or neural networks. Such hardware units may be optimized for such processing, for example, by including dedicated circuitry for matrix and / or signal processing operations, including multiple arithmetic and / or logic circuit units, such as, for example, multipliers and / or adders, that can operate simultaneously and / or in parallel. Such special-purpose hardware units 336 may include, but are not limited to, a Graphical Processing Unit (GPU), a special-purpose signal processing module, an FPGA, or other reconfigurable hardware configured to instantiate parallel processing units for one or more specific tasks, etc. A computing device, processor, apparatus, or module may be configured to instruct one or more special-purpose hardware units 336 to perform one or more operations described herein, such as evaluation of models and / or algorithmic outputs, one-time or iterative updates to parameters, coefficients, weights, and / or biases, and / or any other operations, such as vector and / or matrix operations as described in this disclosure.
[0065] Referring now to FIG. 4, an exemplary embodiment of a neural network 400 is illustrated. A neural network 400, also known as an artificial neural network, is a network of "nodes", i.e., data structures having one or more inputs, one or more outputs, and a function that determines the output based on the inputs. Such nodes may be organized into a network, such as, but not limited to, a convolutional neural network, including an input layer of nodes 404, one or more hidden layers 408, and an output layer of nodes 412. The connections between the nodes may be generated through a process of "training" the network, where elements from a training data set are applied to the input nodes, and then a suitable training algorithm (such as Levenberg-Marquardt, conjugate gradient, simulated annealing, or other algorithms) is used to adjust the connections and weights between nodes in adjacent layers of the neural network to generate desired values for the output nodes. This process is sometimes referred to as deep learning. The connections may run only from the input nodes to the output nodes in a "feed-forward" network, or may feed back the output of one layer to the input of the same or a different layer in a "regression network." As a further non-limiting example, a neural network may include a convolutional neural network with an input layer of nodes, one or more hidden layers, and an output layer of nodes. A "convolutional neural network," as used in this disclosure, is a neural network in which at least one hidden layer is a convolutional layer that convolves the input to that layer with a subset of the inputs known as "kernels," along with one or more additional layers, such as pooling layers, fully connected layers, etc.
[0066] Continuing to refer to FIG. 4, in a non-limiting embodiment, a neural network may be built around a large number of simultaneously operational or standby ECG devices and their associated networks. Each individual ECG device may be an input node 404, an intermediate node 408, an output node 412, or a combination of the three, if applicable. In cases where bandwidth or data is limited, the remote devices are primarily input nodes, and most of the processing by the machine learning model is done remotely. To optimize system operation, the machine learning model may define certain remote devices and manage said processing to minimize the time spent on analysis, providing the user with as close to real-time feedback as possible.
[0067] 5, an exemplary embodiment of a node of a neural network is illustrated. The node has multiple inputs x that may receive values from, but are not limited to, inputs to the neural network that contains the node and / or from other nodes. i A node may contain, for each input x i Weighting w multiplied by i A weighted sum of the inputs may be performed using a weighted sum of the inputs. Additionally or alternatively, a bias b may be added to the weighted sum of the inputs, thereby adding an offset to each unit in the neural network layer that is independent of the input to the layer. The weighted sum may then be input to a function φ, which may generate one or more outputs y. i The weighting w applied to i may indicate whether an input is "excitatory", e.g., by having a corresponding weighting with a large numerical value, indicating that the input has a strong influence on one or more outputs y, and / or "inhibitory", e.g., by having a corresponding weighting with a small numerical value, indicating that the input has a weak influence on another input y. iThe value of may be determined by training the neural network using training data, which may be performed using any suitable process such as those described above.
[0068] 6, a flow diagram of an exemplary method 600 for unpaired time series to time series conversion is illustrated. At step 605, the method 600 includes receiving initial time series data from a source domain using at least one processor, which may be implemented as described with reference to FIGS. 1-12.
[0069] 6, at step 610, the method 600 includes converting, using at least one processor, the source time series data into a target domain time series protocol such that the source time series data is usable in the target domain, which may be implemented as described with reference to FIGS.
[0070] 6, at step 615, the method 600 includes authenticating the time series data in the target domain using at least one processor. Authentication may be accomplished in a number of ways, including the use of a classifier model, which may be implemented as described with reference to FIGS. 1-12.
[0071] 6, at step 620, the method 600 may include continuing to transform the time series data using the at least one processor if compatibility with the target domain protocol is insufficient, which may be implemented as described with reference to FIGS.
[0072] Referring now to Figure 7, a flow diagram of an exemplary method 700 for unpaired time series to time series conversion is illustrated. Figure 7 reflects the same flow and steps as Figure 6, but incorporates a deep neural network as the primary device for performing the conversion. This may be implemented as described with reference to Figures 1-12.
[0073] 8, a flow diagram of an exemplary method 800 for optimizing the effectiveness of a time series sensor system is illustrated. At step 805, the method 800 includes accessing a historical time series database containing machine learning processes, training and algorithms, which may be implemented as described with reference to FIGS. 1-12.
[0074] 8, at step 810, method 800 includes evaluating the historical time series data and associated machine learning processes, training and algorithms for applicability in any future time series operations, which may be implemented as described with reference to FIGS.
[0075] 8, at step 815, method 800 includes applying the historical time series data and associated machine learning processes, training and algorithms that are deemed applicable and useful to future time series behavior. The application of this data may be used as training data to improve current machine learning processes. This may be implemented as described with reference to FIGS. 1-12.
[0076] 8, at step 820, the method 800 includes incorporating any refinements, degradations, and changes caused by applying the past time-series training data to the current machine learning process, which may be implemented as described with reference to FIGS.
[0077] 9, a flow diagram of an exemplary method 900 for improving the characteristic data and capture modality of a time series sensor system in a standalone device is illustrated. At step 905, the method 900 includes accessing a historical time series database that holds standalone device data. This may be implemented as described with reference to FIGS. 1-12.
[0078] 9, at step 910, the method 900 includes identifying any machine learning processes that may be used to improve the machine learning processes of the current standalone device, which may be implemented as described with reference to FIGS.
[0079] 9, at step 915, the method 900 includes applying the machine learning process refinements from the historical database to the current machine learning process as used in the current standalone device, which may be implemented as described with reference to FIGS.
[0080] 10, a flow diagram of an exemplary method 1000 for improving the characteristic data and capture modality of a time series sensor system in a wearable device is illustrated. Method 1000 relies on the same steps as method 900 above, except that it is only applied to wearable devices. It may be implemented as described with reference to FIGS. 1-12.
[0081] 11, a flow diagram of an exemplary method 1100 for improving time series sensor system data, capture and analysis in a wearable medical device is illustrated. At step 1105, the method 1100 includes accessing a database containing historical time series data of the wearable device. This may be implemented as described with reference to FIGS. 1-12.
[0082] 11, at step 1110, the method 1100 includes identifying any past machine learning processes or input / output correlations that may improve the current machine learning process as applied to the wearable device. This may be implemented as described with reference to FIGS.
[0083] 11, at step 1115, method 1100 includes identifying any historical methods that enable or facilitate the ability to refine post-collection analytical or predictive information, which may be implemented as described with reference to FIGS.
[0084] 11, at step 1120, the method 1100 includes applying the improved historical method to a current machine learning process as applied to the wearable device, which may be implemented as described with reference to FIGS.
[0085] It should be noted that any one or more of the aspects and embodiments described herein may be conveniently 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, etc.) programmed in accordance with the teachings herein, as would be apparent to one of ordinary skill in the computer arts. As would be apparent to one of ordinary skill in the software arts, appropriate software coding may be readily prepared by skilled programmers based on the teachings of the present disclosure. The above-discussed aspects and implementations employing software and / or software modules may also include appropriate hardware to assist in the implementation of the machine-executable instructions of the software and / or software modules.
[0086] Such software may be a computer program product employing a machine-readable storage medium. A machine-readable storage medium may be any medium capable of storing and / or encoding a set of instructions for execution by a machine (e.g., a computing device) and causing said machine to perform 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., CDs, CD-Rs, DVDs, DVD-Rs, etc.), magneto-optical disks, read-only memory "ROM" devices, random access memory "RAM" devices, magnetic cards, optical cards, solid-state memory devices, EPROMs, EEPROMs, and any combination thereof. Machine-readable media, as used herein, is intended to include a single medium as well as a collection of physically separate media, examples of which include, for example, a compact disc in combination with a computer memory, or a collection of one or more hard disk drives. As used herein, machine-readable storage media does not include a transitory form of signal transmission.
[0087] Such software may 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 embodied in a data carrier, where said signal encodes a set of instructions, or portions thereof, for execution by a machine (e.g., a computing device) and any associated information (e.g., data structures and data) that cause said machine to perform any one of the methodologies and / or embodiments described herein.
[0088] Examples of computing devices include, but are not limited to, e-book readers, 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 set of instructions that specify actions that the machine should take, and any combination thereof. In one example, a computing device may include and / or be included in an automated ticket machine.
[0089] 12, there is illustrated a schematic diagram of one embodiment of a computing device in the exemplary form of a computer system 1200 upon which a set of instructions for causing a control system to perform any one or more of the aspects and / or methodologies of the present disclosure may be executed. It is also envisioned that multiple computing devices may be utilized to implement a set of instructions specifically configured for causing one or more of said devices to perform any one or more of the aspects and / or methodologies of the present disclosure. The computer system 1200 includes a processor 1204 and a memory 1208 that communicate with each other and with other components via a bus 1212. The bus 1212 may 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.
[0090] The processor 1204 may include any suitable processor, such as, but not limited to, a processor incorporating logic circuitry for performing arithmetic and logical operations, such as an Arithmetic and Logic Unit (ALU), which may be coordinated with a state machine and directed by operational inputs from memory and / or sensors. The processor 1204 may be organized according to the Von Neumann and / or Harvard architectures, as non-limiting examples. The processor 1204 may include, incorporate and / or be incorporated in, but is not limited to, a microcontroller, a microprocessor, a Digital Signal Processor (DSP), an FPGA, a Complex Programmable Logic Device (CPLD), a Graphical 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), and / or a System on a Chip (SoC).
[0091] Memory 1208 may include a variety of 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 1216 (BIOS), containing the basic routines that help to transfer information between elements within computer system 1200, such as during start-up, may be stored in memory 1208. Memory 1208 may also include instructions (e.g., software) 1220 (e.g., stored on one or more machine-readable media) that embody any one or more of the aspects and / or methodologies of the present disclosure. In another example, memory 1208 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.
[0092] Computer system 1200 may also include storage 1224. Examples of storage (e.g., storage 1224) 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 1224 may be connected to bus 1212 by an appropriate interface (not shown). Exemplary interfaces include, but are not limited to, SCSI, Advanced Technology Attachment (ATA), Serial ATA, Universal Serial Bus (USB), IEEE 1394 (FIREWIRE®), and any combination thereof. In one example, storage 1224 (or one or more components thereof) may be removably interfaced with computer system 1200 (e.g., via an external port connector (not shown)). In particular, storage devices 1224 and associated machine-readable media 1228 may provide non-volatile and / or volatile storage of machine-readable instructions, data structures, program modules, and / or other data for computer system 1200. In one example, software 1220 may reside, completely or partially, within machine-readable media 1228. In another example, software 1220 may reside, completely or partially, within processor 1204.
[0093] The computer system 1200 may also include input devices 1232. In one example, a user of the computer system 1200 may input commands and / or other information to the computer system 1200 via the input devices 1232. Examples of the input devices 1232 include, but are not limited to, an alphanumeric input device (e.g., a keyboard), a pointing device, a joystick, a gamepad, an audio input device (e.g., a microphone, a voice response system, etc.), a cursor control device (e.g., a mouse), a touchpad, an optical scanner, a video capture device (e.g., a still camera, a video camera), a touch screen, and any combination thereof. The input devices 1232 may be interfaced to the bus 1212 via any of a variety of interfaces (not shown), including, but not limited to, a serial interface, a parallel interface, a game port, a USB interface, a FIREWIRE interface, a direct interface to the bus 1212, and any combination thereof. The input devices 1232 may include a touch screen interface, which may be part of the display 1236 or may be separate therefrom, as discussed further below. The input device 1232 may be utilized as a user selection device for selecting one or more graphical representations within a graphical interface, as described above.
[0094] A user may also input commands and / or other information to computer system 1200 via storage device 1224 (e.g., a removable disk drive, flash drive, etc.) and / or network interface device 1240. A network interface device, such as network interface device 1240, may be utilized to connect computer system 1200 to one or more of a variety of networks, such as network 1244, and one or more remote devices 1248 connected thereto. Examples of network interface devices include, but are not limited to, a network interface card (e.g., a mobile network interface card, a LAN card), a modem, and any combination thereof. Examples of networks include, but are not limited to, a wide area network (e.g., the Internet, a corporate network), a local area network (e.g., a network associated with an office, building, campus, or other relatively small geographic space), a telephone network, a data network associated with a telephone / voice provider (e.g., a mobile communications provider data and / or voice network), a direct connection between two computing devices, and any combination thereof. A network, such as network 1244, may employ wired and / or wireless communication modes. In general, any network topology may be used. Information (e.g., data, software 1220, etc.) may be communicated to and from computer system 1200 via network interface device 1240.
[0095] The computer system 1200 may further include a video display adapter 1252 for communicating displayable images to a display device, such as the display device 1236. Examples of display devices include, but are not limited to, a Liquid Crystal Display (LCD), a Cathode Ray Tube (CRT), a plasma display, a Light Emitting Diode (LED) display, and any combination thereof. The display adapter 1252 and the display device 1236 may be utilized in combination with the processor 1204 to provide graphical representations of aspects of the disclosure. In addition to a display, the computer system 1200 may include one or more other peripheral output devices, including, but not limited to, audio speakers, a printer, and any combination thereof. Such peripheral output devices may be connected to the bus 1212 via a peripheral interface 1256. Examples of peripheral interfaces include, but are not limited to, a serial port, a USB connection, a FIREWIRE connection, a parallel connection, and any combination thereof.
[0096] The foregoing is a detailed description of exemplary embodiments of the present invention. Various modifications and additions can be made without departing from the spirit and scope of the present invention. Each feature of the various embodiments described above may be combined with features of other described embodiments as necessary to provide multiple feature combinations in related new embodiments. Moreover, while the foregoing describes several separate embodiments, what has been described herein is merely illustrative of the application of the principles of the present invention. Furthermore, although certain methods herein may be illustrated and / or described as being performed in a particular order, said order may be significantly altered within the skill of the art to achieve the methods, systems and software according to the present disclosure. Thus, this description is meant to be taken only as an example, and not to otherwise limit the scope of the present invention.
[0097] Exemplary embodiments are disclosed above and illustrated in the accompanying drawings. Those skilled in the art will appreciate that various modifications, omissions and additions may be made to what is specifically disclosed herein without departing from the spirit and scope of the present invention.
Claims
1. 1. An apparatus for machine learning using non-pairwise time series transformation, the apparatus comprising: at least one processor; and a memory communicatively coupled to the at least one processor, the memory comprising: receiving at least one time series of measurements from at least one sensor, the time series of measurements being recorded using at least one initial domain protocol; Transforming the at least one time series from the initial domain protocol to a target domain protocol, the transforming further comprising transforming the time series using an unsupervised generative machine learning process. generating training data using the transformed at least one time series; training a machine learning model using the training data and at least one analytical process; and instantiating the machine learning model on an analysis circuit device, the machine learning model configuring the analysis circuit device to perform the analysis process; and a memory containing instructions configuring the at least one processor to:
2. the at least one time series further comprising a first time series recorded using a first initial domain protocol and a second time series recorded using a second initial domain protocol; The apparatus of claim 1 , wherein the second initial domain protocol is distinct from the first initial domain protocol.
3. Transforming the at least one time series includes: converting the first initial domain protocol to a common domain protocol; and converting the second initial domain protocol to the common domain protocol; The apparatus of claim 2 further comprising:
4. The apparatus of claim 1 , wherein the generative machine learning process further comprises a generative adversarial network machine learning process.
5. The apparatus of claim 1 , wherein the generative machine learning process further comprises a diffusion-based machine learning process.
6. The apparatus of claim 1 , wherein the generative machine learning process further comprises a generative machine learning process that uses at least one deep neural network.
7. 10. The apparatus of claim 1 , wherein the at least one deep neural network comprises a plurality of deep neural networks.
8. The apparatus of claim 1 , wherein converting further comprises converting using a plurality of conditional inputs.
9. The analysis process further comprises at least one input and at least one expected output; generating the training data further comprises generating a plurality of training examples correlating input data to output data as a function of the at least one input and the at least one expected output.
2. The apparatus of claim 1.
10. reconverting the at least one time series from the common protocol to the at least one initial protocol; and authenticating the transformed time series as a function of the re-transformation; The apparatus of claim 1 , further configured to:
11. 1. A method for converting a non-paired time series into a time series, the method comprising: receiving, by a computing device, an automated analysis of the time series data set; Transforming, by the computing device, the time series of an initial domain into usable data in another time series domain, where transforming the time series includes training a deep neural network to transform signals from one rule to another; and authenticating, by the computing device, the conversion; A method comprising:
12. 12. The method of claim 11, wherein transforming the time series between domains comprises transforming, by the computing device, the time series between domains using a generative adversarial network.
13. 12. The method of claim 11, wherein converting the time series between domains comprises converting, by the computing device, the time series between domains using a diffusion model based on an energy-induced stochastic integral-based equation.
14. 12. The method of claim 11, wherein receiving an automated analysis of a time series comprises receiving, by the computing device, the automated analysis of the time series performed using a neural network of a connected device.
15. 12. The method of claim 11, wherein receiving the automated analysis of the time series includes receiving, by the computing device, the automated analysis of the time series from scanned images that rely on optical character recognition to interpret available printed data.
16. 12. The method of claim 11, wherein validating the transformation by inverse transforming the time series back to the original domain to verify consistency is accomplished by the computing device using a machine learning process to evaluate the transformed data against a confidence threshold.
17. 13. The method of claim 12, wherein the generative adversarial network relies on a machine learning process to iteratively map inputs to outputs by the computing device, and is relatively free of cycle consistency loss as referenced to simultaneous mapping sequences.
18. The method of claim 11 , wherein validating the transformation by inverse transforming the time series back to the original domain, by the computing device, verifies consistency with the original time series.
19. 1. A method for conversion from unpaired time series to a new time series, the method comprising: receiving, by a computing device, an automated analysis of the time series; and converting, by the computing device, the time series of the initial domain into a new time series domain with a native format and protocol; A method comprising:
20. 20. The method of claim 19, wherein the transforming, by the computing device, of the time series in the initial domain to a new time series domain is based on a plurality of conditional inputs to bias the machine learning process.
Citation Information
Patent Citations
Data conversion device, data conversion method and program
JP2021192300A
Method and apparatus for generating an electrocardiogram from a photoplethysmogram
WO2022067439A1