Feature dataset classification

By retrieving pre-computed class indications in parallel or serially on the device and voting to determine the classification, the high computational complexity of the naive Bayes classifier is solved, and fast and high-precision class prediction is achieved with low complexity, which is suitable for portable and wearable devices.

CN113597647BActive Publication Date: 2025-09-30ARM LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202080022498.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2019-03-29
Filing Date
2020-02-27
Publication Date
2025-09-30
Estimated Expiration
2040-02-27

AI Technical Summary

Technical Problem

Existing technologies have high computational complexity when implementing naive Bayes classifiers on devices with limited data processing capabilities, making it difficult to quickly generate class predictions.

Method used

Multiple Bayesian classifiers are used to retrieve pre-computed class indicators in parallel or serially, and the final classification is determined by voting, reducing gate counts and computational complexity.

Benefits of technology

It achieves fast generation of class predictions with low complexity while maintaining high prediction accuracy, suitable for portable and wearable devices.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113597647B_ABST
    Figure CN113597647B_ABST
Patent Text Reader

Abstract

The present invention discloses an apparatus and a method for operating such an apparatus. The present invention discloses an apparatus comprising a feature data set input circuit for receiving a feature data set, the feature data set comprising a plurality of feature data values ​​indicating a set of features, wherein each feature data value is represented by a set of bits. A class retrieval circuit, in response to receiving the feature data set from the feature data set input circuit, retrieves a class indication for each feature data value received in the feature data set from a class indication storage device, wherein the class indication is predetermined for each permutation of the set of bits for each feature and is stored in the class indication storage device. A classification output circuit, in response to receiving the class indication from the class retrieval circuit, determines a classification based on the class indication. Thus, a predicted class can be accurately generated using a simple apparatus.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] The present technology relates to the field of data processing.

[0002] Various methods can be used to classify an input data set based on multiple feature data values ​​that constitute the feature data set. For example, a device can be constructed based on a naive Bayes classifier that applies Bayes' theorem. A common implementation is based on a Gaussian naive Bayes algorithm, in which each factor of the likelihood term in the Bayesian formula is modeled as a (univariate) Gaussian distribution. A naive Bayes algorithm implementation can be trained using a training data set (in which the desired class to be predicted is known), and then the trained model can be used for a new input data set to generate class predictions. Such an implementation may still require a significant level of computing power in hardware in order to process each input data set and generate a predicted class based on the training model. There may be some specific implementation contexts in which it is desired to generate class predictions by a simpler device with limited data processing capabilities.

[0003] At least some examples provide an apparatus comprising: a feature data set input circuit for receiving a feature data set comprising a plurality of feature data values ​​indicating a set of features, wherein each feature data value is represented by a set of bits; a class retrieval circuit, responsive to receiving the feature data set from the feature data set input circuit, for retrieving a class indication for each feature data value received in the feature data set from a class indication storage device, wherein for each arrangement of a set of bits for each feature, the class indication is predetermined and stored in the class indication storage device; and a classification output circuit, responsive to receiving the class indication from the class retrieval circuit, for determining a classification based on the class indication.

[0004] At least some examples provide a method of operating a device, the method comprising: receiving a feature data set at a feature data set input comprising a plurality of feature data values ​​indicating a set of features, wherein each feature data value is represented by a set of bits; retrieving a class indication for each feature data value received in the feature data set from a class indication storage device, wherein for each permutation of the set of bits for each feature, the class indication is predetermined and stored in the class indication storage device; and determining a classification based on the class indication.

[0005] At least some examples provide an apparatus comprising: a device for receiving a feature data set comprising a plurality of feature data values ​​indicating a set of features, wherein each feature data value is represented by a set of bits; a device for retrieving a class indication for each feature data value received in the feature data set from a device for storing class indications, wherein for each permutation of the set of bits for each feature, the class indication is predetermined and stored in the device for storing class indications; and a device for determining a classification based on the class indication.

[0006] The present technology will be further described, by way of example only, with reference to the embodiments of the invention as illustrated in the accompanying drawings, read in conjunction with the following description, in which:

[0007] Figure 1 schematically illustrates an apparatus according to some exemplary embodiments;

[0008] Figure 2 Schematically illustrates a training arrangement according to which, in some exemplary embodiments, a Gaussian Naive Bayes model implementation is trained using a feature training dataset;

[0009] Figure 3A and Figure 3B shows an exemplary feature distribution on which a training model may be based in some exemplary embodiments;

[0010] Figure 4 schematically illustrates an apparatus including multiple class lookup tables accessed in parallel in some exemplary embodiments;

[0011] Figure 5 schematically illustrates an apparatus including a single-like lookup table for serial access to a plurality of feature values ​​in some exemplary embodiments;

[0012] Figure 6A Schematically illustrates the weights of class values ​​in some exemplary embodiments;

[0013] Figure 6B Schematically illustrates selection between indicated classes by voting in some exemplary embodiments;

[0014] Figure 7 Schematically illustrates a low-precision implementation for receiving a 5-bit feature value to be used for finding a 3-bit class value in some exemplary embodiments;

[0015] Figure 8A schematically illustrates a set of sensors that generate an input feature dataset for a device in some exemplary embodiments;

[0016] Figure 8B schematically illustrates an apparatus embodied as plastics processing equipment in some exemplary embodiments;

[0017] Figure 9 schematically illustrates an apparatus that, in some exemplary embodiments, is designed as a wearable device; and

[0018] Figure 10 A series of steps taken according to methods of some exemplary embodiments are shown.

[0019] In one example herein, a device is provided that includes: a feature data set input circuit for receiving a feature data set including a plurality of feature data values ​​indicating a set of features, wherein each feature data value is represented by a set of bits; a class retrieval circuit, which, in response to receiving the feature data set from the feature data set input circuit, retrieves a class indication for each feature data value received in the feature data set from a class indication storage device, wherein for each arrangement of a set of bits for each feature, the class indication is predetermined and stored in the class indication storage device; and a classification output circuit, which, in response to receiving the class indication from the class retrieval circuit, determines a classification based on the class indication.

[0020] Before discussing the features of this technique, for context, we first outline the core features of the Naive Bayes algorithm. Naive Bayes is a probabilistic machine learning algorithm based on the application of Bayes' theorem. It uses the simplifying assumption that all features, once conditioned on the value of the class label, are statistically independent. This simplifies the Bayesian formula to the following:

[0021]

[0022] y* is the class label that maximizes the formula, where Y = {class set}, and d is the number of features, and x i is the observed eigenvalue, p(y) is the prior, and is the likelihood function. The denominator term can be omitted since it has no effect on the maximum value, and the logarithm is taken to convert the multiplication to addition:

[0023]

[0024] Gaussian Naive Bayes is a variant in which each factor of the likelihood term is modeled as a (univariate) Gaussian distribution:

[0025]

[0026] If the features are assumed to follow a Gaussian distribution, each likelihood term will be replaced by a Gaussian probability density function as follows:

[0027]

[0028] Ultimately, this reduces to something like the following formula:

[0029]

[0030] Among them C y is the logarithmic prior of the class, and K0 y,i 、K1 y,i and K2 y,iis a constant and is a coefficient for each class / feature combination. Generally speaking, although these values ​​can be pre-calculated and stored in memory during the training phase, calculating class probabilities is still computationally intensive and requires multiple MAC operations.

[0031] In this context, the present technology provides a device that receives a feature data set including multiple feature data values ​​and determines a classification (i.e., class) representing the feature data set based on the received feature data set. However, instead of accumulating all features to find the probability of each possible class and then determining the class with the largest probability, a method is proposed in which the class probability of each possible value of each feature is pre-calculated. That is, in the proposed classifier device, instead of considering a single classifier with multiple features, multiple different classifiers are generated and one is selected as the representative class. The inventors of the present technology have determined that in a device implementing the method, this can enable the gate count to be reduced and potentially make the class determination operation faster.

[0032] In some embodiments, the class indications stored in the class indication storage for each feature are each pre-determined to be the best class indication that maximizes the Bayesian classifier for the feature during a training phase using the feature training dataset. Thus, the class probability of each feature is pre-calculated during the training phase, and then the best class for that feature can be selected under its corresponding Bayesian classifier:

[0033]

[0034]

[0035] Various forms of Bayesian classifiers may be implemented, but in some embodiments, the Bayesian classifier is a Gaussian Naive Bayes classifier.

[0036] Each feature in a set of features can be modeled using a range of different distribution types. In some embodiments, a Bayesian classifier is based on a single distribution type for each feature in a set of features. In some embodiments, a Bayesian classifier is based on a heterogeneous distribution type for a set of features. These distribution types can take a variety of forms, such as, for example, Gaussian distribution, exponential distribution, uniform distribution, etc. The proposed method does not constrain each feature to be from a specific type of distribution or all features to be from the same type of distribution, which allows for greater flexibility in implementation, for example, if the precise distribution of the features is known.

[0037] Retrieving the class indication from the class indication storage may take various forms, but in some embodiments the class indication storage has a lookup table format and the class retrieval circuitry is arranged to perform a lookup procedure against the lookup table format for each feature data value received in the feature data set. This allows ready retrieval of pre-computed class indications.

[0038] In some embodiments, the class retrieval circuitry is arranged to retrieve the class indication for each feature data value received in the feature data set in parallel. In some embodiments, the class retrieval circuitry is arranged to retrieve the class indication for each feature data value received in the feature data set in a serial sequence. Thus, depending on the relative priority in a given implementation of the larger storage required to retrieve the class indications in parallel versus the longer retrieval time required to retrieve the class indications in a serial sequence, a choice may be made between two different approaches.

[0039] Once the class indications are retrieved from the class indication storage device in the class retrieval circuit, the final classification can be determined in a variety of ways, but in some embodiments, the classification output circuit, in response to receiving the class indications from the class retrieval circuit, determines the classification by voting among the class indications. The voting itself can have various configurations, but for example, the selected class can be the most frequent class among the class indications retrieved by the class retrieval circuit. In other words, it can be a statistical pattern of the set of class indications.

[0040] In some embodiments, the class indicators are weighted. This allows for a further degree of control over the final classification selected. The weights can be predetermined in a pre-calculated manner, for example, where the weights of the class indicators are determined during a training phase using a feature training dataset. Alternatively, these weights can be independently defined by the user. This allows the user to have greater control over the assignment and selection of classes.

[0041] In some embodiments, when more than one class designation is selected by voting, the weight of the class designation is used as a tie-breaker. Thus, if selecting between class designations based on voting to determine a unique class designation is not possible, for example because more than one class was selected the same number of times in the process, then in this case, the weight of the class designation can be used as a tie-breaker to decide between them.

[0042] The inventors of the present technology have discovered that successful implementations can be maintained even when each feature data value is represented with low precision because they maintain effectively high prediction accuracy for the predicted class for a given input future data set. For example, in some embodiments, each feature data value is represented by a set of fewer than 10 bits. Furthermore, in some embodiments, each feature data value is represented by a set of 5 bits.

[0043] In some embodiments, the class indication is stored in the class indication storage device using a representation of less than 5 bits. In some embodiments, the class indication is stored in the class indication storage device using a representation of 3 bits (ie, allowing 8 different classes to be defined).

[0044] The present techniques are applicable to a variety of scenarios, but to the extent they can be implemented in a particularly low complexity manner (particularly in terms of the gate count required), these techniques may find implementation in portable scenarios, and indeed in wearable scenarios. Thus, in some embodiments, the apparatus is a wearable device.

[0045] The feature data set input may be provided from a variety of sources, but in some embodiments, the feature data set input is coupled to a plurality of sensors, each sensor providing a corresponding feature data value.

[0046] In some embodiments, the apparatus is embodied as a plastic processing device. Embodied as plastic such a data processing device (as opposed to, for example, as a silicon-based device) can make it particularly suitable for implementation as a wearable device, whether embedded in clothing or worn next to the skin.

[0047] For example, the low gate count of the apparatus described above may be noted in some embodiments where the apparatus is embodied to include fewer than 1000 logic gates. Additionally, in some embodiments, the apparatus is embodied to include fewer than 500 logic gates.

[0048] In one example herein, a method of operating a device is provided, the method comprising: receiving at a feature dataset input a feature dataset comprising a plurality of feature data values ​​indicating a set of features, wherein each feature data value is represented by a set of bits; retrieving a class indication for each feature data value received in the feature dataset from a class indication storage device, wherein for each arrangement of the set of bits for each feature, the class indication is predetermined and stored in the class indication storage device; and determining a classification based on the class indication.

[0049] In one example herein, an apparatus is provided that includes: a device for receiving a feature data set comprising a plurality of feature data values ​​indicating a set of features, wherein each feature data value is represented by a set of bits; a device for retrieving a class indication for each feature data value received in the feature data set from a device for storing class indications, wherein for each permutation of the set of bits for each feature, the class indication is predetermined and stored in the device for storing class indications; and a device for determining a classification based on the class indication.

[0050] Some specific embodiments will now be described with reference to the accompanying drawings.

[0051] Figure 1The apparatus 100 in some exemplary embodiments is schematically shown. The apparatus comprises a feature data set input circuit 101 that receives a set of feature data values. Figure 1 Four feature data values ​​are shown in FIG. 1 (and for simplicity and clarity of explanation, this exemplary number of inputs continues through the various exemplary embodiments shown and discussed herein), but the present technology is not limited to this number of inputs in the feature data set. The feature data set including multiple feature data values ​​is passed to the class retrieval circuit 102, which uses each feature data value to retrieve a corresponding set of class indications from the class indication storage device 103. These class indications are then passed to the classification output circuit 104, which determines a final single predicted classification based on the set of class indications received from the class retrieval circuit 102. The final classification can be output from the device 100 (e.g., Figure 1 ), but in other embodiments, the classification may be used within the apparatus 100, for example, to generate an indication that a user may perceive. The class indications stored in the class indication storage are predetermined during a training phase of the apparatus, using a feature training data set during the training phase. This will be referred to as Figure 2 Describe in more detail.

[0052] Figure 2 The process for performing the training phase is schematically shown, according to which the model (specifically, the machine learning algorithm of the present technology based on a modified Gaussian Naive Bayes model) is trained before it is used. It should be understood that this part of the training process is performed on a general purpose computing device rather than on a processor such as a processor. Figure 1 Executed on the device shown. Figure 2As shown, at step 200, various feature training data sets are used as input. Then, at step 201, for each combination of feature and class, full-precision constants and coefficients are calculated. Then, an iterative process begins to step through each feature and class to determine the corresponding class probability for each possible input value (see Formula 6 above). Note that in this example, the input will be quantized to a 5-bit value (although the present technology is not limited to such quantization of input values), so there are 32 possible input values ​​for each input. The inventors of the present technology have found that when such quantized input values ​​are used, the class prediction accuracy only drops by about 1%. Therefore, in the first iteration at step 202, the first feature (Feature0), the first input (Input=0) at step 203, and the first class (Class0) at step 204 are set to be considered. For these parameters, at step 205, the corresponding class probabilities are determined (see Formula 6 above). Then, at step 206, it is checked whether all classes have now been considered (for this feature and input value combination). In some embodiments described herein, there are 8 classes (although the present technology is not limited to this particular number of classes). If the last class has not been reached, step 207 obtains the next class to consider, and the process returns to step 205. Once all class probabilities for all classes (for that feature and input combination) have been determined, the process proceeds to step 208, where the class with the maximum probability is found. Then, at step 209, that class ("MaxClass") is stored in a class indication storage device, such as a lookup table for that feature and input value combination. At step 210, it is then determined whether the last input value has been reached (in this 5-bit example, this is the number 31). If the last input value has not been reached, step 211 increments the input value, and the process returns to step 204. Once the last input value has been reached, the process proceeds to step 212, where it is determined whether the last feature in the group has been reached. If the last feature has not been reached, step 213 obtains the next feature to consider, and the process returns to step 203. Once the last feature has been reached, the full set of iterations (over features, input values, and classes) is complete, and the process of the training process ends at step 214.

[0053] This technique uses an algorithm that, instead of considering a single naive Bayesian classifier with d features, considers d different Bayesian classifiers and aggregates their predictions to select the final classification. A useful property is that each feature (represented by its value) can come from a completely different distribution (e.g., Gaussian, exponential, uniform, etc.).

[0054] Figure 3A A set of exemplary distributions is shown, according to which it is assumed that each of the four eigenvalue data sets is represented by a Gaussian distribution, and Figure 3B A set of four eigenvalue distributions is shown, two of which are Gaussian and two are uniform.

[0055] Figure 4 The apparatus 400 in some exemplary embodiments is schematically illustrated. Here, the class search circuit 401 includes four lookup tables (LUTs) 402, one of which is provided for each feature data value that the apparatus is configured to receive. Note that in this example, the feature data set input circuitry is not explicitly shown. Thus, upon receiving a feature data set, each feature data value is used in a lookup in a corresponding LUT 402, and a class indication from each feature data set is read out. This set of class indications is then passed to the class selection circuit 304, which selects a single representative class based on the received class indications.

[0056] Figure 5 The apparatus 500 in some exemplary embodiments is schematically illustrated. Feature data values ​​are received by feature data input 501, which holds these values ​​so that lookup control circuitry 502 can sequentially use them to perform a lookup in a single lookup table 503. That is, four lookups in lookup table 503 are performed in a serial sequence under the control of lookup control 502 using the four received feature data values. The results of each lookup in lookup table 503 are passed to class determination circuitry 504, where the received classes are temporarily stored in class storage 505 while the serial lookup procedure is being performed. These classes are then retrieved from there for use by class voting circuitry 506 to determine a single class for output based on a vote between them. Here, voting is performed by majority, i.e., the most common (patterned) class is selected as the winning class for output.

[0057] Figure 6A An exemplary embodiment is shown schematically, where weights 600-603 are associated with classes retrieved from a class indication storage device before class selection occurs. These weights may be learned as part of training, e.g. Figure 2This is performed as shown, or can be explicitly set by a user who wishes to influence the balance of class selection. Thus, for each class received from a class indication storage device (e.g., a lookup table), an associated weight is used for each class. The weights can be stored in the same lookup table as the classes, or they can be stored in a separate storage device. It should be noted that the weights are effectively applied to the "importance" of each corresponding feature data value, but the class values ​​themselves are not modified, as these are integer values ​​used to enumerate the set of possible classes. Each class and its associated weight are then received by class selection circuitry 604, which determines the selected class based on the distribution of the classes themselves and their associated weights. For example, the weights may indicate the relative voting weight each feature data value thus has in the final selection. Additionally or alternatively, class selection circuitry 604 may include a tie-breaking circuitry 605 that utilizes the weights if a tie-breaking is required. A tie-breaking occurs when the selection process (e.g., pattern voting) cannot distinguish between two or more selected classes. In this case, the associated weights may serve as a tie-breaking influence. As described above, the selection between class indications received from the class indication storage device can take various forms, but in some embodiments, such as Figure 6B As shown, the selection is by voting, for example by mode voting.

[0058] Figure 7 Some components of the apparatus 700 in one embodiment are shown schematically. In this example, eight feature data values ​​are received, each quantized to a 5-bit value. These respective 5-bit values ​​are used to perform a lookup in a corresponding set of eight lookup tables (of which only two, 701 and 702, are explicitly shown, purely for clarity), each of which has (in the training phase) been pre-populated with a 3-bit class indication for each possible value of each feature value. In other words, there are 32 entries in each lookup table. Therefore, eight lookup actions are performed in parallel to retrieve eight 3-bit class values, which are passed to the class voting circuit 703. The class voting circuit 703 then performs the final selection of the class prediction, in this example based on a pattern vote between the eight received class indications. It has been demonstrated that Figure 7 The implementation shown (using the new algorithm described in the paper) has a class prediction accuracy of 91%, which is very close to the accuracy of Gaussian Naive Bayes.

[0059] This technology can find implementation in a variety of contexts, but Figure 8AAn example of a specific implementation is given in which a feature data set is generated by a set of sensors. Thus, an apparatus 800 is shown that receives corresponding feature data values ​​from four sensors 801-803. These are received by a feature data set input 804, which passes them to a class lookup table 805 in order to retrieve a set of four class indications. A class voting circuit 806 (as described above) then selects a single class indication from these class indications as the final class output by pattern voting. As shown in Figure 8A In the example of , the sensor may be external to the device, but other examples are possible, one of which is Figure 8B Here the device 810 is a self-contained unit, wherein the four sensors 811-814 form part of the device 810. Figure 8A As in the example shown in FIG, the outputs of these sensors are received by a feature dataset input 815, which temporarily holds these values ​​before passing them to a set of class lookup tables 816 for reading out a corresponding set of class indicators. These class indicators are passed to a class voting circuit 817, which then determines a single class based on the votes between them. In this example, device 810 also displays four indicators 818-821, which are used by the device to indicate which class has been selected. It should be understood that in this example, four different classes are defined, but it should be noted that the present technology is not limited to this number of classes (and further, the fact that four inputs are shown from four sensors completely overlaps). These indicators can take a variety of forms, but as just one example, they can be visual indicators, such as illuminating a light or changing the color of a small surface area or different LED for each class, so that the user can perceive that a specific class has been selected based on the current sensor data input. Thus, in such an example, the class indication can represent different situations that can be linked to different balances of sensor data inputs. It should also be noted that device 810 can be physically constructed in a variety of different ways. This may be, for example, a small system on a chip embodied in silicon, but in other examples (particularly such as will be referenced below) Figure 9 The apparatus may alternatively be embodied as plastics processing equipment. Although the number of logic gates that can be provided for a given area of ​​plastics processing equipment is significantly lower according to current technology compared to silicon processing equipment, the particularly low gate counts possible according to the present technology have been found to be particularly well suited for such plastics processing equipment. Figure 7 The implementation shown above has been implemented in hardware using this plasticity technique. Class predictions can be completed in 10 μs, which is 2-8 times faster than a Gaussian Naive Bayes implementation. Furthermore, it consumes only 315 gates, which is 10-30 times smaller than a Gaussian Naive Bayes implementation.

[0060] Figure 91 shows a torso region of a user in an example where the apparatus may be a wearable device. Thus, in this example, the user may, for example, Figure 8B The device 901 of the example arrangement is worn on or near the skin of a user 900. In just one exemplary embodiment, sensors forming part of the device are then configured to respond to the local environmental conditions that it is desired to monitor. These can be configured differently from a range of known sensors. Any available sensor may be deployed here, but examples such as sensors for temperature, humidity, pressure, ECG / EMG or the presence of specific chemicals are envisaged. It should be noted that Figure 9 The location of the device in the examples is for clarity of illustration only, and the device may be worn at any suitable location on or near the skin. For example, in one contemplated example, a device embodied as plastics processing equipment may be worn under the armpit so that a series of chemical sensors may determine the balance of chemicals present and activate one of the indicators to signal a specific message to the user regarding the current "chemical balance" of the underarm area.

[0061] Figure 10 A series of steps taken by a method according to an exemplary embodiment are shown. At step 1000, a feature data set is received, and then at step 1001, a lookup is performed in a lookup table of class indicators using each bit set (representing each feature value in the feature data set). Then, at step 1002, a corresponding set of class indicators is read out, and at step 1003, a vote is performed based on the read set of class indicators to determine a selected class. Then, at step 1004, the selected class is output.

[0062] Briefly, an apparatus and a method for operating such an apparatus are disclosed. The present invention discloses an apparatus comprising a feature dataset input circuit for receiving a feature dataset, the feature dataset comprising a plurality of feature data values ​​indicating a set of features, wherein each feature data value is represented by a set of bits. A class retrieval circuit, responsive to receiving the feature dataset from the feature dataset input circuit, retrieves a class indication from a class indication storage device for each feature data value received in the feature dataset, wherein the class indication is predetermined and stored in the class indication storage device for each permutation of the set of bits for each feature. A classification output circuit, responsive to receiving the class indication from the class retrieval circuit, determines a classification based on the class indication. Thus, a predicted class can be accurately generated using a simple apparatus.

[0063] In this application, the phrase "configured to..." is used to mean that elements of a device have a configuration capable of performing a defined operation. In this context, "configuration" refers to the arrangement or manner in which hardware or software are interconnected. For example, the device may have dedicated hardware to provide the defined operation, or a processor or other processing device may be programmed to perform the function. "Configured to" does not mean that the device elements need to be modified in any way in order to provide the defined operation.

[0064] Although exemplary embodiments have been described in detail herein with reference to the accompanying drawings, it should be understood that the present invention is not limited to those precise embodiments and that various changes, additions, and modifications may be implemented therein by those skilled in the art without departing from the scope of the present invention as defined in the appended claims. For example, the features of the dependent claims may be combined in various ways with the features of the independent claims without departing from the scope of the present invention.

Claims

1. A data processing device, comprising: a feature data set input circuit configured to receive a feature data set comprising a plurality of feature data values ​​indicating a set of features, wherein each feature data value is represented by a set of bits; a class retrieval circuit, responsive to receiving the feature data set from the feature data set input circuit, for retrieving from a class indication storage device a class indication for each feature data value received in the feature data set, wherein for each permutation of the set of bits for each feature, a class indication is predetermined and stored in the class indication storage device; and A classification output circuit is configured to determine a classification based on the class indication in response to receiving the class indication from the class retrieval circuit.

2. The apparatus according to claim 1 , wherein the class indications stored in the class indication storage device for each feature are each predetermined to be an optimal class indication that maximizes the Bayesian classifier for the feature in a training phase using a feature training dataset. The apparatus according to claim 2 , wherein the Bayesian classifier is a Gaussian Naive Bayesian classifier.

4. An apparatus according to claim 2 or claim 3, wherein the Bayesian classifier is based on a single distribution type for each feature of the set of features.

5. The apparatus of claim 2 or claim 3, wherein the Bayesian classifier is based on a heterogeneous distribution type for the set of features.

6. An apparatus according to any one of claims 1 to 3, wherein the class indication storage means has a lookup table format, and the class retrieval circuit is arranged to perform a lookup procedure relative to the lookup table format for each feature data value received in the feature data set.

7. An apparatus according to any one of claims 1 to 3, wherein the class retrieval circuit is arranged to retrieve the class indication in parallel for each feature data value received in the feature data set.

8. An apparatus according to any one of claims 1 to 3, wherein the class retrieval circuit is arranged to retrieve the class indication in a serial sequence for each feature data value received in the feature data set.

9. The apparatus according to any one of claims 1 to 3, wherein the classification output circuit determines the classification by voting among the class indications in response to receiving the class indication from the class retrieval circuit.

10. The apparatus according to any one of claims 1 to 3, wherein the class indication is weighted. The apparatus of claim 10 , wherein weights for the class indications are determined in a training phase using a feature training dataset.

12. An apparatus according to claim 10, wherein the classification output circuit determines the classification by voting among the class indications in response to receiving the class indication from the class retrieval circuit, and wherein when the voting selects more than one class indication, the weights of the class indications are used as a tiebreaker.

13. An apparatus according to any one of claims 1 to 3, wherein each characteristic data value is represented by a group of fewer than 10 bits.

14. An apparatus according to any one of claims 1 to 3, wherein each characteristic data value is represented by a group of 5 bits.

15. The apparatus according to any one of claims 1 to 3, wherein the class indication is stored in the class indication storage device using a representation of less than 5 bits.

16. The apparatus according to any one of claims 1 to 3, wherein the class indication is stored in the class indication storage device using a 3-bit representation.

17. The apparatus according to any one of claims 1 to 3, wherein the apparatus is a wearable device.

18. The apparatus according to any one of claims 1 to 3, wherein the feature data set input is coupled to a plurality of sensors, each sensor providing a corresponding feature data value.

19. The apparatus according to any one of claims 1 to 3, wherein the apparatus is embodied as a plastics processing device.

20. The apparatus of any one of claims 1 to 3, wherein the apparatus is embodied to include less than 1000 logic gates.

21. The apparatus of any one of claims 1 to 3, wherein the apparatus is embodied to include fewer than 500 logic gates.

22. A method of operating a data processing apparatus, the method comprising: receiving, at a feature data set input, a feature data set comprising a plurality of feature data values ​​indicative of a set of features, wherein each feature data value is represented by a set of bits; retrieving a class indication for each feature data value received in the feature data set from a class indication storage device, wherein for each permutation of the set of bits for each feature, a class indication is predetermined and stored in the class indication storage device; and A classification is determined based on the class indication.

23. A data processing device comprising: means for receiving a feature data set comprising a plurality of feature data values ​​indicative of a set of features, wherein each feature data value is represented by a set of bits; means for retrieving a class indication for each feature data value received in said feature data set from means for storing class indications, wherein for each permutation of said set of bits for each feature, the class indication is predetermined and stored in said means for storing class indications; and means for determining a classification based on the class indication.

Citation Information

Patent Citations

  • Techniques for 9b10b and 7b8b coding and decoding

    US20080180287A1

  • Automatic extraction of a training corpus for a data classifier based on machine learning algorithms

    US20180365322A1