Machine learning classification system
AssigneeSAS Institute Inc.
InventorXu Chen
Life of this patent
Estimating the term…
Abstract
A computing device classifies unclassified observations. A first batch of unclassified observation vectors and a first batch of classified observation vectors are selected. A prior regularization error value and a decoder reconstruction error value are computed. A first batch of noise observation vectors is generated. An evidence lower bound (ELBO) value is computed. A gradient of an encoder neural network model is computed, and the ELBO value is updated. A decoder neural network model and an encoder neural network model are updated. The decoder neural network model is trained. The target variable value is determined for each observation vector of the unclassified observation vectors based on an output of the trained decoder neural network model. The target variable value is output.
Claims30
A non-transitory computer-readable medium having stored thereon computer-readable instructions that when executed by a computing device cause the computing device to:
- identify noisy classified observation vectors from a plurality of classified observation vectors, wherein noisy classified observation vectors are determined to have an incorrect target variable value;
- correct the incorrect target variable value of the identified noisy classified observation vectors;
- (A) select a first batch of unclassified observation vectors from a plurality of unclassified observation vectors, wherein the first batch of unclassified observation vectors includes a predefined number of observation vectors;
- (B) select a first batch of classified observation vectors from the plurality of classified observation vectors after correcting the incorrect target variable value of the identified noisy classified observation vectors, wherein a target variable value is defined to represent a class for each respective observation vector of the plurality of classified observation vectors, wherein the first batch of classified observation vectors includes the predefined number of observation vectors;
- (C) compute a prior regularization error value using a β-divergence distance computation from the selected first batch of unclassified observation vectors and the selected first batch of classified observation vectors, wherein a predefined β value for the β-divergence distance computation is greater than zero and less than one;
- (D) compute a decoder reconstruction error value from the selected first batch of unclassified observation vectors and the selected first batch of classified observation vectors;
- (E) generate a first batch of noise observation vectors using a predefined noise function, wherein the first batch of noise observation vectors includes a predefined number of observation vectors;
- (F) compute an evidence lower bound (ELBO) gradient value from the computed prior regularization error value and the computed decoder reconstruction error value;
- (G) compute a gradient of an encoder neural network model;
- (H) update an ELBO value using the computed ELBO gradient value;
- (I) update a decoder neural network model with a plurality of observation vectors, wherein the plurality of observation vectors includes the first selected batch of unclassified observation vectors, the selected first batch of classified observation vectors, and the generated first batch of noise observation vectors;
- (J) update the encoder neural network model with the plurality of observation vectors;
- (K) train the decoder neural network model to classify the plurality of unclassified observation vectors and the first batch of noise observation vectors by repeating (A) to (J) until the computed ELBO gradient value indicates a decoder loss value and an encoder loss value have converged or a predetermined maximum number of iterations of (A) is performed;
- determine the target variable value for each observation vector of the plurality of unclassified observation vectors based on an output of the trained decoder neural network model;
- and
- output the target variable value for each observation vector of the plurality of unclassified observation vectors, wherein the target variable value selected for each observation vector of the plurality of unclassified observation vectors identifies the class of a respective observation vector,
- wherein identifying the noisy classified observation vectors and correcting the incorrect target variable value comprises:
- defining cluster centers for the plurality of unclassified observation vectors using a clustering algorithm, wherein a number of the cluster centers is a number of unique values of the target variable value of the plurality of classified observation vectors;
- defining class centers for the plurality of classified observation vectors using the clustering algorithm, wherein a number of the class centers is the number of unique values of the target variable value;
- determining a unique class for each cluster of the defined cluster centers, wherein the unique class is selected from a plurality of classes, wherein each class of the plurality of classes represents a unique value of the target variable value of the plurality of classified observation vectors;
- (L) selecting a next classified observation vector from the plurality of classified observation vectors;
- (M) computing a distance value between the selected next classified observation vector and each cluster center of the defined cluster centers;
- (N) when the target variable value of the selected next classified observation vector is not the unique class determined for a cluster center having a minimum computed distance value,
- selecting a first distance value as the minimum computed distance value;
- selecting a second distance value as the computed distance value to the cluster center having the unique class of the target variable value of the selected next classified observation vector;
- computing a ratio value between the selected second distance value and the selected first distance value;
- and
- changing the target variable value of the selected next classified observation vector to the unique class determined for the cluster center having the minimum computed distance value when the computed ratio value satisfies a predefined label correction threshold;
- and
- (O) repeating (L) through (N) until each observation vector of the plurality of classified observation vectors is selected in (L),
- wherein the target variable value selected for each observation vector of the plurality of observation vectors is defined to represent the class for a respective observation vector.
A computing device comprising:
- a processor;
- and
- a non-transitory computer-readable medium operably coupled to the processor, the computer-readable medium having computer-readable instructions stored thereon that, when executed by the processor, cause the computing device to
- identify noisy classified observation vectors from a plurality of classified observation vectors, wherein noisy classified observation vectors are determined to have an incorrect target variable value;
- correct the incorrect target variable value of the identified noisy classified observation vectors;
- (A) select a first batch of unclassified observation vectors from a plurality of unclassified observation vectors, wherein the first batch of unclassified observation vectors includes a predefined number of observation vectors;
- (B) select a first batch of classified observation vectors from the plurality of classified observation vectors after correcting the incorrect target variable value of the identified noisy classified observation vectors, wherein a target variable value is defined to represent a class for each respective observation vector of the plurality of classified observation vectors, wherein the first batch of classified observation vectors includes the predefined number of observation vectors;
- (C) compute a prior regularization error value using a β-divergence distance computation from the selected first batch of unclassified observation vectors and the selected first batch of classified observation vectors, wherein a predefined β value for the β-divergence distance computation is greater than zero and less than one;
- (D) compute a decoder reconstruction error value from the selected first batch of unclassified observation vectors and the selected first batch of classified observation vectors;
- (E) generate a first batch of noise observation vectors using a predefined noise function, wherein the first batch of noise observation vectors includes a predefined number of observation vectors;
- (F) compute an evidence lower bound (ELBO) gradient value from the computed prior regularization error value and the computed decoder reconstruction error value;
- (G) compute a gradient of an encoder neural network model;
- (H) update an ELBO value using the computed ELBO gradient value;
- (I) update a decoder neural network model with a plurality of observation vectors, wherein the plurality of observation vectors includes the first selected batch of unclassified observation vectors, the selected first batch of classified observation vectors, and the generated first batch of noise observation vectors;
- (J) update the encoder neural network model with the plurality of observation vectors;
- (K) train the decoder neural network model to classify the plurality of unclassified observation vectors and the first batch of noise observation vectors by repeating (A) to (J) until the computed ELBO gradient value indicates a decoder loss value and an encoder loss value have converged or a predetermined maximum number of iterations of (A) is performed;
- determine the target variable value for each observation vector of the plurality of unclassified observation vectors based on an output of the trained decoder neural network model;
- and
- output the target variable value for each observation vector of the plurality of unclassified observation vectors, wherein the target variable value selected for each observation vector of the plurality of unclassified observation vectors identifies the class of a respective observation vector, wherein identifying the noisy classified observation vectors and correcting the incorrect target variable value comprises:
- defining cluster centers for the plurality of unclassified observation vectors using a clustering algorithm, wherein a number of the cluster centers is a number of unique values of the target variable value of the plurality of classified observation vectors;
- defining class centers for the plurality of classified observation vectors using the clustering algorithm, wherein a number of the class centers is the number of unique values of the target variable value;
- determining a unique class for each cluster of the defined cluster centers, wherein the unique class is selected from a plurality of classes, wherein each class of the plurality of classes represents a unique value of the target variable value of the plurality of classified observation vectors;
- (L) selecting a next classified observation vector from the plurality of classified observation vectors;
- (M) computing a distance value between the selected next classified observation vector and each cluster center of the defined cluster centers;
- (N) when the target variable value of the selected next classified observation vector is not the unique class determined for a cluster center having a minimum computed distance value,
- selecting a first distance value as the minimum computed distance value;
- selecting a second distance value as the computed distance value to the cluster center having the unique class of the target variable value of the selected next classified observation vector;
- computing a ratio value between the selected second distance value and the selected first distance value;
- and
- changing the target variable value of the selected next classified observation vector to the unique class determined for the cluster center having the minimum computed distance value when the computed ratio value satisfies a predefined label correction threshold;
- and
- (O) repeating (L) through (N) until each observation vector of the plurality of classified observation vectors is selected in (L),
- wherein the target variable value selected for each observation vector of the plurality of observation vectors is defined to represent the class for a respective observation vector.
A method of predicting occurrence of an event or classifying an object using semi-supervised data to label unclassified data, the method comprising:
- identifying, by a computing device, noisy classified observation vectors from a plurality of classified observation vectors, wherein noisy classified observation vectors are determined to have an incorrect target variable value;
- correcting, by the computing device, the incorrect target variable value of the identified noisy classified observation vectors;
- (A) selecting, by the computing device, a first batch of unclassified observation vectors from a plurality of unclassified observation vectors, wherein the first batch of unclassified observation vectors includes a predefined number of observation vectors;
- (B) selecting, by the computing device, a first batch of classified observation vectors from the plurality of classified observation vectors after correcting the incorrect target variable value of the identified noisy classified observation vectors, wherein a target variable value is defined to represent a class for each respective observation vector of the plurality of classified observation vectors, wherein the first batch of classified observation vectors includes the predefined number of observation vectors;
- (C) computing, by the computing device, a prior regularization error value using a β-divergence distance computation from the selected first batch of unclassified observation vectors and the selected first batch of classified observation vectors, wherein a predefined β value for the β-divergence distance computation is greater than zero and less than one;
- (D) computing, by the computing device, a decoder reconstruction error value from the selected first batch of unclassified observation vectors and the selected first batch of classified observation vectors;
- (E) generating, by the computing device, a first batch of noise observation vectors using a predefined noise function, wherein the first batch of noise observation vectors includes a predefined number of observation vectors;
- (F) computing, by the computing device, an evidence lower bound (ELBO) gradient value from the computed prior regularization error value and the computed decoder reconstruction error value;
- (G) computing, by the computing device, a gradient of an encoder neural network model;
- (H) updating, by the computing device, an ELBO value using the computed ELBO gradient value;
- (I) updating, by the computing device, a decoder neural network model with a plurality of observation vectors, wherein the plurality of observation vectors includes the first selected batch of unclassified observation vectors, the selected first batch of classified observation vectors, and the generated first batch of noise observation vectors;
- (J) updating, by the computing device, the encoder neural network model with the plurality of observation vectors;
- (K) training, by the computing device, the decoder neural network model to classify the plurality of unclassified observation vectors and the first batch of noise observation vectors by repeating (A) to (J) until the computed ELBO gradient value indicates a decoder loss value and an encoder loss value have converged or a predetermined maximum number of iterations of (A) is performed;
- determining, by the computing device, the target variable value for each observation vector of the plurality of unclassified observation vectors based on an output of the trained decoder neural network model;
- and
- outputting, by the computing device, the target variable value for each observation vector of the plurality of unclassified observation vectors, wherein the target variable value selected for each observation vector of the plurality of unclassified observation vectors identifies the class of a respective observation vector,
- wherein identifying the noisy classified observation vectors and correcting the incorrect target variable value comprises:
- defining, by the computing device, cluster centers for the plurality of unclassified observation vectors using a clustering algorithm, wherein a number of the cluster centers is a number of unique values of the target variable value of the plurality of classified observation vectors;
- defining, by the computing device, class centers for the plurality of classified observation vectors using the clustering algorithm, wherein a number of the class centers is the number of unique values of the target variable value;
- determining, by the computing device, a unique class for each cluster of the defined cluster centers, wherein the unique class is selected from a plurality of classes, wherein each class of the plurality of classes represents a unique value of the target variable value of the plurality of classified observation vectors;
- (L) selecting, by the computing device, a next classified observation vector from the plurality of classified observation vectors;
- (M) computing, by the computing device, a distance value between the selected next classified observation vector and each cluster center of the defined cluster centers;
- (N) when the target variable value of the selected next classified observation vector is not the unique class determined for a cluster center having a minimum computed distance value,
- selecting, by the computing device, a first distance value as the minimum computed distance value;
- selecting, by the computing device, a second distance value as the computed distance value to the cluster center having the unique class of the target variable value of the selected next classified observation vector;
- computing, by the computing device, a ratio value between the selected second distance value and the selected first distance value;
- and
- changing, by the computing device, the target variable value of the selected next classified observation vector to the unique class determined for the cluster center having the minimum computed distance value when the computed ratio value satisfies a predefined label correction threshold;
- and
- (O) repeating, by the computing device, (L) through (N) until each observation vector of the plurality of classified observation vectors is selected in (L),
- wherein the target variable value selected for each observation vector of the plurality of observation vectors is defined to represent the class for a respective observation vector.
Dependencies are inferred from the claim text.