A fast and efficient classification system

JP7899965B2Active Publication Date: 2026-08-04PERMUTIVE LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
PERMUTIVE LTD
Filing Date
2019-09-27
Publication Date
2026-08-04

Smart Images

  • Figure 0007899965000001
    Figure 0007899965000001
  • Figure 0007899965000002
    Figure 0007899965000002
  • Figure 0007899965000003
    Figure 0007899965000003
Patent Text Reader

Abstract

A server that generates a trained classification model for classifying an entity or classifying the similarity of an entity to other entities. The server comprises a storage means configured to store characteristics of a first plurality of entities, each of the first plurality of entities being classified with a first classification. The server includes a training module configured to train the classification model to classify an input entity with the first classification or classify the similarity of the input entity to the first plurality of entities based on the characteristics of the input entity. The classification model is trained using the characteristics of the first plurality of entities as training data. The server further includes a transmitter configured to transmit the trained classification model to a client device for use by the client device.
Need to check novelty before this filing date? Find Prior Art

Description

Disclosed Content

[0001] 〔Technical Field〕 The present disclosure relates to a system, a computer-implemented method, and a computer program for classifying entities or for classifying the similarity between an entity and other entities.

[0002] 〔Background〕 The number of devices connected to the Internet as part of the Internet of Things (IoT) is expected to increase exponentially in the coming years. These devices are intended to collect data and send that data to the "cloud". As the number of devices and the amount of data they collect increase significantly, the demand for computing and storage on cloud servers becomes a problem. In addition, there is a problem of limited bandwidth, which means that data transmission to the cloud can also become cumbersome.

[0003] The number of applications of machine learning is also increasing rapidly. This is becoming a common feature of many platforms and solutions and is useful when processing large amounts of data, especially for pattern recognition, anomaly detection, and the formation of data associations.

[0004] Electronic devices, particularly those wirelessly connected to the internet, including mobile phones, consume a significant portion of their energy to connect to and transfer data to and from the internet via Wi-Fi, telecommunications data networks, or other means. In devices such as mobile phones, the energy stored in the battery becomes a limiting factor to device usage time when data needs to be sent and received frequently and over extended periods. Generally, cloud processing and analytics platforms, including those with machine learning capabilities, often require devices to communicate regularly with the cloud to ensure that data stored in the cloud is kept up-to-date by data collected on the device. Therefore, from a usage perspective, it is undesirable for cloud-based machine learning systems to frequently require large amounts of data transmission.

[0005] Classifying or "segmenting" entities (such as devices or users) based on associated data (such as their characteristics) is a powerful means of identifying specific entities that are relevant for particular reasons. For example, it may be desirable to classify a particular device in a system as faulty, thereby enabling the necessary actions to be taken to restore the system to a normal functioning state. In another example, it may be desirable to classify a device or user as representing a security threat, thereby enabling appropriate preventative measures to neutralize the threat.

[0006] Classifying entities using defined criteria can be restrictive, potentially causing entities to be excluded from certain classifications. For example, some entities that do not meet the overall criteria may still be sufficiently relevant to warrant inclusion in a classification group or segment.

[0007] Automating the decision-making process regarding which entities to assign a particular classification to is particularly useful for systems that need to classify entities in near real-time. Furthermore, manually classifying entities and ensuring such systems remain scalable for large datasets is extremely time-consuming. For relevant sets of entities with a particular classification, the decision of whether to include a user or device in a class should be based on their relevance or similarity to entities that meet the classification criteria. For example, unknown correlations may exist between the characteristics of entities, potentially resulting in entities being missing from a particular classification.

[0008] Machine learning algorithms can be trained on datasets that continuously change as more data is uploaded and received. Retraining involves learning new parameters for the model, and these new model parameters may deprecate classifications previously assigned to entities. However, reclassifying all previously classified entities can be computationally expensive and time-constrained. For example, in a typical cloud environment, a system with 100 million classified entities would need to reclassify all 100 million entities for a given classification with new model parameters.

[0009] Based on the above, a system is needed that can classify entities quickly and accurately and identify entities similar to those in a particular classification. This should ideally be achieved in a way that efficiently utilizes processing resources and bandwidth. Furthermore, previously classified entities need to be reclassified in a computationally efficient manner.

[0010] 〔overview〕 In one aspect of the present invention, a system is provided for classifying entities or classifying the similarity between entities, the system being: Including the server, the server is A storage means configured to store the characteristics of a first plurality of entities, wherein each of the first plurality of entities is classified by a first classification, A training module configured to train a classification model to classify input entities by a first classification based on the characteristics of the input entities, or to classify the similarity between input entities and a first set of entities, wherein the classification model is trained using the characteristics of the first set of entities as training data. A transmitter configured to send a trained classification model to a client device, Includes, This system further includes client devices, and the client devices are A receiver configured to receive a trained classification model, Memory configured to store a trained classification model, A processor configured to process data containing the characteristics of at least one input entity using a trained classification model stored in a client device, and to cause the trained classification model to output a signal, wherein the signal is Classify at least one input entity by the first classification, or A processor that classifies the similarity between at least one input entity and a first set of entities.

[0011] In this invention, a machine learning (ML) model (i.e., a classification model) is trained using the characteristics of entities having a first classification to classify other entities having the same classification. In this way, unclassified entities can be classified more accurately than using a limited set of predetermined criteria. Furthermore, the ML model is trained to classify the similarity between entities and entities having the first classification. This allows it to identify entities that are similar to other classified entities.

[0012] In this invention, the ML model is trained on a server in the cloud. The ML model is then distributed to client devices, where it is executed and the classification output is generated. This reduces the burden on the cloud server and transmission network. As a result, client devices do not need to be trained to run the ML model, thus reducing power consumption on the client devices. Furthermore, once the model parameters are received by client devices at the edge, the client devices can continue to classify and react to the data being generated on the device without requiring an internet connection. This makes device classification autonomous and robust, which is useful when connectivity is variable or unstable, and when faced with a central server failure.

[0013] Processing of data related to input entities takes place on the client device's processor without the need to send this data to the cloud. This eliminates the need for constant and frequent communication between the cloud server and the client device. Therefore, this solution is less energy-intensive, which is particularly useful for battery-powered devices. It also helps prevent sensitive data from being sent to malicious entities, improving security and data privacy.

[0014] A further advantage of the present invention is that the number of processors, and therefore the processing power of the system, is proportional to the number of devices involved. Furthermore, since the amount of data transmitted is reduced, bandwidth constraints become less of a problem. Therefore, this system is inherently scalable.

[0015] Furthermore, the time it takes to process device data remains constant regardless of the system size. From the perspective of a client device or user, processing can be done in near real-time, regardless of network size. In the context of data management systems, making the latency between data collection and processed output negligible is highly advantageous, as it enables live interaction with or responsiveness to devices or users.

[0016] In summary, the advantages of the proposed system include improved end-user power consumption, continuous real-time processing, faster response times to events, more efficient use of processing resources, the ability to process private, sensitive, and / or personal data locally rather than sending it to the cloud, and enhanced resilience to connectivity issues.

[0017] In another aspect of the present invention, there exists a server for classifying entities or generating a trained classification model for classifying the similarity between entities and other entities, and the server A storage means configured to store the characteristics of a first plurality of entities, wherein each of the first plurality of entities is classified by a first classification, A training module configured to train a classification model to classify input entities by a first classification based on the characteristics of the input entities, or to classify the similarity between input entities and a first set of entities, wherein the classification model is trained using the characteristics of the first set of entities as training data. Includes, The server is For use with client devices, it further includes a transmitter configured to send the trained classification model to the client device.

[0018] In another aspect of the present invention, there is a client device for classifying entities or classifying the similarity between entities, and the client device is Includes a receiver configured to receive a trained classification model from a server, The trained classification model is trained by the server to classify the input entity in a first classification based on the characteristics of the input entity, or to classify the similarity between the input entity and a first set of entities, using the characteristics of the first set of entities classified in the first classification as training data. The client device is Memory configured to store a trained classification model, A processor configured to process data containing the characteristics of at least one input entity using a trained classification model stored in a client device, and to cause the trained classification model to output a signal, wherein the signal is Classify at least one input entity by the first classification, or A processor that classifies the similarity between at least one input entity and a first set of entities, and further includes the above.

[0019] In another aspect of the present invention, there is a computer-aided method for classifying entities or classifying the similarity between entities, the method being: On the server, the characteristics of a first set of entities are obtained, and each of the first set of entities is classified according to a first classification. The process involves classifying input entities by a first classification based on the characteristics of the input entities, or training a classification model on a server to classify the similarity between the input entities and a first set of entities, wherein the classification model is trained using the characteristics of the first set of entities as training data. Sending a trained classification model from the server to the client device, Causing a trained classification model to be stored in a client device, Processing data including characteristics of at least one input entity using the trained classification model stored in the client device and causing the trained classification model to output a signal, the signal being Classifying at least one input entity into a first classification or Classifying the similarity between at least one input entity and a first plurality of entities,

[0020] In another aspect of the present invention, there is a computer-implemented method for generating a trained classification model for classifying an entity or classifying the similarity between an entity and another entity, the method comprising: Obtaining, in a server, characteristics of a first plurality of entities, each of the first plurality of entities being classified into a first classification, Training, in the server, a classification model to classify an input entity into a first classification or classify the similarity between the input entity and the first plurality of entities based on the characteristics of the input entity, the classification model being trained using the characteristics of the first plurality of entities as training data, Transmitting the trained classification model from the server to the client device for use in the client device, Including.

[0021] In another aspect of the present invention, there is a computer-implemented method for classifying an entity or classifying the similarity between an entity and another entity, the method comprising: Receiving, in a client device, a trained classification model from a server, The trained classification model is trained by the server using the characteristics of the first set of entities classified by the first set of entities as training data, in order to classify the input entities by a first set of entities based on the characteristics of the input entities, or to classify the similarity between the input entities and the first set of entities. The trained classification model is stored on the client device, Processing data containing the characteristics of at least one input entity using a trained classification model stored in a client device, and causing the trained classification model to output a signal, wherein the signal is: Classify at least one input entity by the first classification, or The goal is to classify the similarity between at least one input entity and a first set of entities, Includes.

[0022] The trained classification model may be configured to output similarity scores in order to classify the similarity between an input entity and a first set of entities.

[0023] The receiver in the client device may be configured to receive a threshold similarity score. The processor may be configured to take action if the similarity score of at least one input entity satisfies the threshold similarity score.

[0024] A computer implementation method may include receiving a threshold similarity score and taking an action if the similarity score of at least one input entity satisfies the threshold similarity score.

[0025] The processor may be configured to perform several different actions on the client device, each action being performed in response to a different similarity score being associated with at least one input entity.

[0026] The computer implementation method may include performing several different actions, each of which is performed in response to a different similarity score being associated with at least one input entity.

[0027] A receiver in a client device may be configured to receive a threshold similarity score, and a processor may be configured to classify at least one input entity in a first classification if the similarity score of at least one input entity satisfies the threshold similarity score.

[0028] A computer implementation method may include receiving a threshold similarity score and classifying at least one input entity in a first classification if the similarity score of at least one input entity satisfies the threshold similarity score.

[0029] The processor may be configured to perform an action in response to a signal.

[0030] A computer implementation method may include performing an action in response to a signal.

[0031] The actions performed in response to a signal can be defined by the system operator.

[0032] Actions performed in response to a signal may include generating a content command to display content on a client device, the content being based on at least one input entity being classified in a first classification, or on the similarity between at least one input entity and a first set of entities.

[0033] The action may include sending a message indicating that at least one input entity was classified in a first classification, or indicating similarity between at least one input entity and a first set of entities.

[0034] The receiver may be configured in the server to acquire characteristics of a second set of entities distinct from a first set of entities. The server may include a model analyzer configured to process data containing the characteristics of the second set of entities using a trained classification model to output a similarity score for each of the second set of entities, each similarity score output by the trained classification model associated with one of the second set of entities, classifying the similarity between the associated entity and the first set of entities.

[0035] A computer implementation method may include obtaining characteristics of a second set of entities that are different from a first set of entities. The computer implementation method may include processing data containing the characteristics of the second set of entities using a trained classification model to output a similarity score for each of the second set of entities, each similarity score output by the trained classification model associated with one of the second set of entities, classifying the similarity between the associated entity and the first set of entities.

[0036] The model analyzer may be configured to calculate the number of second entities associated with each similarity score output by the trained classification model.

[0037] The computer implementation method may include calculating the number of second entities associated with each similarity score output by the trained classification model.

[0038] The model analyzer may be configured to calculate the number of second entities that have similarity scores that satisfy several different thresholds.

[0039] The computer implementation method may include calculating the number of second entities that have similarity scores that satisfy several different thresholds.

[0040] The model analyzer may be configured to output a graphical representation showing the number of second entities associated with each similarity score output by the trained classification model.

[0041] The computer implementation method may include outputting a graph showing the number of second entities associated with each similarity score output by the trained classification model.

[0042] The model analyzer may be configured to output a graphical representation showing the number of second entities that have similarity scores that satisfy multiple different thresholds.

[0043] The computer implementation method may include outputting a graph showing the number of second entities that have similarity scores that satisfy multiple different thresholds.

[0044] The receiver in the client device may be configured to receive a threshold similarity score set based on the number of second entities associated with each similarity score output.

[0045] The computer implementation method may include receiving a threshold similarity score set based on the number of second entities associated with each similarity score output.

[0046] The receiver in the client device may be configured to receive threshold similarity scores set based on the number of second entities that have similarity scores that satisfy multiple different thresholds.

[0047] The computer execution method may include receiving threshold similarity scores set based on the number of second entities that have similarity scores that satisfy multiple different thresholds.

[0048] The first set of entities classified in the first classification can satisfy a first set of predetermined criteria. These predetermined criteria can be adjustable.

[0049] The system may further include an operator device, and the operator device is An interface configured to allow an operator to specify a first set of criteria for comparison with the characteristics of an entity, wherein entities that satisfy the first set of criteria are classified in a first classification, and A transmitter configured to send a first set of standards to a server, Includes, The server further includes a receiver configured to receive a first set of criteria, The training module is configured to compare a first set of criteria with the characteristics of multiple entities and classify entities that satisfy the first set of criteria into a first classification.

[0050] A computer implementation method may include receiving a first set of criteria specified by the operator for comparison with the characteristics of an entity, and entities that satisfy the first set of criteria are classified in a first classification.

[0051] The computer implementation method may include sending a first set of criteria to a server.

[0052] The computer implementation method may include receiving a first set of standards.

[0053] A computer implementation method may include comparing the characteristics of multiple entities with a first set of criteria, and classifying entities that satisfy the first set of criteria into a first classification.

[0054] The training module can be configured to calculate the number of entities that satisfy a first set of criteria.

[0055] A computer implementation method may include calculating the number of entities that satisfy the first set of criteria.

[0056] The training module can be configured to start training the classification model based on the number of entities that satisfy a first set of criteria.

[0057] A computer implementation method may include starting to train a classification model based on the number of entities that satisfy a first set of criteria.

[0058] A client device may include a transmitter configured to send web element requests that indicate web elements.

[0059] A computer implementation may include sending a web element request that identifies a web element.

[0060] The system may further include a web element server configured to send web elements and trained classifiers to a client device in response to a web element request.

[0061] A computer implementation may include sending a web element and a trained classifier to a client device in response to a web element request.

[0062] The entity may be a computing device, and therefore the characteristics may describe the performance of the computing device.

[0063] Computing devices belonging to the first category may be classified as either malfunctioning or potentially malfunctioning.

[0064] An entity may be a user, and characteristics may describe the user's attributes and / or user activities.

[0065] Users with the first classification may be classified as a potential security threat.

[0066] A trained classifier may be configured to receive entity characteristics as input.

[0067] Training a classification model may involve determining weights for each of several parameters, and the weights associated with each parameter indicate the magnitude of the parameter's influence on the output signal.

[0068] Optionally, a computer implementation method includes determining whether a weight associated with at least one parameter satisfies a threshold weight. A training module may be configured to determine whether a weight associated with at least one parameter satisfies a threshold weight. Optionally, at least one parameter associated with a weight that does not satisfy (or falls below) a threshold weight is not used by the trained classifier when classifying entities or when classifying the similarity between at least one input entity and a first set of entities. Optionally, an identified parameter is not used because it is not included in the processing performed by the trained classification model. Optionally, at least one parameter associated with a weight that does not satisfy (or falls below) a threshold is omitted from the trained model. A training module on a server may perform the omission of at least one parameter from the trained model. Optionally, at least one parameter is omitted because it is removed from the model, or because the trained model is sent to the client device without that parameter (or set of parameters) being omitted. Threshold weighting may be based on the weights of the parameters. For example, a given threshold may be the average of the parameter weights. Threshold weighting may be adjustable, and optionally, threshold weighting can be adjusted by the user.

[0069] Optionally, parameters associated with the lowest weighting are not used by the trained classifier when classifying entities or when classifying the similarity between at least one input entity and a first set of entities.

[0070] Optionally, a predetermined number of parameters associated with the lowest weight are not used by the trained classifier when classifying entities or when classifying the similarity between at least one input entity and a first group of entities.

[0071] A computer implementation method may include retraining a classification model to classify input entities by a first classification or to classify the similarity between input entities and a first set of entities. Optionally, the training module is configured to retrain the classification model to classify input entities by a first classification or to classify the similarity between input entities and a first set of entities. The classification model may be retrained using a second, different set of characteristics of entities classified by the first classification as training data. The classification model may be retrained using a second, different set of characteristics of entities classified by the first classification but different from the first set of entities as training data.

[0072] The computer implementation method may include retraining the classification model at a predetermined frequency or after a predetermined time interval. The training module may be configured to retrain the classification model at a predetermined frequency or after a predetermined time interval. The predetermined frequency or predetermined time interval may be adjustable, and optionally, the predetermined frequency may be adjustable by the user.

[0073] The computer implementation method may include sending the retrained classification model to a client device. The transmitter may be configured to send the retrained classification model to the client device.

[0074] A computer implementation method may include receiving a retrained classification model on a client device, storing the retrained classification model on the client device, and processing data containing the characteristics of at least one input entity using the retrained classification model stored on the client device to cause the retrained classification model to output a signal, the signal of classifying at least one input entity by a first classification, or classifying the similarity between at least one input entity and a first group of entities.

[0075] A receiver in a client device may be configured to receive a retrained classification model. Memory may be configured to store the retrained classification model. A processor may be configured to use the retrained classification model stored in the client device to process data containing characteristics of at least one input entity to cause the retrained classification model to output a signal that either classifies at least one input entity by a first classification or classifies the similarity between at least one input entity and a first set of entities.

[0076] The computer implementation method may include sending the retrained classification model to a client device by transmitting only the parameters of the retrained model, which are different from the parameters of the trained model. The transmitter may be configured to send the retrained classification model to the client device by transmitting only the parameters of the retrained model, which are different from the parameters of the trained model.

[0077] A computer implementation may include determining whether an input entity is classified in an initial classification, and, only if the stored classification model differs from the classification model used to classify the input entity in an initial classification, processing data containing the characteristics of at least one input entity using the stored classification model.

[0078] The processor in the client device may be configured to determine whether an input entity is classified in an initial classification, and the processor may be configured to process data containing the characteristics of at least one input entity using a stored classification model only if the stored classification model is different from the classification model used to classify the input entity in an initial classification.

[0079] A computer implementation method may include determining whether an input entity is classified in an initial classification, and, only if the most recently trained classification model on the server is different from the classification model used to classify the input entity in the initial classification, obtaining a retrained classification on the client device from the server and processing data containing the characteristics of at least one input entity using the retrained classification model.

[0080] The processor in the client device may be configured to determine whether the input entities are classified in the initial classification, and only if the most recently trained classification model on the server is different from the classification model used to classify the input entities in the initial classification, retrieve the retrained classification from the server and use the retrained classification model to process data containing the characteristics of at least one input entity.

[0081] A trained classification model can include a linear regression model.

[0082] In another aspect of the present invention, there is a computer program that, when executed by a computer, includes instructions causing the computer to perform the computer implementation method described herein.

[0083] In another aspect of the present invention, there is a computer-readable medium that, when executed by a computer, contains instructions causing the computer to perform the computer implementation described herein.

[0084] In another aspect of the present invention, there exists a data carrier signal that carries the computer program described herein.

[0085] Embodiments of the present invention will be described as an example with reference to the following drawings. [Brief explanation of the drawing]

[0086] [Figure 1] This outlines a system for classifying entities or determining the similarity between entities. [Figure 2] This flowchart illustrates the steps involved in classifying entities or determining the similarity between entities. [Figure 3] This shows a graph of the output from the trained classification model. [Figure 4] Further details of the system will be shown. [Figure 5] This outlines how to classify entities using a trained classification model. [Figure 6] Examples of electronic devices in the system are shown.

[0087] [Detailed explanation] Referring to Figure 1, there is a system 1 that includes a cloud network 3 that matches data describing entities from a third-party data provider 1. The cloud network 3 populates a classification database 7 with data, which is used to train a machine learning model via a machine learning service 2 on a server. The cloud 3 also supplies information to a cloud online dashboard 4 and receives data from the cloud online dashboard 4. The cloud network 3 can be, for example, the internet.

[0088] The machine learning service 2 outputs model parameters to the cloud network 3. The model parameters are injected into code or a software development kit (SDK), which are sent to client devices 6 via the content delivery network 5, where the segments are processed. Client devices 6 may also be referred to as edge devices in system 10. Each client device 6 can take the form of a mobile phone, tablet, laptop computer, computer, or another form of electronic device including means for communicating data to and from a processing unit and the internet.

[0089] First-party data is transmitted from edge device 6 to cloud network 3. This data can describe the characteristics of an entity, such as the characteristics of the edge device, the characteristics of the hardware within the edge device, or characteristics describing the attributes of the user of edge device 6. The data transmitted from edge device 6 can take many forms, including but not limited to personal data and statistical data. This data is stored in classification database 7.

[0090] The operator of System 10 may want to analyze entities or react to specific parts of a set of entities. For example, a website owner may want to analyze users or react to specific types of users who visit their website. The types of entities detected by the system may be based on configurable criteria (or predetermined criteria) and the similarity between entities and entities that satisfy the configurable criteria. Entity classification should preferably be performed in real time (or as close to real time as possible) to enable rapid reactions to entities with a particular classification.

[0091] Referring to Figure 2, there is a method by which the operator defines a classification and starts training the classification model on the server. The operator can perform this method on an operator device 8 that interacts with the cloud online dashboard 4 and the machine learning service 2. The online dashboard 4 has the functionality to modify aspects of the system 10, including creating and modifying classes (or "segments"), and can display visual and statistical analysis.

[0092] In this embodiment, the online dashboard 4 is accessed via the internet using a browser on a mobile phone, tablet, laptop computer, computer, or other internet-connected device. In this method, the online dashboard 4 displays the number of entities currently in a classification defined by the operator and provides the operator with a means to start a machine learning (ML) analogy model, i.e., to train a classification model. One means for the operator to interact with the online dashboard is preferably a digital button or digital slider that the operator clicks or drags using a cursor or other method, for example, via a touchscreen.

[0093] In step 100, the operator creates a classification (or "segment") by defining setting criteria that the characteristics of an entity must meet in order to be included in a segment. Depending on the data field, the criteria may take the form of Boolean logic or may require more complex logic. Boolean logic may also be required to combine criteria. For example, a device may be classified as potentially faulty if its temperature meets a certain threshold and the device has been operating for a certain length of time. In another embodiment, user 1 of client device 6 may be classified in a specific category if the user does not have children and is under 30 years old.

[0094] In step 101, once the classification criteria are defined, the operator device 8 evaluates the number of entities that meet the criteria. There may be a minimum number or threshold number of entities that are classified according to the defined criteria. If the classification results in this threshold not being met, the method proceeds to step 102. If the threshold is met, the method proceeds to step 105.

[0095] In step 102, the classification model is trained using the training data to classify entities in a classification corresponding to the criteria set in step 100, or to classify the similarity between entities and entities that satisfy the criteria set in step 100. The trained classification model takes the characteristics of entities as its input and classifies entities or their similarities based on the input characteristics. The classification model is trained using the characteristics of entities that satisfy the criteria set in step 100 as training data.

[0096] The classification model is trained with data describing the characteristics of entities stored in the classification database 7. In step 103, once the classification model is trained, it is used to calculate the similarity of entities based on the stored data describing these entities. The level of similarity between each entity and entities that meet predefined criteria is output as a similarity metric, which may include a percentage. For example, if an entity is given a similarity metric of 99%, this indicates that the entity is nearly identical to an entity that meets the predefined criteria (at least with respect to the criteria being evaluated). On the other hand, if an entity is given a similarity metric of 1%, this indicates that the entity is significantly different from an entity that meets the predefined criteria (at least with respect to the criteria being evaluated).

[0097] Using a trained classification model, we estimate the number of entities included in a classification for several different similarity metric values. This can take several hours, for example. Once the calculation is complete, the results can be output in a similarity graph format, an example of which is shown in Figure 3.

[0098] Figure 3 shows the graph displayed on the operator device 8. This display shows the number of entities (whose data is stored in the classification database 7) that have been assigned a similarity metric that meets a specific threshold (i.e., 90%, 55%, 30%, etc.). In other words, the graph shows the number of entities that have a similarity score equal to or greater than a specific threshold.

[0099] As shown in Figure 3, the number of entities that satisfy the threshold is inversely proportional to the similarity threshold. As the number of entities decreases, the similarity threshold increases. Conversely, as the number of entities increases, the similarity threshold decreases. The similarity threshold can take values ​​from 0% to 100%. A similarity score of 100% results in the same number of entities being included in the segment as was achieved with the set criterion before training the classification model. By reducing the similarity score to less than 100%, some entities that did not meet the set criterion but whose data is very similar to the data of the entities that did meet the criterion are added and given the same classification as the entities that met the criterion. A lower similarity threshold results in lower similarity to the original set of entities, but more entities are included in the classification. By appropriately selecting the similarity threshold, the operator can choose how strict or loose the classification is. The operator can select the number of entities, as shown on the y-axis of the graph, and the corresponding similarity can be selected accordingly.

[0100] In step 105, the operator specifies the preferred number of entities to include in the classification, or the desired similarity threshold, and then specifies what reaction should occur when entities are classified. The reaction can be defined as a process that allows entities of a particular classification to be passed to another platform.

[0101] The system operates with the minimum number of criteria specified by the operator, but it is recommended that at least 10 criteria be specified for each classification in order for similarity model similarity scoring to be performed to a sufficient level of accuracy.

[0102] In another example, an algorithm can be used to initiate different actions depending on the similarity percentage assigned to an entity. This algorithm can be used instead of, or in combination with, a similarity threshold.

[0103] For example, if a user has a similarity score of 71%, the algorithm will present the user with a general message. If the user has a similarity score of 89%, a more detailed message will be displayed, and if the user has a similarity score of 93%, an even more detailed message will appear. Those skilled in the art will understand that this system has a wide range of applications and potential uses, and the provided embodiments are only one of many.

[0104] The following describes the process and data flow that occurs when employing a machine learning analogue model to expand the number of entities included in a particular classification, with reference to Figure 4.

[0105] Data from client devices 200 and third-party sources 201 are sent to a central database 202 in the cloud system 205 and stored there. The data from client devices 200 and third-party sources describes the characteristics of entities, such as devices or the users of devices. When an operator requests the execution of a machine learning model via the online dashboard 204, the data from client devices 200 and third-party sources 201 is used to train a similar machine learning model 203 using a training module 203 in the system 205. The data for this graph display, as illustrated with reference to Figure 3, is generated by the model analyzer 210.

[0106] Each criterion of an entity is known as a feature of the model. Each feature is treated as a distinct dimension in the model. In a preferred embodiment, the model is based on logistic regression fit. However, it will be understood that many other alternative models may be used, using different mathematical properties suitable for different embodiments of the invention, such as linear regression or neural networks.

[0107] Model training results in the weighting of the model's features. As part of the training process, a regularizer is used to reduce the number of parameters (i.e., "features") used in the final model. A penalty (regularization term) is applied to reduce the model size, which has the effect of removing model parameters with low weights (close to 0) that do not have a significant impact on the similarity score during model evaluation. Features with low weights cannot be used because the trained classification model will not use them in determining the similarity score or classifying entities.

[0108] The training module 203 in the cloud system 205 can perform a regularization process that removes low-weighted parameters that have little impact on classification from the final set of model parameters. For example, parameters with weights below a predetermined threshold can be removed from the model. Since the parameters must be sent to edge devices, stored, and used during classification, fewer parameters mean fewer parameters are sent to edge devices, potentially improving performance. In one specific embodiment, the dashboard 204 is configured to allow the user to adjust the level of regularization, for example, by adjusting predetermined thresholds for parameter weights. This allows for better device and network performance at the expense of a potential loss of classification accuracy. The system can provide a default level of normalization, such as a default threshold for weights. In this way, the user can choose whether or not manual adjustment of the normalization level is necessary.

[0109] Once model training with normalization is complete, the model's output parameters are packaged into a code portion 208 (or SDK), which is sent to the client device 6 for storage. In a preferred embodiment, the SDK contains a generic SDK element 209 and an injected JavaScript segment 206, along with the injected machine learning model parameters 207. The SDK 208 is sent to the client edge device 200 when the client edge device 200 accesses a website specified by the operator, such as a website where the operator is the administrator.

[0110] Referring to Figure 5, the trained classification model runs on the client device 309 in response to events to classify entities. Events can be any form of interaction from an entity, such as a device or a user. This could be, for example, a user visiting a webpage, selecting a button, or a user scrolling down a webpage.

[0111] e x The event indicated by 300 is fed to the SDK on the client device 309. The event is passed to the classification engine 301, which collects data about the user from both first-party sources and third-party data providers and aggregators. The classification engine 301 takes the first-party classification state 302 and the third-party classification state 303 and outputs the updated classification state 304. The output is represented as a vector of Boolean values. The classification state is input to the parameterized machine learning model 306 (i.e., the trained classification model), which receives parameters for the model from the cloud server via the content delivery network 305, as described above.

[0112] In a preferred embodiment, processing the model requires a dot product between the segment state vector and the model parameters, followed by an application to a sigmoid function to generate probabilities. However, it will be understood that alternative mathematical methods may be used to compute the model output.

[0113] Segments are processed and calculated for each event that occurs. However, model parameter updates occur much less frequently; for example, model parameters on a client device may only change when the model in the cloud is retrained. The cloud system 205 may send only the parameters that have changed when the model is updated on the client device 309, rather than sending all the parameters of the retrained model, including those that have not changed. This allows for more efficient use of bandwidth.

[0114] It is desirable to retrain the model as new data is received and uploaded. However, continuously retraining the model increases computational costs. Nevertheless, in the system described herein, the model may be retrained on the server at a predetermined frequency. This predetermined frequency may be set to maintain a balance between model accuracy and the use of processing resources. The predetermined frequency can be defined by the user.

[0115] When a model is trained, some of the classifications previously assigned to entities may no longer match the classifications output by the new model. Therefore, it is desirable to reclassify entities after the model has been retrained. However, reclassifying entities can still be computationally expensive. For example, if 100 million previously classified entities are to be reclassified by the retrained model, this will place a significant processing load on the system. The system disclosed herein improves the efficiency of this process by making new model parameters available to client devices only when classification is required on the device. New model parameters may be sent to the client device when previously classified entities are detected for reclassification, for example, when a previously classified user visits a web page. When previously classified entities are detected, the new model parameters are pulled to the device and used. In this sense, reclassification is performed only when requested (e.g., only 1M out of 100M entities require classification), and simultaneously, the computational load is distributed across devices, making it faster and reducing the burden on the centralized cloud infrastructure.

[0116] The machine learning model outputs a similarity metric 307, expressed, for example, as a percentage after a sigmoid function has been applied. Similarity, like any other state, is fed back to the classification engine 308, where it is updated after the event. The SDK sent to the client device 309 includes a similarity threshold (alternatively known as "precision") against which the output similarity classification is compared. As a result, the Boolean classification state of the machine learning model is either TRUE or FALSE. TRUE means the user is included in the segment based on their similarity score, and FALSE means the opposite.

[0117] Once processing is complete and it is estimated that the user is within the segment, a response may be triggered. Similarly, in another embodiment, a response could be generated so that it is triggered if the user does not enter the segment.

[0118] In this method, first-party and third-party entity data fields are input to the machine learning model. Including more fields in the model increases the likelihood of obtaining a more accurate similarity score because it allows for the evaluation and consideration of dependencies between all fields. As part of model training, a weight is derived for each feature. The weight indicates the degree to which any given feature has an impact on the segment size. Features with very low weights, indicating a small impact on the segment size, are discarded. Various methods can be used to determine which features to remove. These include, but are not limited to: • Threshold weighting set to a specific predetermined value. Features with a weight less than this threshold are discarded. A threshold related to the weight distribution. For example, the threshold may be the mean weight, the ratio of the mean weights, or a weighted percentile. Features with weights smaller than this threshold are discarded. • Discard the feature with the lowest weighting.

[0119] Since each feature represents a characteristic of the model, reducing the number of features through the normalization process reduces the number of model characteristics. This reduces the number of parameters that need to be sent to edge devices, simplifying evaluation calculations. This reduces the computational cost, time, and energy consumption required to process data on the edge while minimizing the impact on segment accuracy.

[0120] As part of the logistic regression training process, one of the model parameters learned is a constant bias term. This embodies the overall probability of being classified into a seed classification, given the classification membership of all known users. This improves accuracy across all similar segments, but especially when there is little or no segment data for a particular user, the bias term acts as a default probability for predicting similarity based on data from the entire audience.

[0121] In the embodiments described above, the user is a visitor to the operator's website, but it will be understood that the scope of the present invention is even broader and applicable, for example, to users of game applications or software packages.

[0122] The scalability of the disclosed invention makes it highly suitable for IoT devices, enabling near real-time monitoring and response to sensor data. For example, in a data center, numerous highly sensitive temperature sensors may be placed around servers to continuously measure the temperature of electronic chips. Segments can be set for those with large temperature deviations. Responses may include, for example, increasing fan speed, adjusting building climate control, or managing processor workload. Average operating temperature and sensor characteristics can be taken into account by machine learning models. When segmentation is performed at the edge, segments can be calculated and responses triggered in near real-time, ensuring that the chip is kept at an optimal temperature.

[0123] Another potential use case for the present invention lies in anomaly detection, particularly when there is a very large number of users or devices and anomalies need to be detected quickly. A prime example of this is e-commerce, where fraudulent transactions need to be found and addressed as quickly as possible. With the advent of smart cards, e-wallets, and smartphones equipped with fintech or banking applications, there are numerous edge devices that could potentially be used for this purpose. In this regard, integrating machine learning to extend segments means that anomaly transactions that would not have been captured within a segment based solely on the established segment criteria are still discoverable.

[0124] Since personal and confidential information is stored and evaluated locally, the implementation of the proposed system in the fitness and healthcare device market could be beneficial. Users may be hesitant to share their personal data with cloud-based systems. The proposed system addresses this privacy concern by ensuring that raw user data (e.g., heart rate, blood pressure) is never transmitted from personal devices and therefore cannot be accessed by third parties such as insurance companies or credit rating agencies.

[0125] Figure 6 shows an exemplary electronic device 801 provided by any of the electronic devices of this disclosure (for example, any one of the following: a third-party data provider 1, a machine learning service 2, a cloud online dashboard 4, a client device 6, a classification database 7, an operator device 8, or a device in a cloud network 3 or a content delivery network 5). Electronic device 801 includes a processing circuit 810 (such as a processor) and memory 812. Electronic device 801 may also include one or more of the following subsystems: a power supply 814, a display 816, a wireless transceiver 820, and an input 826.

[0126] The processing circuit 810 can control the operation of the electronic device 801 and subsystems 812-828. The processor 810 is communicatively connected to subsystems 812-828. Memory 812 may include one or more of the following: random access memory (RAM), read-only memory (ROM), non-volatile random access memory (NVRAM), flash memory, other volatile memory, and other non-volatile memory.

[0127] The display 816 may be communicatively connected to the processing circuit 810, which may be configured to output an image to the display 816. The display 816 may include a touch-sensitive interface, such as a touchscreen display. The display 816 may be used to interact with software running on the processor 810 of the electronic device 801. The touch-sensitive interface allows the user to provide input to the processing circuit 810 via discrete touches, multiple touches, or one or more gestures to control the operation of the processing circuit and the functions described herein. It will be understood that other forms of input interfaces, such as input 826, which may include a keyboard or mouse in the input device, may be used additionally or alternatively for the same purpose.

[0128] The transceiver 820 may include one or more long-range RF transceivers configured to operate in accordance with communication standards such as LTE, UMTS, 3G, EDGE, GPRS, GSM, and Wi-Fi. For example, the electronic device 801 may include a first long-range radio transceiver 821, such as a cellular transceiver configured to communicate with a cell tower 803 via a cellular data protocol such as LTE, UMTS, 3G, EDGE, GPRS, or GSM, and a second long-range radio transceiver 828, such as a Wi-Fi transceiver configured to communicate with a radio access point 804 via a Wi-Fi standard such as 802.11ac / n / g / b / a. In this regard, and for all embodiments of the specification relating to long-range radio protocols, the long-range radio protocol can be a protocol that enables and is designed to communicate over 5m, 10m, 20m, 30m, 40m, 50m, or 100m. This is in contrast to the short-range radio protocols described above. Long-range wireless protocols can communicate using higher power than short-range wireless protocols. The range (e.g., line of sight) between long-range end nodes (between an electronic device and a router or base station) of a long-range wireless protocol may be greater than the range (e.g., line of sight) between short-range end nodes (between an electronic device and a wireless beacon).

[0129] The electronic device 801 can be configured to communicate with a network 840 via a long-range wireless transceiver 820. The network 840 may be a cloud network 3, or any such wide area network such as the Internet, or a local area network. The electronic device 801 may be further configured to communicate with one or more servers or user devices via the long-range wireless transceiver 820 and the network 840. These servers or user devices may be any one of those described herein.

[0130] The term "comprising" encompasses "including" and "consisting." For example, a composition "comprising" X may consist only of X, or it may include something additional, such as X + Y.

[0131] Unless otherwise specified, each embodiment described herein can be combined with other embodiments as described herein.

[0132] The methods described herein may be implemented by software in machine-readable form on a tangible storage medium, for example, in the form of a computer program, which includes computer program code means adapted to implement any all steps of the methods described herein, where the program is executed on a computer and the computer program can be materialized on a computer-readable medium. Examples of tangible (or non-temporary) storage mediums include disks, thumb drives, memory cards, etc., and do not include propagated signals. The software may be adapted for execution on parallel or serial processors so that the method steps can be executed in any suitable order or simultaneously. This acknowledges that firmware and software can be valuable, separately tradable commodities. It is intended to include software that operates on or controls “dumb” or standard hardware in order to perform a desired function. It is also intended to include software that “describes” or defines hardware configurations, such as HDL (Hardware Description Language) software, which is used to design silicon chips or to configure universal programmable chips in order to perform a desired function.

[0133] It will be understood that the modules described herein can be implemented in hardware or software. Furthermore, the modules can be implemented in various locations throughout the system.

[0134] Those skilled in the art will understand that storage devices used to store program instructions may be distributed across a network. For example, a remote computer may store an example of a process written as software. A local computer or terminal computer may access the remote computer and download part or all of the software to run the program. Alternatively, the local computer may download part of the software as needed, or execute some software instructions on the local terminal and some on the remote computer (or computer network). Those skilled in the art will also understand that, by utilizing prior art known to those skilled in the art, all or part of the software instructions may be executed by dedicated circuits such as DSPs, programmable logic arrays, etc.

[0135] As will be apparent to those skilled in the art, any range or device value given herein can be extended or modified without loss of the desired effect.

[0136] It will be understood that the benefits and advantages described above may relate to one embodiment or to several embodiments. Embodiments are not limited to those that solve any or all of the problems described or that have any or all of the benefits and advantages described.

[0137] A reference to an item marked "an" refers to one or more of these items. The term "comprising" is used herein to mean including a specified block or element of a method, but such block or element does not constitute an exclusive list, and a method or apparatus may include additional blocks or elements.

[0138] The steps of the methods described herein may be carried out in any suitable order, or, where appropriate, simultaneously. Furthermore, individual blocks may be removed from any method without departing from the spirit and scope of the subject matter described herein. Any aspect of the above embodiments may be combined with any aspect of any of the other embodiments described above to form further embodiments without losing the desired effect. Any of the above modules may be implemented in hardware or software.

[0139] The above description of preferred embodiments is given only as an example, and it will be understood that various modifications can be made by those skilled in the art. Various embodiments have been described above with a certain degree of specificity or by reference to one or more individual embodiments, but those skilled in the art can make many changes to the disclosed embodiments without departing from the scope of the invention.

[0140] [Implementation Method] (1) In a system for classifying entities or classifying the similarity between such entities and other entities, Including a server, the server is A storage means configured to store the characteristics of a first plurality of entities, wherein each of the first plurality of entities is classified by a first classification, A training module configured to train a classification model to classify the input entities by the first classification based on the characteristics of the input entities, or to classify the similarity between the input entities and the first plurality of entities, wherein the classification model is trained using the characteristics of the first plurality of entities as training data. A transmitter configured to transmit the trained classification model to a client device, Includes, The system further includes a client device, and the client device is A receiver configured to receive the aforementioned trained classification model, A memory configured to store the aforementioned trained classification model, A processor configured to process data including the characteristics of at least one input entity using the trained classification model stored in the client device, and to cause the trained classification model to output a signal, wherein the signal is Classify the at least one input entity according to the first classification, or A system including a processor that classifies the similarity between the at least one input entity and the first plurality of entities. (2) The system according to Embodiment 1, wherein the trained classification model is configured to output similarity scores to classify the similarity between an input entity and the first plurality of entities, and optionally, a receiver in the client device is configured to receive threshold similarity scores, and the processor is configured to take action if the similarity score of at least one input entity satisfies the threshold similarity score. (3) The system according to Embodiment 2, wherein the processor is configured to perform a number of different actions in the client device, each of which is performed in response to a different similarity score being associated with the at least one input entity, and / or the receiver in the client device is configured to receive a threshold similarity score, and the processor is configured to classify the at least one input entity in the first classification if the similarity score of the at least one input entity satisfies the threshold similarity score. (4) The receiver is configured in the server to acquire the characteristics of a second set of entities that are different from the first set of entities, The server further includes a model analyzer configured to process data containing the characteristics of the second plurality of entities using the trained classification model in order to output a similarity score for each of the second plurality of entities. The system according to any one of embodiments 1 to 3, wherein each similarity score output by the trained classification model is associated with one of the second plurality of entities, classifying the similarity between the associated entity and the first plurality of entities, and optionally the model analyzer is configured to calculate the number of the second entities associated with each similarity score output by the trained classification model, and optionally the receiver in the client device is configured to receive a threshold similarity score set based on the number of the second entities associated with each similarity score. (5) The system further includes an operator device, the operator device is An interface configured to allow an operator to specify a first set of criteria for comparison with the characteristics of an entity, wherein entities that satisfy the first set of criteria are classified in the first classification, A transmitter configured to transmit a first set of the aforementioned criteria to the server, Includes, The server further includes a receiver configured to receive a first set of the criteria, The system according to any one of embodiments 1 to 4, wherein the training module is configured to compare a first set of criteria with the characteristics of a plurality of entities and to classify entities that satisfy the first set of criteria in a first classification, and optionally the training module is configured to calculate the number of entities that satisfy the first set of criteria, and the training module is configured to start training the classification model based on the number of entities that satisfy the first set of criteria.

[0141] (6) The system according to any one of embodiments 1 to 5, wherein each entity is a computing device, and each characteristic describes the performance of each computing device. (7) The system according to any one of embodiments 1 to 6, wherein each entity is a user, and the characteristics each describe an attribute of each user. (8) The system according to any one of embodiments 1 to 7, wherein training the classification model comprises determining weights for each of a plurality of parameters, the weights for each of the parameters indicating the magnitude of the influence the parameter has on the output signal, and optionally the processor in the training module or the client device is configured to determine that at least one parameter is associated with a weight that does not satisfy a threshold weighting, and optionally the processor is configured to prevent the trained classifier from using the at least one parameter associated with a weight that does not satisfy a threshold weighting. (9) The system according to Embodiment 8, wherein the training module is configured to omit the at least one parameter associated with a weight that does not satisfy the threshold weighting from the trained model, and / or the training module is configured to omit the at least one parameter associated with a weight that does not satisfy the threshold weighting from the trained model by not transmitting the at least one parameter associated with a weight that does not satisfy the threshold weighting to the client device. (10) The training module is configured to retrain the classification model to classify input entities by the first classification or to classify the similarity between the input entities and the first plurality of entities, the classification model being retrained using a second different set of characteristics of the plurality of entities classified by the first classification as training data, and / or, the classification model being retrained using a second different set of characteristics of a plurality of entities different from the first plurality of entities classified by the first classification as training data, and / or The system according to any one of embodiments 1 to 9, wherein the training module is configured to retrain the classification model at a predetermined frequency.

[0142] (11) The transmitter is configured to transmit the retrained classification model to the client device, The receiver in the client device is configured to receive the retrained classification model. The memory is configured to store the retrained classification model, The processor is configured to process data including the characteristics of at least one input entity using the retrained classification model stored in the client device, causing the retrained classification model to output a signal, the signal being: Classify the at least one input entity according to the first classification, or The system according to embodiment 10, which classifies the similarity between the at least one input entity and the first plurality of entities. (12) The system according to embodiment 11, wherein the transmitter is configured to transmit the retrained classification model to the client device by transmitting parameters of the retrained model that are different from the parameters of the trained model. (13) The processor in the client device is configured to determine whether the input entity has been classified in the initial classification, The system according to any one of embodiments 1 to 12, wherein the processor is configured to use the stored classification model to process data including characteristics of at least one input entity only if the stored classification model differs from the classification model used to classify the input entities in the initial classification. (14) The system according to any one of embodiments 1 to 13, wherein the processor in the client device is configured to determine whether an input entity has been classified in an initial classification, and only if the most recently trained classification model in the server is different from the classification model used to classify the input entity in the initial classification, retrieve a retrained classification model from the server and process data containing the characteristics of at least one input entity using the retrained classification model. (15) A computer implementation for generating a trained classification model for classifying entities or classifying the similarity between such entities and other entities, On the server, the characteristics of a first set of entities are obtained, wherein each of the first set of entities is classified according to a first classification. Training a classification model on the server to classify the input entities according to the first classification based on the characteristics of the input entities, or to classify the similarity between the input entities and the first plurality of entities, wherein the classification model is trained using the characteristics of the first plurality of entities as training data. For use on a client device, the trained classification model is transmitted from the server to the client device, Methods that include...

Claims

1. In a system for classifying entities or classifying the similarity between such entities and other entities, Including a server, the server is A storage means configured to store the characteristics of a first plurality of entities, wherein each of the first plurality of entities is classified according to a first classification, A training module configured to train a classification model to classify the input entities by the first classification based on the characteristics of the input entities, or to classify the similarity between the input entities and the first plurality of entities, wherein the classification model is trained using the characteristics of the first plurality of entities as training data. A transmitter configured to transmit the trained classification model to a client device, Includes, The system further includes a client device, and the client device is A receiver configured to receive the aforementioned trained classification model, A memory configured to store the aforementioned trained classification model, A processor configured to process data including the characteristics of at least one input entity using the trained classification model stored in the client device, and to cause the trained classification model to output a signal, wherein the signal is Classify the at least one input entity according to the first classification, or A processor that classifies the similarity between the at least one input entity and the first plurality of entities, A system in which the processor in the client device is configured to retrieve a retrained classification model from the server only if the most recently trained classification model in the server is different from the classification model used to classify the input entities, and to process data containing the characteristics of at least one input entity using the retrained classification model.

2. The system according to claim 1, wherein the trained classification model is configured to output similarity scores for classifying the similarity between an input entity and the first plurality of entities, optionally a receiver in the client device is configured to receive threshold similarity scores, and the processor is configured to perform an action if the similarity score of at least one input entity satisfies the threshold similarity score.

3. The system according to claim 2, wherein the processor is configured to perform a plurality of different actions in the client device, each of which is performed in response to a different similarity score being associated with the at least one input entity, and / or the receiver in the client device is configured to receive a threshold similarity score, and the processor is configured to classify the at least one input entity in the first classification if the similarity score of the at least one input entity satisfies the threshold similarity score.

4. The receiver is configured in the server to acquire the characteristics of a second set of entities that are different from the first set of entities. The server further includes a model analyzer configured to process data containing the characteristics of the second plurality of entities using the trained classification model in order to output a similarity score for each of the second plurality of entities, The system according to any one of claims 1 to 3, wherein each similarity score output by the trained classification model is associated with one of the second plurality of entities, classifying the similarity between the associated entity and the first plurality of entities, and optionally the model analyzer is configured to calculate the number of the second entities associated with each similarity score output by the trained classification model, and optionally the receiver in the client device is configured to receive a threshold similarity score set based on the number of the second entities associated with each similarity score.

5. The system further includes an operator device, and the operator device is An interface configured to allow an operator to specify a first set of criteria for comparison with the characteristics of an entity, wherein entities that satisfy the first set of criteria are classified in the first classification, A transmitter configured to transmit a first set of the aforementioned criteria to the server, Includes, The server further includes a receiver configured to receive a first set of the criteria, The system according to any one of claims 1 to 4, wherein the training module is configured to compare a first set of criteria with the characteristics of a plurality of entities and to classify entities that satisfy the first set of criteria in a first classification, and optionally the training module is configured to calculate the number of entities that satisfy the first set of criteria, and the training module is configured to start training the classification model based on the number of entities that satisfy the first set of criteria.

6. The system according to any one of claims 1 to 5, wherein each entity is a computing device, and each characteristic describes the performance of each computing device.

7. The system according to any one of claims 1 to 6, wherein each entity is a user, and the characteristics describe the attributes of each user.

8. The system according to any one of claims 1 to 7, wherein training the classification model comprises determining weights for each of a plurality of parameters, the weights for each of the parameters indicating the magnitude of the influence the parameter has on the output signal, and optionally the processor in the training module or the client device is configured to determine that at least one parameter is associated with a weight that does not satisfy a threshold weighting, and optionally the processor is configured to prevent the trained classification model from using the at least one parameter associated with a weight that does not satisfy a threshold weighting.

9. The system according to claim 8, wherein the training module is configured to omit the at least one parameter associated with weights that do not satisfy the threshold weighting from the trained classification model, and / or the training module is configured to omit the at least one parameter associated with weights that do not satisfy the threshold weighting from the trained classification model by not transmitting the at least one parameter associated with weights that do not satisfy the threshold weighting to the client device.

10. The training module is configured to retrain the classification model to classify input entities by the first classification or to classify the similarity between the input entities and the first plurality of entities, the classification model being retrained using a second different set of characteristics of the plurality of entities classified by the first classification as training data, and / or, the classification model being retrained using a second different set of characteristics of a plurality of entities different from the first plurality of entities classified by the first classification as training data, and / or, The system according to any one of claims 1 to 9, wherein the training module is configured to retrain the classification model at a predetermined frequency.

11. The transmitter is configured to transmit the retrained classification model to the client device. The receiver in the client device is configured to receive the retrained classification model. The memory is configured to store the retrained classification model, The processor is configured to process data including the characteristics of at least one input entity using the retrained classification model stored in the client device, causing the retrained classification model to output a signal, the signal being: Classify the at least one input entity according to the first classification, or The system according to claim 10, which classifies the similarity between the at least one input entity and the first plurality of entities.

12. The system according to claim 11, wherein the transmitter is configured to transmit the retrained classification model to the client device by transmitting only the parameters of the retrained classification model that are different from the parameters of the trained classification model.

13. A computer implementation method for generating a trained classification model for classifying entities or classifying the similarity between such entities and other entities, In the server, the characteristics of a first set of entities are obtained, wherein each of the first set of entities is classified according to a first classification. The process involves training a classification model on the server to classify the input entities according to the first classification based on the characteristics of the input entities, or to classify the similarity between the input entities and the first plurality of entities, wherein the classification model is trained using the characteristics of the first plurality of entities as training data. For use on a client device, the trained classification model is transmitted from the server to the client device, In the client device, if the most recently trained classification model in the server is different from the classification model used to classify the input entities, a retrained classification model is obtained from the server, and the retrained classification model is used to process data containing the characteristics of at least one input entity. Methods that include...