Computer-implemented method, computer program and computer server for generating a classification engine for machine learning

The integration of semi-supervised k-means clustering and SVM processes in a multi-polytope framework addresses classification inefficiencies, enhancing accuracy and resource efficiency in machine learning by using multiple hyperplanes for data separation.

JP7811068B2Active Publication Date: 2026-02-04INTERNATIONAL BUSINESS MACHINE CORPORATION
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
JP2022153416
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2021-09-30
Filing Date
2022-09-27
Publication Date
2026-02-04
Estimated Expiration
2042-09-27

AI Technical Summary

Technical Problem

Conventional classification methods in machine learning, such as support vector machines (SVM), face challenges in accurately separating positive and negative data points due to undesirable overlap and inefficiencies in high-dimensional spaces, particularly in multi-class problems.

Method used

A computer-implemented method integrating semi-supervised k-means clustering and SVM processes to construct multi-polytopes, using multiple hyperplanes for separation, with constraints to enhance accuracy and interpretability.

Benefits of technology

Improves classification accuracy by minimizing misclassification costs and reducing computing resources, enabling effective binary and multi-class data analysis with interpretable results.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007811068000026
    Figure 0007811068000026
  • Figure 0007811068000027
    Figure 0007811068000027
  • Figure 0007811068000028
    Figure 0007811068000028
Patent Text Reader

Abstract

To provide a method, a program, and a server, for data classification in machine learning and generation of machine learning models in multi-polytope data applications.SOLUTION: A method includes: receiving a set of multiple data points; applying a semi-supervised k-average process to the set of multiple data points from each class; clustering, for each class, the set of multiple data points into multiple clusters of multiple data points using the semi-supervised k-average process; constructing a multi-polytope for one or more of the multiple clustered classes; running a support vector machine process on each pair of multiple clusters from all classes; determining a separating hyperplane for the clustered classes; and determining, for each cluster, a label based on the separating hyperplane.SELECTED DRAWING: Figure 3
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present disclosure relates to a multi-polytope machine for classification. The present disclosure relates generally to data processing, and more particularly to a method, computer program, and system for a multi-polytope machine for classification. [Background technology]

[0002] Binary classification plays an important role in machine learning and is relevant to many application areas. Typically, a training set has two groups, which may be labeled as a positive class and a negative class. The goal in machine learning is to find a classifier that can determine the correct class for the test points.

[0003] In a conventional disambiguation process, the labeling of data points typically involves the following binary-labeled dataset:

number

[0004]

number

[0005] Historically, the above formulas are subject to a number of errors in classification that affect the efficiency of the classification process: undesirable overlap between the positive and negative data point classes can occur.

[0006] One tool used for classification is the support vector machine (SVM), which projects data into a high-dimensional space where a hyperplane can separate multiple instances of multiple classes. Previous SVM methods generate a separator by a single hyperplane that has the maximum distance to the nearest training data point of any class.

[0007] There are also other classification machines used in polytope applications. For example, one approach finds a single polytope separator with multiple hyperplanes surrounding one class. Another approach allows for two polytopes corresponding to two classes without clustering each class. Summary of the Invention [Problem to be solved by the invention]

[0008] The present invention relates to a computer-implemented method, a computer program and a computer server for generating a classification engine for machine learning. [Means for solving the problem]

[0009] According to one embodiment of the present disclosure, a computer-implemented method for generating a classification engine for machine learning is disclosed. The method includes receiving a set of data points. A semi-supervised k-means process is applied to the set of data points. The set of data points is clustered into a plurality of clusters of data points for each class using the semi-supervised k-means process. A multi-polytope is constructed for one or more of the clustered classes. A support vector machine (SVM) process is run on each pair of clusters for all classes. A separating hyperplane is determined for the clustered classes. A label is determined for each clustered class based on the separating hyperplane.

[0010] In one embodiment, positive classes of data points are clustered separately from negative classes of data points for binary classification. This feature distinguishes the subject technology in its application to multiple class problems compared to conventional classifiers that are typically implemented in single-class applications.

[0011] According to another embodiment of the present disclosure, a computer program product for generating a classification engine for machine learning comprises one or more computer-readable storage media and program instructions collectively recorded on the one or more computer-readable storage media. The program instructions include receiving a set of data points. A semi-supervised k-means process is applied to the set of data points. The set of data points is clustered into a plurality of clusters of data points for each class using the semi-supervised k-means process. A multi-polytope is constructed for one or more of the clustered classes. A support vector machine (SVM) process is run for the clustered classes on each pair of the clusters. A separating hyperplane is determined for the clustered classes. A label is determined for each clustered class based on the separating hyperplane.

[0012] According to one embodiment, information is identified from one of the clustered classes and used as a constraint in determining another of the clustered classes. This feature illustrates an unconventional perspective that can be exploited by combining clustering and SVM techniques into an integrated process. The information becomes available through the combination of multiple techniques and adds to the accuracy of the classification.

[0013] According to another embodiment of the present disclosure, a remote computer server for generating a classification engine for machine learning includes a network connection, one or more computer-readable storage media, a processor connected to the network connection and connected to the one or more computer-readable storage media, and a computer program product including program instructions collectively recorded on the one or more computer-readable storage media, the program instructions including receiving a set of data points; applying a semi-supervised k-means process to the set of data points; clustering the set of data points into a plurality of clusters of data points for each class using the semi-supervised k-means process; constructing a multipolytope for one or more of the clustered classes; running a support vector machine (SVM) process for the clustered classes on each pair of the clusters; determining a separating hyperplane for the clustered classes; and determining a label for each clustered class based on the separating hyperplane.

[0014] According to one embodiment, the program instructions may also include determining misclassification measurements in the clustered classes of a plurality of data points and training the semi-supervised k-means process for improved clustering based on the misclassification measurements. As will be appreciated, these functions improve labeling accuracy by minimizing the cost of misclassification in the system and improve training time for the classifier. Providing misclassification measurements to the clustering portion of the system improves accuracy in clustering a plurality of data points.

[0015] According to yet another embodiment, a software as a service (SaaS) computer-implemented method for generating a classification engine for machine learning is disclosed. The method includes receiving a set of data points and a request for classification service from a remote user via a network connection. A local computer server applies a semi-supervised k-means process to the set of data points. The set of data points is clustered into multiple clusters of data points for each class using the semi-supervised k-means process. A multi-polytope is constructed for one or more of the clustered classes. A support vector machine (SVM) process is run for each pair of clusters for the clustered classes. A label is determined for each clustered class based on the separating hyperplane. The determined label for each clustered class is provided to the remote user.

[0016] In one embodiment, the separating hyperplane is a nonlinear boundary between the clustered classes. As will be appreciated, these features are made available by combining clustering and SVM into an integrated process. Typically, the hyperplane is a linear boundary between two clusters of data points. The combination of multiple features allows for multiple hyperplanes in multi-class polytope applications, and further allows for more accurate separation between clusters because the separation can be constrained to be by a nonlinear boundary using a kernel SVM separator.

[0017] Moreover, it will be appreciated that, generally with respect to the embodiments disclosed above, the features of the subject technology provide improvements over machine learning-based classification. The subject technology can be used in binary and multi-class applications, thereby opening up a variety of datasets for analysis. In addition, negative clusters are well separated from positive clusters, and vice versa. When the decision rule is from an interpretable hyperplane, the final result is much easier for the user to interpret. To enhance interpretability, we apply an additional constraint to the SVM to find an interpretable separating hyperplane with sparse integer coefficients.

[0018] The techniques described herein may be implemented in a number of ways, example implementations of which are provided below with reference to the accompanying drawings.

[0019] The drawings are of exemplary embodiments. The drawings do not depict all embodiments. Other embodiments may additionally or alternatively be used. Explicit or unnecessary details may be omitted to save space or for a more effective explanation. Some embodiments may be practiced with additional components or steps, or combinations thereof, or without all of the components or steps shown, or with additional components or steps, or combinations thereof, and without all of the components or steps shown. When the same numeral appears in different drawings, the numeral refers to the same or similar components or steps. [Brief explanation of the drawings]

[0020] [Figure 1] FIG. 1 is a block diagram of an architecture of a multi-polytope machine learning system for classification, according to an example embodiment. [Figure 2] FIG. 2 is a block diagram for training a multi-polytope machine classifier for binary and multi-class data applications according to an exemplary embodiment. [Figure 3]FIG. 3 is a flowchart of a method for binary and multi-class classification in a machine learning system, according to some embodiments. [Figure 4] FIG. 4 is a schematic diagram of hyperplane-based multi-polytope classification according to some embodiments. [Figure 5] FIG. 5 is a diagram of hyperplane-based multi-polytope classification using non-linear boundaries, according to some embodiments. [Figure 6] FIG. 6 is a functional block diagram of a specially configured computer hardware platform capable of communicating with various networked components consistent with an exemplary embodiment. [Figure 7] FIG. 7 illustrates a cloud computing environment consistent with an exemplary embodiment. [Figure 8] FIG. 8 illustrates abstraction model layers consistent with an exemplary implementation. DETAILED DESCRIPTION OF THE INVENTION

[0021] In the following detailed description of the invention, numerous specific details are set forth by way of example to provide a thorough understanding of the relevant teachings. However, it should be apparent that the present teachings may be practiced without such details. In other instances, well-known methods, procedures, components, or circuits, or combinations thereof, have been described at a relatively high level, rather than in detail, in order to avoid unnecessarily obscuring aspects of the present teachings.

[0022] The present disclosure generally relates to methods, computer programs, and systems for machine learning, data classification in machine learning, and training machine learning models in multi-polytopic data applications. Aspects of the subject technology address a well-known problem in the field of machine learning that arises in systems that attempt to label data points into one of two or more groups (typically two groups: a "positive" class and a "negative" class). In one aspect, the subject technology proposes a unified framework for deriving new classifiers for binary and multi-class classification. In a general embodiment, a method integrates clustering and SVM, where clustering performs grouping and SVM constructs hyperplanes that separate multiple clusters. As will be appreciated, features of the subject technology allow the unconventional combination of k-means clustering and SVM to generate a classifier machine. The combination of k-means clustering and SVM allows for the use of multiple hyperplanes per class, which is not generally available in other known approaches to classification in machine learning systems. The teachings herein have the technical effect of reducing computing resources used by one or more computing devices performing machine learning within a system. Examples of such computing resources include, but are not limited to, processor cycles, network traffic, memory usage, storage space, and power consumption. For example, resources typically required to perform similar machine learning classification require additional machines to operate some processes individually. Nevertheless, as will be understood, conventional methods do not reach the same classification results because machines and methods operated in the prior art individually have low accuracy in solving two-class (or more than two) problems in machine learning classification.

[0023] Exemplary Architecture

[0024] 1 illustrates an exemplary architecture 100 for remotely repairing crashed applications. The architecture 100 includes a network 106 that enables various computing devices 102(1)-102(N) to communicate with each other, as well as other elements connected to the network 106, including, for example, an input class data source 112, a machine learning classification server 116, and a cloud 120. In the context of providing machine learning classification services under the subject disclosure, the computing devices 102(1)-102(N) may be end-user devices requesting machine learning classification for various applications, including, for example, binary class classification and multi-class classification, as disclosed herein and in more detail in the accompanying drawings. Generally, when one of the computing devices 102(1)-102(N) requests classification of a dataset, the classification engine 110 may receive the input dataset from the requesting machine 102 or via a third-party source and through the input class data source 112. The classification engine 110 may process the input data and provide and output it in the form of a multi-polytope classification.

[0025] Network 106 may be, but is not limited to, a local area network ("LAN"), a virtual private network ("VPN"), a cellular network, the Internet, or a combination thereof. For example, network 106 may include a mobile network communicatively connected to a private network, sometimes referred to as an intranet, that provides various auxiliary services, such as communication with various application stores, libraries, and the Internet. Network 106 enables classification engine 110, a software program running on machine learning classification server 116, to communicate with input class data source 112, computing devices 102(1)-102(N), and cloud 120 for machine learning data processing. In one embodiment, machine learning processes, such as classification, are performed at least in part on cloud 120 and utilize resources from multiple sources, including physical and virtual devices. In a cloud-based embodiment, resources may be collected from multiple different computing devices connected to a cloud network.

[0026] For purposes of subsequent discussion, several user devices are depicted in the figures to represent some examples of computing devices that may be sources of machine learning classification requests and results. Application data / document views (e.g., 103(1) and 103(N)) may be communicated to the classification engine 110 of the machine learning classification server 116 via network 106. Currently, user devices typically take the form of portable handsets, smartphones, tablet computers, personal digital assistants (PDAs), and smart watches, although the user devices may be implemented in other form factors, including consumer and business electronic devices.

[0027] While the input class data source 112 and the classification engine 110 are shown on different platforms by way of example, it will be understood that in various embodiments, the input class data source 112 and the machine learning classification server 116 may be combined. In other embodiments, these computing platforms may be implemented by virtual computing devices in the form of virtual machines or software containers hosted in the cloud 120, thereby providing a flexible architecture for processing and storage.

[0028] Example Applications

[0029] Referring now to FIG. 2 , a classification model 200 for classifying a dataset according to one embodiment is shown. In an exemplary embodiment, a set of data points is received by a machine element for classification processing through machine learning. In an exemplary application, given a set of training data with two labels (positive and negative), the system may be asked to identify a classifier for separating the positive and negative classes and predict labels for new samples. In an exemplary embodiment, the dataset may be processed simultaneously under two subprocesses (clustering and hyperplane separation) to generate the desired classifier. In an exemplary embodiment, the subject technology combines SVM and k-means processing techniques into a single optimization formulation to obtain a new classifier. The classifier of the subject technology is based on the properties of polytopes in conjunction with k-means processing clustering methods to solve classification tasks. In some embodiments, a k-means-based method for clustering is used, and then an SVM is used to construct a hyperplane between each pair of clusters. The clustering process for each class takes into account the classification loss as well as information from other classes when assigning sample points to clusters. By using a Gaussian kernel, the influence of neighboring points on the centroid can be emphasized while minimizing the role of remote points.

[0030] In Figure 2, an input data set is shown being processed in tandem by two different sub-processes. In an exemplary embodiment, the clustering process uses a semi-supervised k-means process to group the data set into multiple clusters. The classifier embodiments described herein may operate according to the parameters of Equation 2 and Equation 3 below. Equation 2 represents the clustering problem solved by the classifier machine for the negative class. Equation 3 represents the clustering problem solved by the classifier machine for the positive class. The clustering process following the semi-supervised k-means process is shown in block 210. In an exemplary embodiment, another sub-process includes using an SVM on the data set to find separators with large margins. Block 250 shows the hyperplane identified by the SVM process applied to the data set.

[0031] Given N samples for a binary labeled dataset:

number

[0032] where:

number

number

[0033] The clustering method applied to the dataset D gives the partitions.

number

number

number

number

number

number

number

number

[0034] We train K(K-1) / 2 SVM classifiers corresponding to each pair of clusters.

number

number

[0035] The formula for finding the cluster assignment for the negative class is Equation 2 below.

number

[0036] The formula for finding the cluster assignment for the positive class is Equation 3 below.

number

[0037] There are two sub-problems for negative class clustering:

number

number

[0038] A similar approach to resolving the positive class can be implemented.

[0039] In some embodiments, an optimization algorithm for training the classifier may be implemented according to the following exemplary algorithm:

[0040] [Table 1] (Reference code translation) JPEG0007811068000021.jpg45170

[0041] A more detailed description of the multi-polytope machine algorithm is provided below.

[0042] [Table 2] (Reference code translation) JPEG0007811068000023.jpg101170

[0043] Exemplary Methodology

[0044] Referring now to FIG. 3, a method 300 for binary and multi-class classification in a machine learning system is shown, according to an exemplary embodiment. Generally, when input data 310 is received for classification, the system (e.g., the classification engine 110 in the machine learning classification server 116) may execute classification processes that run concurrently on the data. The left side of the flow represents a normalized semi-supervised k-means process. As will be understood when reviewing the equations shown above and described with respect to FIG. 2, this process adds three additional terms to the functions shown in Equations 2 and 3. The right side represents an SVM approach for separating multiple data points. Data from one sub-process is used in conjunction with data generated from other sub-processes. Thus, while one sub-process is described before the other, it will be understood that an embodiment need not necessarily execute one sub-process before the other.

[0045] Block 340 represents a k-means process module that applies a normalized, semi-supervised k-means process to the dataset. The k-means process module determines (360) which data points are labeled as positive data points and which data points are labeled as negative data points. Positive data points may be clustered separately from negative data points. During the clustering process, information from one of the classes may be used as a side constraint for another class. In one aspect, the process can produce negative clusters that are sufficiently separated from the positive class. The desired separation is determined by centroiding through Gaussian kernel affinity.

number

number

[0046] In an exemplary embodiment, an SVM process may be performed on the data set (330) to find a separator that separates the data points and minimizes misclassification. A hyperplane may be determined (350) that separates the clusters of data points. The SVM is used to find a separator with a large margin. An example of linear multipolytope separation is shown in FIG. 4. In some embodiments, the classification engine 110 may be configured to determine a nonlinear boundary within the multipolytope cluster. In the case of a nonlinear separator, some embodiments may use a kernel SVM in the dual space. FIG. 5 shows a nonlinear boundary determined by the subject technology for classified data points.

[0047] Exemplary Computer Platforms

[0048] As described above, the interpretable modeling-related functionality of the present disclosure can be implemented using one or more computing devices connected for data communication via wireless or wired communication, as shown in Figure 1. Figure 6 is a functional block diagram of a specially configured computer hardware platform capable of communicating with various networked components, such as classification engine 110, cloud 120, etc. In particular, Figure 6 illustrates a network or host computer platform 600 that can be used to implement a server, such as machine learning classification server 116 of Figure 1.

[0049] The computer platform 600 may include a central processing unit (CPU) 604, a hard disk drive (HDD) 606, random access memory (RAM) or read only memory (ROM) 608, or a combination thereof, a keyboard 610, a mouse 612, a display 614, and a communication interface 616, which are connected to a system bus 602.

[0050] In one embodiment, HDD 606 has the capability to store a program capable of performing various processes in the manner described herein, such as machine learning classification engine 640. Machine learning classification engine 640 may have various modules configured to perform different functions.

[0051] For example, the machine learning classification engine 640 may include a means method clustering module 642 and an SVM separation module 644, the functionality of which is previously described, for example, in FIG.

[0052] Exemplary Cloud Platform

[0053] As described above, functionality related to processing data to discover new materials for application-specific tasks (e.g., carbon dioxide separation) using machine learning models may comprise a cloud computing environment 120 (see FIG. 1 ). While the present disclosure includes detailed descriptions related to cloud computing, it should be understood that implementation of the teachings recited herein is not limited to a cloud computing environment. Rather, embodiments of the present disclosure can be implemented in conjunction with any other type of computing environment now known or later developed.

[0054] Cloud computing is a service delivery model for enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, network bandwidth, servers, processing, memory, storage, applications, virtual machines, and services) that can be rapidly provisioned and released with minimal administrative effort or interaction with the service provider. The cloud model can include at least five characteristics, at least three service models, and at least four deployment models.

[0055] The features are as follows:

[0056] On-demand self-service: Cloud consumers can unilaterally provision computing capacity, such as server time and network storage, as needed, without requiring human interaction with the provider of the service.

[0057] Broad network access: Functionality is available over the network and accessed via standard mechanisms that facilitate use by heterogeneous thin or thick client platforms (e.g., mobile phones, laptops, and PDAs).

[0058] Resource Pooling: A provider's computing resources are pooled to serve multiple consumers using a multi-tenant model, and various physical and virtual resources are dynamically allocated and reallocated according to demand. Consumers generally have no control or knowledge of the exact location of the provided resources, but are said to be location-independent in that they may be able to identify a location at a higher level of abstraction (e.g., country, state, or data center).

[0059] Rapid Elasticity: Capabilities can be quickly and elastically provisioned, sometimes automatically, quickly scaled out, quickly released and quickly scaled in. To the consumer, the capabilities available for provisioning are often unlimited and can be purchased in any quantity at any time.

[0060] Service Metering: Cloud systems automatically control and optimize resource usage by using metering capabilities at some level of abstraction appropriate to the type of service (e.g., storage, processing, bandwidth, and active user accounts). Resource usage can be monitored, controlled, and reported, providing transparency to both providers and consumers of the services being used.

[0061] The service model is as follows:

[0062] Software as a Service (SaaS): The ability to offer consumers the ability to use a provider's applications running on a cloud infrastructure. The applications are accessible from a variety of client devices through a thin-client interface, such as a web browser (e.g., web-based email). The consumer does not manage or control the underlying cloud infrastructure, including the network, servers, operating systems, storage, or even individual application functions, with the possible exception of limited user-specific application configuration settings.

[0063] Platform as a Service (PaaS): The capability offered to consumers to deploy consumer-created or acquired applications, created using programming languages ​​and tools supported by the provider, onto a cloud infrastructure. The consumer does not manage or control the underlying cloud infrastructure, including the network, servers, operating systems, or storage, but does have control over the deployed applications and, in some cases, the application-hosting environment configuration.

[0064] Infrastructure as a Service (IaaS): The capability offered to consumers to provision processing, storage, network, and other basic computing resources on which they can deploy and run any software, which may include operating systems and applications. The consumer does not manage or control the underlying cloud infrastructure, but does have control over the operating systems, storage, deployed applications, and in some cases, limited control over the selection of network components (e.g., host firewalls).

[0065] The deployment models are as follows:

[0066] Private Cloud: Cloud infrastructure is operated exclusively for an organization. The cloud infrastructure may be managed by the organization or a third party, and may reside on-premises or off-premises.

[0067] Community Cloud: Cloud infrastructure is shared by several organizations and supports a specific community with common interests (e.g., mission, security requirements, policies, and compliance considerations). The cloud infrastructure may be managed by the organizations or a third party and may reside on-premises or off-premises.

[0068] Public Cloud: Cloud infrastructure is available to the general public or large industry groups and is owned by organizations that sell cloud services.

[0069] Hybrid Cloud: A cloud infrastructure is a blend of two or more clouds (private, community, or public) that remain unique entities but are brought together by standardized or proprietary technologies that enable data and application portability (e.g., cloud bursting for load balancing between clouds).

[0070] A cloud computing environment is service oriented with a focus on statelessness, low coupling, modularity, and semantic interoperability. At the heart of cloud computing is an infrastructure comprising a network of interconnected nodes.

[0071] Referring now to FIG. 7 , an exemplary cloud computing environment 700 is illustrated. As shown, the cloud computing environment 700 includes one or more cloud computing nodes 710, with which local computing devices used by cloud consumers, such as a personal digital assistant (PDA) or mobile phone 754A, a desktop computer 754B, a laptop computer 754C, or an automobile computer system 754N, or any combination thereof, may communicate. The nodes 710 may also communicate with each other. The nodes 710 may be physically or virtually grouped into one or more networks (not shown), such as a private cloud, community cloud, public cloud, or hybrid cloud, or any combination thereof, as described hereinabove. This allows the cloud computing environment 750 to provide infrastructure, platform, or software, or any combination thereof, as a service without the cloud consumer having to maintain resources on their local computing device. It is understood that the types of computing devices 754A-N shown in FIG. 7 are intended to be illustrative only, and that computing node 710 and cloud computing environment 750 can communicate with any type of computerized device (e.g., using a web browser) over any type of network or network-addressable connection or combination thereof.

[0072] Referring now to Figure 8, a set of functional abstraction layers provided by cloud computing environment 750 (Figure 7) is shown. Repetitive descriptions of similar elements used in other embodiments described herein have been omitted for the sake of brevity. It should be understood that the components, layers, and functions shown in Figure 8 are intended to be merely exemplary, and that embodiments of the present invention are not limited thereto. As shown, the following layers and corresponding functions are provided:

[0073] Hardware and software layer 860 includes hardware and software components. Examples of hardware components include mainframe 861, RISC (Reduced Instruction Set Computer) architecture-based servers 862, servers 863, blade servers 864, storage devices 865, and networks and networking components 866. In some embodiments, software components include network application server software 867 and database software 868.

[0074] The virtualization layer 870 provides an abstraction layer from which the following examples of virtual entities are provided: virtual servers 871, virtual storage 872, virtual networks 873, including, for example, virtual private networks, virtual applications and operating systems 874, and virtual clients 875.

[0075] In one example, management layer 880 may provide the following functions: Resource provisioning 881 provides dynamic procurement of computing and other resources used to execute tasks within the cloud computing environment. Metering and pricing 882 provides cost tracking as resources are utilized within the cloud computing environment and billing or invoicing for the consumption of these resources. In one example, these resources may include application software licenses. Security provides identity verification for cloud consumers and tasks and protection for data and other resources. User portal 883 provides access to the cloud computing environment for consumers and system administrators. Service level management 884 provides allocation and management of cloud computing resources so that required service levels are met. Service level agreement (SLA) planning and fulfillment 885 provides pre-allocation and procurement of cloud computing resources where future requirements are predicted according to SLAs.

[0076] Workload tier 890 provides examples of functions for which a cloud computing environment may be utilized. Examples of workloads and functions that may be provided from this tier include mapping and navigation 891, software development and lifecycle management 892, virtual classroom instruction delivery 893, data analytics processing 894, transaction processing 895, and machine learning classification 896 as described herein.

[0077] conclusion The descriptions of various embodiments of the present invention are presented for illustrative purposes but are not intended to be exhaustive or to be limited to the disclosed embodiments. Similarly, examples of features or functions of embodiments of the present disclosure described herein, whether used in describing a particular embodiment or described as an example, are not intended to limit the embodiments of the present disclosure described herein or to limit the disclosure to the examples described herein. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the described embodiments. The terms used herein have been selected to explain the principles of the embodiments, practical applications or technical improvements to commercially available technology, or to enable those skilled in the art to understand the embodiments disclosed herein.

[0078] While the foregoing describes what is believed to be the best mode or other examples or combinations thereof, it will be understood that various modifications may be made thereto, that the subject matter disclosed herein may be implemented in a variety of forms and examples, and that these teachings may be applied in numerous applications, only a few of which are described herein. It is intended by the appended claims to claim any and all applications, modifications, and variations that fall within the true scope of the teachings.

[0079] The components, steps, features, objects, benefits, and advantages discussed in this specification are merely exemplary. Neither these nor any discussion thereof is intended to limit the scope of protection. While various advantages are described herein, it will be understood that not all embodiments necessarily possess all advantages. Unless otherwise stated, all measurements, values, orders, positions, dimensions, sizes, and other specifications set forth in this specification, including the claims, are approximate and not precise. They are intended to have a reasonable range consistent with the function to which they pertain and customary in the art.

[0080] Numerous other embodiments are also contemplated, including embodiments having fewer, additional, or different, or combinations thereof, components, steps, features, objects, benefits, and advantages. These also include embodiments in which the components or steps, or combinations thereof, are in different arrangements or orders, or combinations thereof.

[0081] Aspects of the present disclosure are described herein with reference to call flow diagrams or block diagrams, or combinations thereof, of methods, apparatus (systems), and computer program products according to embodiments of the present disclosure. It will be understood that each step of the flow diagrams or block diagrams, or combinations thereof, and combinations of blocks in the call flow diagrams or block diagrams, or combinations thereof, can be implemented by computer-readable program instructions.

[0082] These computer-readable program instructions may be provided to a processor of a computer or other programmable data processing apparatus to produce a machine, such that the instructions, executing on the processor of the computer or other programmable data processing apparatus, generate means for implementing the functions / acts identified in one or more blocks of the call flow processes or block diagrams, or combinations thereof. These computer-readable program instructions may also be stored in a computer-readable storage medium that can direct a computer-programmable data processing apparatus or other device, or combinations thereof, to function in a particular manner, such that the computer-readable storage medium having stored thereon instructions includes an article of manufacture including instructions that implement aspects of the functions / acts identified in one or more blocks of the flowchart diagrams or block diagrams, or combinations thereof.

[0083] The computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device such that the instructions, which execute on the computer, other programmable data processing apparatus, or other device, implement the functions / operations identified in one or more blocks of the flowcharts or block diagrams, or combinations thereof, causing the computer, other programmable apparatus, or other device to perform a series of operational steps to generate a computer-implemented process.

[0084] The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present disclosure. In this regard, each block of a call flow process or block diagram may represent a module, segment, or portion of instructions, which may include one or more executable instructions for implementing one or more particular logical functions. In some alternative implementations, the functions noted in the blocks may occur out of the order shown in the figures. For example, two blocks shown in succession may in fact be executed substantially concurrently, or these blocks may possibly be executed in the reverse order, depending on the functionality involved. It will also be noted that each block of a block diagram or call flow diagram, or combination thereof, and combinations of blocks in block diagrams or call flow diagrams, or combinations thereof, may be implemented by a special-purpose hardware-based system that performs specific functions or operations or combinations of special-purpose hardware and computer instructions.

[0085] While the above has been described in connection with exemplary embodiments, it is understood that the term "exemplary" means merely an example, not best or optimal. Except as noted above, nothing described or illustrated is intended or should be construed as conferring to the public any element, step, feature, object, benefit, advantage, or equivalent, whether claimed or not.

[0086] Words and phrases used herein will be understood to have the general meanings ascribed to such words and phrases with respect to their respective corresponding fields of inquiry and study, unless a specific meaning is otherwise set forth herein. Relationship terms such as first and second may be used only to distinguish entities or operations from one another and do not necessarily require or imply any actual relationship or ordering between such entities or operations. The words "comprises," "comprising," or any other variations thereof are intended to include non-exclusive inclusions, such that a process, method, article, or apparatus that includes a list of elements may not only have those elements, but may also include other elements not expressly listed or inherent in such process, method, article, or apparatus. The use of an element followed by "a" or "an" does not, without further constraints, exclude the presence of additional identical elements in a process, method, article, or apparatus that includes that element.

[0087] The Abstract of the Disclosure is provided to allow the reader to quickly ascertain the nature of the technical disclosure. It is submitted with the understanding that it will not be used to interpret or limit the scope or meaning of the claims. Additionally, in the above Detailed Description, it can be seen that various features are grouped together in various embodiments for the purpose of simplifying the disclosure. This method of disclosure is not to be interpreted as reflecting an intention that the claimed embodiments have more features than are expressly recited in each claim. Rather, as the separate claims reflect, inventive subject matter lies in less than all features of a single disclosed embodiment. Accordingly, the separate claims are hereby incorporated into the Detailed Description, with each claim standing on its own as separately claimed subject matter.

Claims

1. 1. A computer-implemented method for generating a classification engine for machine learning, comprising: receiving a set of a plurality of data points; applying a semi-supervised k-means process to the set of data points from each class; clustering the set of data points into clusters of data points for each class using the semi-supervised k-means process; constructing a multipolytope for one or more of the clustered classes; running a support vector machine (SVM) process on each pair of clusters from all classes; determining a separating hyperplane for the clustered classes; and determining, for each cluster, a label based on said separating hyperplane; The method comprising:

2. The method of claim 1 , further comprising clustering a positive class of the plurality of data points separately from a negative class of the plurality of data points.

3. 10. The method of claim 1, further comprising identifying information from one of the clustered classes and using the identified information as a constraint in determining another of the clustered classes.

4. determining a misclassification measure for the cluster of data points from all classes; and training the semi-supervised k-means process for improved clustering based on the misclassification measurements; The method of claim 1 further comprising:

5. The method of claim 1 , wherein the separating hyperplane is a nonlinear boundary between pairs of clusters from all clusters.

6. The method of claim 1 , wherein the semi-supervised k-means process is normalized.

7. The method of claim 1 , further comprising determining a plurality of polytopes per class of a plurality of data points.

8. 1. A computer program for generating a classification engine for machine learning, comprising: receiving a set of a plurality of data points; applying a semi-supervised k-means process to the set of data points from each class; clustering the set of data points into clusters of data points for each class using the semi-supervised k-means process; constructing a multipolytope for one or more of the clustered classes; running a support vector machine (SVM) process on each pair of clusters from all classes; determining a separating hyperplane for the clustered classes; and determining, for each cluster, a label based on said separating hyperplane; The computer program causing a processor to execute a method comprising:

9. 9. The computer program product of claim 8, further causing the processor to cluster a positive class of the plurality of data points separately from a negative class of the plurality of data points.

10. 9. The computer program product of claim 8, further causing the processor to identify information from one of the clustered classes and use the identified information as a constraint in determining another of the clustered classes.

11. determining a misclassification measure for the cluster of data points from all classes; and training the semi-supervised k-means process for improved clustering based on the misclassification measurements; The computer program product of claim 8 , further comprising causing the processor to execute:

12. The computer program of claim 8 , wherein the separating hyperplane is a non-linear boundary between the clustered classes.

13. The computer program of claim 8 , wherein the semi-supervised k-means process is normalized.

14. The computer program product of claim 8 , further comprising causing the processor to further determine a plurality of separating hyperplanes per class of a plurality of data points.

15. 1. A computer server for generating a classification engine for machine learning, comprising: network connection, one or more computer-readable storage media; a processor connected to the network connection and to the one or more computer-readable storage media; and a computer program product comprising program instructions collectively recorded on said one or more computer-readable recording media; wherein the program instructions include: receiving a set of a plurality of data points; applying a semi-supervised k-means process to the set of data points from each class; clustering the set of data points into clusters of data points for each class using the semi-supervised k-means process; constructing a multipolytope for one or more of the clustered classes; running a support vector machine (SVM) process on each pair of clusters from all classes; determining a separating hyperplane for the clustered classes; and determining, for each cluster, a label based on said separating hyperplane; the computer server.

16. 16. The computer server of claim 15, wherein the program instructions further comprise clustering a positive class of the plurality of data points separately from a negative class of the plurality of data points.

17. 16. The computer server of claim 15, wherein the program instructions further comprise identifying information from one of the clustered classes and using the identified information as a constraint in determining another of the clustered classes.

18. The program instructions: determining a misclassification measure for the clustered classes of a plurality of data points; and training the semi-supervised k-means process for improved clustering based on the misclassification measurements; 16. The computer server of claim 15, further comprising:

19. The computer server of claim 15 , wherein the semi-supervised k-means process is normalized.

20. 16. The computer server of claim 15, wherein the program instructions further comprise determining a plurality of separating hyperplanes per class of a plurality of data points.

21. 1. A software-as-a-service (SaaS) computer-implemented method for generating a classification engine for machine learning, comprising: receiving, via a network connection, from a remote user a set of a plurality of data points and a request for a classification service; applying, by a local computer server, a semi-supervised k-means process to the set of data points from each class; clustering the set of data points into clusters of data points for each class using the semi-supervised k-means process; constructing a multipolytope for one or more of the clustered classes; running a support vector machine (SVM) process on each pair of clusters from all classes; determining a separating hyperplane for the clustered classes; for each cluster, determining a label based on the separating hyperplane; and providing the determined label for each cluster to the remote user; The method comprising:

22. 22. The SaaS computer-implemented method of claim 21, further comprising clustering a positive class of the plurality of data points separately from a negative class of the plurality of data points.

23. 22. The SaaS computer-implemented method of claim 21, further comprising identifying information from one of the clustered classes and using the identified information as a constraint in determining another of the clustered classes.

24. determining a misclassification measure for the clustered classes of a plurality of data points; and training the semi-supervised k-means process for improved clustering based on the misclassification measurements; 22. The SaaS computer-implemented method of claim 21, further comprising:

25. 22. The SaaS computer-implemented method of claim 21, wherein the separating hyperplane is a non-linear boundary between the clustered classes.

Citation Information

Patent Citations

  • Image scene classification method and system combined with semi-supervised clustering

    CN111753874A

  • Learning machine considering global structure of data

    JP2007115245A

  • Global visual vocabulary, systems and methods

    US20150262036A1