An approach is provided in which the approach loads a machine learning model and a set of test case statistical data into a user system. The set of test case statistical data is based on a set of test cases corresponding to the machine learning model and includes a plurality of input parameter sets and a corresponding set of output quality measurements. The approach compares user data on the user system against the set of test case statistical data and identifies one of the plurality of input parameter sets to optimize the machine learning model based on the set of output quality measurements. The approach generates an optimized machine learning model using the machine learning model and the identified input parameter set at the user system.
Legal claims defining the scope of protection, as filed with the USPTO.
sorting scaled statistic values and counting the values within predefined intervals to form fixed-length statistical distribution vectors, wherein the scaled statistic values are processed so that number of values falling within each predefined equal-width interval are determined in a manner that enables a uniform representation of data characteristics; and transforming univariate and bivariate statistics into a scaled format such that the statistics are combined through feature scaling, wherein transforming the univariate and bivariate statistics comprises: building the machine learning model based on the transformed univariate and bivariate statistics, and the plurality of input parameter sets; loading a machine learning model and a set of test case statistical data into a user system, wherein the set of test case statistical data is based on a set of test cases corresponding to the machine learning model and comprises a plurality of input parameter sets and a corresponding set of output quality measurements, and wherein the machine learning model is built by: comparing user data comprising a second transformed univariate and bivariate statistics on the user system against the set of test case statistical data, wherein the comparison identifies one of the plurality of input parameter sets to optimize the machine learning model based on the set of output quality measurements; generating, at the user system, an optimized machine learning model using the machine learning model and the identified input parameter set; displaying one or more similar sets of test data on a user interface; responsive to receiving through the user interface a selection choice from the one or more similar sets of test data, applying the selection choice to the optimized machine learning model and predicting an accuracy of the optimized machine learning model; outputting the optimized machine learning model to the user through the user interface; and responsive to receiving acceptance of the optimized machine learning model through the user interface executing the optimized machine learning model and refreshing the optimized machine learning model, by collecting information to add a new pre-trained machine learning model. . A computer-implemented method comprising:
claim 1 collecting a set of test data corresponding to the set of test cases; . The computer-implemented method ofwherein, at a developer system, the method further comprises: running the set of test cases with the plurality of input parameter sets to generate the set of output quality measurements; and constructing the set of test case statistical data by combining the set of transformed descriptive statistics, the set of output quality measurements, and the plurality of input parameter sets. transforming the set of test data into a set of transformed descriptive statistics, wherein the transforming comprises a set of analytic computations, a set of scaling computations, and a set of sorting computations;
claim 2 packaging the test case statistical data, the machine learning model, and an initial parameter optimizer into a deployment package; and deploying the deployment package from the developer system to the user system. . The computer-implemented method offurther comprising:
claim 3 collecting, by the initial parameter optimizer, a set of user data characteristics of the user data; transforming the set of user data characteristics into a set of transformed user data statistics; receiving a set of user parameters from a user; predicting a model quality of the optimized machine learning model based on the set of user parameters, the set of transformed user data statistics, and the set of output quality measurements; and displaying the predicted model quality of the optimized machine learning model to the user at the user system. . The computer-implemented method ofwherein, at the user system, the method further comprises:
claim 3 collecting, by the initial parameter optimizer, a set of user data characteristics of the user data; transforming the set of user data characteristics into a set of transformed user data statistics; calculating a set of data similarity values between the set of transformed user data statistics and the set of transformed descriptive statistics; and selecting a subset of the plurality of input parameter sets from the test case statistical data based on the set of data similarity values. . The computer-implemented method offurther comprising:
claim 5 predicting a set of model quality values of the optimized machine learning model based on the subset of input parameter sets, the set of transformed user data statistics, and the set of output quality measurements; displaying the set of model quality values and corresponding subset of input parameter sets to the user at the user system; receiving a selection from the user that selects one of the subsets of input parameter sets; and creating the optimized machine learning model using the selected subset of input parameter sets. . The computer-implemented method offurther comprising:
claim 6 receiving, from the user, a different selection that selects a different one of the subsets of input parameter sets, wherein the selection and the different selection are received concurrently; and creating a different optimized machine learning model using the different subset of input parameter sets, wherein the different optimized machine learning model is created concurrently with the optimized machine learning model. . The computer-implemented method offurther comprising:
one or more processors; a memory coupled to at least one of the processors; sorting scaled statistic values and counting the values within predefined intervals to form fixed-length statistical distribution vectors, wherein the scaled statistic values are processed so that number of values falling within each predefined equal-width interval are determined in a manner that enables a uniform representation of data characteristics; and transforming univariate and bivariate statistics into a scaled format such that the statistics are combined through feature scaling, wherein transforming the univariate and bivariate statistics comprises: building the machine learning model based on the transformed univariate and bivariate statistics, and the plurality of input parameter sets; loading a machine learning model and a set of test case statistical data into a user system, wherein the set of test case statistical data is based on a set of test cases corresponding to the machine learning model and comprises a plurality of input parameter sets and a corresponding set of output quality measurements, and wherein the machine learning model is built by: comparing user data comprising a second transformed univariate and bivariate statistics on the user system against the set of test case statistical data, wherein the comparison identifies one of the plurality of input parameter sets to optimize the machine learning model based on the set of output quality measurements; generating, at the user system, an optimized machine learning model using the machine learning model and the identified input parameter set; displaying one or more similar sets of test data on a user interface; responsive to receiving through the user interface a selection choice from the one or more similar sets of test data, applying the selection choice to the machine learning model and predicting an accuracy of the optimized machine learning model; outputting the optimized machine learning model to the user through the user interface; and responsive to receiving acceptance of the optimized machine learning model through the user interface executing the optimized machine learning model and refreshing the optimized machine learning model, by collecting information to add a new pre-trained machine learning model. a set of computer program instructions stored in the memory and executed by at least one of the processors in order to perform actions of: . An information handling system comprising:
claim 8 collecting, at a developer system, a set of test data corresponding to the set of test cases; transforming, at the developer system, the set of test data into a set of transformed descriptive statistics, wherein the transforming comprises a set of analytic computations, a set of scaling computations, and a set of sorting computations; running, at the developer system, the set of test cases with the plurality of input parameter sets to generate the set of output quality measurements; and constructing, at the developer system, the set of test case statistical data by combining the set of transformed descriptive statistics, the set of output quality measurements, and the plurality of input parameter sets. . The information handling system ofwherein the processors perform additional actions comprising:
claim 9 packaging the test case statistical data, the machine learning model, and an initial parameter optimizer into a deployment package; and deploying the deployment package from the developer system to the user system. . The information handling system ofwherein the processors perform additional actions comprising:
claim 10 collecting, at the user system by the initial parameter optimizer, a set of user data characteristics of the user data; transforming the set of user data characteristics into a set of transformed user data statistics; receiving a set of user parameters from a user; predicting a model quality of the optimized machine learning model based on the set of user parameters, the set of transformed user data statistics, and the set of output quality measurements; and displaying the predicted model quality of the optimized machine learning model to the user at the user system. . The information handling system ofwherein the processors perform additional actions comprising:
claim 10 collecting, by the initial parameter optimizer, a set of user data characteristics of the user data; transforming the set of user data characteristics into a set of transformed user data statistics; calculating a set of data similarity values between the set of transformed user data statistics and the set of transformed descriptive statistics; and selecting a subset of the plurality of input parameter sets from the test case statistical data based on the set of data similarity values. . The information handling system ofwherein the processors perform additional actions comprising:
claim 12 predicting a set of model quality values of the optimized machine learning model based on the subset of input parameter sets, the set of transformed user data statistics, and the set of output quality measurements; displaying the set of model quality values and corresponding subset of input parameter sets to the user at the user system; receiving a selection from the user that selects one of the subsets of input parameter sets; and creating the optimized machine learning model using the selected subset of input parameter sets. . The information handling system ofwherein the processors perform additional actions comprising:
claim 13 receiving, from the user, a different selection that selects a different one of the subsets of input parameter sets, wherein the selection and the different selection are received concurrently; and creating a different optimized machine learning model using the different subset of input parameter sets, wherein the different optimized machine learning model is created concurrently with the optimized machine learning model. . The information handling system ofwherein the processors perform additional actions comprising:
sorting scaled statistic values and counting the values within predefined intervals to form fixed-length statistical distribution vectors, wherein the scaled statistic values are processed so that number of values falling within each predefined equal-width interval are determined in a manner that enables a uniform representation of data characteristics; and transforming univariate and bivariate statistics into a scaled format such that the statistics are combined through feature scaling, wherein transforming the univariate and bivariate statistics comprises: building the machine learning model based on the transformed univariate and bivariate statistics, and the plurality of input parameter sets; loading a machine learning model and a set of test case statistical data into a user system, wherein the set of test case statistical data is based on a set of test cases corresponding to the machine learning model and comprises a plurality of input parameter sets and a corresponding set of output quality measurements, and wherein the machine learning model is built by: comparing user data comprising a second transformed univariate and bivariate statistics on the user system against the set of test case statistical data, wherein the comparison identifies one of the plurality of input parameter sets to optimize the machine learning model based on the set of output quality measurements; generating, at the user system, an optimized machine learning model using the machine learning model and the identified input parameter set; displaying one or more similar sets of test data on a user interface; responsive to receiving through the user interface a selection choice from the one or more similar sets of test data, applying the selection choice to the machine learning model and predicting an accuracy of the optimized machine learning model; outputting the optimized machine learning model to the user through the user interface; and responsive to receiving acceptance of the optimized machine learning model through the user interface executing the optimized machine learning model and refreshing the optimized machine learning model, by collecting information to add a new pre-trained machine learning model. . A computer program product stored in a computer readable storage medium, comprising computer program code that, when executed by an information handling system, causes the information handling system to perform actions comprising:
claim 15 collecting a set of test data corresponding to the set of test cases; transforming the set of test data into a set of transformed descriptive statistics, wherein the transforming comprises a set of analytic computations, a set of scaling computations, and a set of sorting computations; running the set of test cases with the plurality of input parameter sets to generate the set of output quality measurements; and constructing the set of test case statistical data by combining the set of transformed descriptive statistics, the set of output quality measurements, and the plurality of input parameter sets. . The computer program product ofwherein, at a developer system, the information handling system performs further actions comprising:
claim 16 packaging the test case statistical data, the machine learning model, and an initial parameter optimizer into a deployment package; and deploying the deployment package from the developer system to the user system. . The computer program product ofwherein the information handling system performs further actions comprising:
claim 17 collecting, by the initial parameter optimizer, a set of user data characteristics of the user data; transforming the set of user data characteristics into a set of transformed user data statistics; receiving a set of user parameters from a user; predicting a model quality of the optimized machine learning model based on the set of user parameters, the set of transformed user data statistics, and the set of output quality measurements; and displaying the predicted model quality of the optimized machine learning model to the user at the user system. . The computer program product ofwherein, at the user system, the information handling system performs further actions comprising:
claim 17 collecting, by the initial parameter optimizer, a set of user data characteristics of the user data; transforming the set of user data characteristics into a set of transformed user data statistics; calculating a set of data similarity values between the set of transformed user data statistics and the set of transformed descriptive statistics; and selecting a subset of the plurality of input parameter sets from the test case statistical data based on the set of data similarity values. . The computer program product ofwherein the information handling system performs further actions comprising:
claim 19 predicting a set of model quality values of the optimized machine learning model based on the subset of input parameter sets, the set of transformed user data statistics, and the set of output quality measurements; displaying the set of model quality values and corresponding subset of input parameter sets to the user at the user system; receiving a selection from the user that selects one of the subsets of input parameter sets; and creating the optimized machine learning model using the selected subset of input parameter sets. . The computer program product ofwherein the information handling system performs further actions comprising:
Complete technical specification and implementation details from the patent document.
Machine learning algorithms build machine learning models based on sample data, known as training data, to make predictions or decisions without being explicitly programmed. The process of training a machine learning model involves providing a machine learning algorithm with the training data from which to learn, and the artifact created from the training process is the machine learning model. The training data includes correct answers that are referred to as targets or target attributes, and the machine learning algorithm finds patterns in the training data that map input data attributes to the target attributes and outputs a machine learning model that captures the patterns.
A model building node in a data processing system accepts data and parameters of an algorithm as input, and then outputs a machine learning model for further use. To build a machine learning model with sufficient accuracy, users use default values for parameters or adjust values based on experience. Users then run the model building node to output the machine learning model, check the machine learning model's accuracy, and then repeat the process with adjusted parameters until the model accuracy is adequate.
According to one embodiment of the present disclosure, an approach is provided in which the approach loads a machine learning model and a set of test case statistical data into a user system. The set of test case statistical data is based on a set of test cases corresponding to the machine learning model and includes a plurality of input parameter sets and a corresponding set of output quality measurements. The approach compares user data on the user system against the set of test case statistical data and identifies one of the plurality of input parameter sets to optimize the machine learning model based on the set of output quality measurements. The approach generates an optimized machine learning model using the machine learning model and the identified input parameter set at the user system.
The foregoing is a summary and thus contains, by necessity, simplifications, generalizations, and omissions of detail; consequently, those skilled in the art will appreciate that the summary is illustrative only and is not intended to be in any way limiting. Other aspects, inventive features, and advantages of the present disclosure, as defined solely by the claims, will become apparent in the non-limiting detailed description set forth below.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the disclosure. As used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises” and/or “comprising,” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
The corresponding structures, materials, acts, and equivalents of all means or step plus function elements in the claims below are intended to include any structure, material, or act for performing the function in combination with other claimed elements as specifically claimed. The description of the present disclosure has been presented for purposes of illustration and description, but is not intended to be exhaustive or limited to the disclosure in the form disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the disclosure. The embodiment was chosen and described in order to best explain the principles of the disclosure and the practical application, and to enable others of ordinary skill in the art to understand the disclosure for various embodiments with various modifications as are suited to the particular use contemplated.
The present invention may be a system, a method, and/or a computer program product at any possible technical detail level of integration. The computer program product may include a computer readable storage medium (or media) having computer readable program instructions thereon for causing a processor to carry out aspects of the present invention.
The computer readable storage medium can be a tangible device that can retain and store instructions for use by an instruction execution device. The computer readable storage medium may be, for example, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of the computer readable storage medium includes the following: a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanically encoded device such as punch-cards or raised structures in a groove having instructions recorded thereon, and any suitable combination of the foregoing. A computer readable storage medium, as used herein, is not to be construed as being transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission media (e.g., light pulses passing through a fiber-optic cable), or electrical signals transmitted through a wire.
Computer readable program instructions described herein can be downloaded to respective computing/processing devices from a computer readable storage medium or to an external computer or external storage device via a network, for example, the Internet, a local area network, a wide area network and/or a wireless network. The network may comprise copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers and/or edge servers. A network adapter card or network interface in each computing/processing device receives computer readable program instructions from the network and forwards the computer readable program instructions for storage in a computer readable storage medium within the respective computing/processing device.
Computer readable program instructions for carrying out operations of the present invention may be assembler instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state-setting data, configuration data for integrated circuitry, or either source code or object code written in any combination of one or more programming languages, including an object oriented programming language such as Smalltalk, C++, or the like, and procedural programming languages, such as the “C” programming language or similar programming languages. The computer readable program instructions may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider). In some embodiments, electronic circuitry including, for example, programmable logic circuitry, field-programmable gate arrays (FPGA), or programmable logic arrays (PLA) may execute the computer readable program instructions by utilizing state information of the computer readable program instructions to personalize the electronic circuitry, in order to perform aspects of the present invention.
Aspects of the present invention are described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer readable program instructions.
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, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. These computer readable program instructions may also be stored in a computer readable storage medium that can direct a computer, a programmable data processing apparatus, and/or other devices to function in a particular manner, such that the computer readable storage medium having instructions stored therein comprises an article of manufacture including instructions which implement aspects of the function/act specified in the flowchart and/or block diagram block or blocks.
The computer readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other device to produce a computer implemented process, such that the instructions which execute on the computer, other programmable apparatus, or other device implement the functions/acts specified in the flowchart and/or block diagram block or blocks.
The flowchart 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 invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logical function(s). In some alternative implementations, the functions noted in the blocks may occur out of the order noted in the Figures. For example, two blocks shown in succession may, in fact, be accomplished as one step, executed concurrently, substantially concurrently, in a partially or wholly temporally overlapping manner, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts or carry out combinations of special purpose hardware and computer instructions. The following detailed description will generally follow the summary of the disclosure, as set forth above, further explaining and expanding the definitions of the various aspects and embodiments of the disclosure as necessary.
1 FIG. 100 100 110 112 112 110 115 115 120 110 125 115 118 115 125 125 130 illustrates information handling system, which is a simplified example of a computer system capable of performing the computing operations described herein. Information handling systemincludes one or more processorscoupled to processor interface bus. Processor interface busconnects processorsto Northbridge, which is also known as the Memory Controller Hub (MCH). Northbridgeconnects to system memoryand provides a means for processor(s)to access the system memory. Graphics controlleralso connects to Northbridge. In one embodiment, Peripheral Component Interconnect (PCI) Express busconnects Northbridgeto graphics controller. Graphics controllerconnects to display device, such as a computer monitor.
115 135 119 115 135 135 135 196 198 135 135 185 184 Northbridgeand Southbridgeconnect to each other using bus. In some embodiments, the bus is a Direct Media Interface (DMI) bus that transfers data at high speeds in each direction between Northbridgeand Southbridge. In some embodiments, a PCI bus connects the Northbridge and the Southbridge. Southbridge, also known as the Input/Output (I/O) Controller Hub (ICH) is a chip that generally implements capabilities that operate at slower speeds than the capabilities provided by the Northbridge. Southbridgetypically provides various busses used to connect various components. These busses include, for example, PCI and PCI Express busses, an ISA bus, a System Management Bus (SMBus or SMB), and/or a Low Pin Count (LPC) bus. The LPC bus often connects low-bandwidth devices, such as boot ROMand “legacy” I/O devices (using a “super I/O” chip). The “legacy” I/O devices () can include, for example, serial and parallel ports, keyboard, mouse, and/or a floppy disk controller. Other components often included in Southbridgeinclude a Direct Memory Access (DMA) controller, a Programmable Interrupt Controller (PIC), and a storage device controller, which connects Southbridgeto nonvolatile storage device, such as a hard disk drive, using bus.
155 155 135 135 140 150 148 144 146 140 142 145 145 145 ExpressCardis a slot that connects hot-pluggable devices to the information handling system. ExpressCardsupports both PCI Express and Universal Serial Bus (USB) connectivity as it connects to Southbridgeusing both the USB and the PCI Express bus. Southbridgeincludes USB Controllerthat provides USB connectivity to devices that connect to the USB. These devices include webcam (camera), infrared (IR) receiver, keyboard and trackpad, and Bluetooth device, which provides for wireless personal area networks (PANs). USB Controlleralso provides USB connectivity to other miscellaneous USB connected devices, such as a mouse, removable nonvolatile storage device, modems, network cards, Integrated Services Digital Network (ISDN) connectors, fax, printers, USB hubs, and many other types of USB connected devices. While removable nonvolatile storage deviceis shown as a USB-connected device, removable nonvolatile storage devicecould be connected using a different interface, such as a Firewire interface, etcetera.
175 135 172 175 100 190 135 188 135 160 135 158 160 162 164 166 168 170 135 170 100 Wireless Local Area Network (LAN) deviceconnects to Southbridgevia the PCI or PCI Express bus. LAN devicetypically implements one of the Institute of Electrical and Electronic Engineers (IEEE) 802.11 standards of over-the-air modulation techniques that all use the same protocol to wirelessly communicate between information handling systemand another computer system or device. Optical storage deviceconnects to Southbridgeusing Serial Analog Telephone Adapter (ATA) (SATA) bus. Serial ATA adapters and devices communicate over a high-speed serial link. The Serial ATA bus also connects Southbridgeto other forms of storage devices, such as hard disk drives. Audio circuitry, such as a sound card, connects to Southbridgevia bus. Audio circuitryalso provides functionality associated with audio hardware such as audio line-in and optical digital audio in port, optical digital output and headphone jack, internal speakers, and internal microphone. Ethernet controllerconnects to Southbridgeusing a bus, such as the PCI or PCI Express bus. Ethernet controllerconnects information handling systemto a computer network, such as a Local Area Network (LAN), the Internet, and other public and private computer networks.
1 FIG. Whileshows one information handling system, an information handling system may take many forms. For example, an information handling system may take the form of a desktop, server, portable, laptop, notebook, or other form factor computer or data processing system. In addition, an information handling system may take other form factors such as a personal digital assistant (PDA), a gaming device, Automated Teller Machine (ATM), a portable telephone device, a communication device or other devices that include a processor and memory.
2 FIG. 1 FIG. 2 FIG. 2 FIG. 210 270 210 220 230 240 250 260 280 200 260 265 270 275 280 285 145 145 provides an extension of the information handling system environment shown into illustrate that the methods described herein can be performed on a wide variety of information handling systems that operate in a networked environment. Types of information handling systems range from small handheld devices, such as handheld computer/mobile telephoneto large mainframe systems, such as mainframe computer. Examples of handheld computerinclude personal digital assistants (PDAs), personal entertainment devices, such as Moving Picture Experts Group Layer-3 Audio (MP3) players, portable televisions, and compact disc players. Other examples of information handling systems include pen, or tablet, computer, laptop, or notebook, computer, workstation, personal computer system, and server. Other types of information handling systems that are not individually shown inare represented by information handling system. As shown, the various information handling systems can be networked together using computer network. Types of computer network that can be used to interconnect the various information handling systems include Local Area Networks (LANs), Wireless Local Area Networks (WLANs), the Internet, the Public Switched Telephone Network (PSTN), other wireless networks, and any other network topology that can be used to interconnect the information handling systems. Many of the information handling systems include nonvolatile data stores, such as hard drives and/or nonvolatile memory. The embodiment of the information handling system shown inincludes separate nonvolatile data stores (more specifically, serverutilizes nonvolatile data store, mainframe computerutilizes nonvolatile data store, and information handling systemutilizes nonvolatile data store). The nonvolatile data store can be a component that is external to the various information handling systems or can be internal to one of the information handling systems. In addition, removable nonvolatile storage devicecan be shared among two or more information handling systems using various techniques, such as connecting the removable nonvolatile storage deviceto a USB port or other connector of the information handling systems.
As discussed above, users iteratively adjust parameter values while building a machine learning model until the machine learning model meets accuracy requirements. A challenge found with today's approaches is that the iterations to adjust parameter values are time consuming and requires a substantial amount of computing resources in the user environment.
3 10 FIGS.through depict an approach that can be executed on an information handling system that deploys a pre-trained machine learning model with transformed developer data to a user environment where the pre-trained machine learning model is initially optimized based on user data. The approach builds a machine learning model to reflect a relationship between model accuracy and input information (e.g., characteristics of input data and values of parameters). The approach provides several sets of optimized parameters and model accuracy based on characteristics of input data as options for a user to select. Then, the approach predicts an accuracy of a machine learning model based on the pre-trained machine learning model, the test case statistical data, user data, and user parameter adjustments. The approach also collects information and refreshes the pre-trained machine learning model after execution of model building.
Advantages of the approach discussed herein include a) reduce time-consuming parameter value iterations and computer resources in the user environment; b) leverage machine learning model versus brute-force computation; c) development phase computation versus user side computation; d) easy to use because no domain knowledge/experience needed; e) extensible because each node has a separate machine learning model; and f) the accuracy of predictions will increase with the accumulation of the number of uses and models.
3 FIG. is an exemplary diagram depicting a developer system deploying a pre-trained machine learning model to a user system that enables the user system to create a machine learning model whose parameters are initially optimized based on user data.
300 305 310 315 320 305 310 310 310 Developer systemfirst creates or reuses existing test cases to build a machine learning model (input parametersand test data). Parameter discovery and model builderthen uses data/parameters collectionto collect input information from key parameters (input parameters) and characteristics of test datasuch as size of input data, number of fields, number of categorical fields, number of continuous fields, etc. Test datamay be input data of test case or input data from test case. Test datamay also be training data used to train a model, test data used to evaluate a model, or validation data used to validate a model.
325 325 Data transformationthen computes univariate statistics of the categorical fields (e.g., number of categories, percentage of each categories, etc.) and computes univariate statistics of continuous fields (e.g., min, max, mean, standard deviation, variance, standard error, etc.) Data transformationalso computes bivariate statistics of target and predictors.
325 325 0 1 325 Then, because each test case may include a different number of statistics and/or different type of statistics, data transformationtransforms the univariate and bivariate statistics into a scaled format such that the statistics can be combined. In one embodiment, for each univariate and bivariate statistics, data transformationuses feature scaling (e.g., min-max normalization) to bring all values into a range [,] where n (e.g., n=5) is an equal width interval in the value range: [0, 1/n), [1/n, 2/n), [2/n, 3/n), . . . [(n−1)/n, 1]. Data transformationthen counts the number of statistics values in each range to generate a vector of n elements.
330 310 305 335 340 345 350 365 355 340 Then, model quality testerruns all test case from test databy combining the transformed test data with parameter sets from input parametersand records accuracies (e.g., Classification Accuracy or MSE) of the output model of each test case. Then, model builderbuilds a regression model (e.g., Linear Regression, Regression Tree) for the relationship between the model accuracy, the transformed test data, and the parameter sets. Developer systemthen deploys pre-trained model, test case statistical data, and initial parameter optimizerto user systemin deployment package.
355 365 385 345 370 360 375 User systemincludes initial parameter optimizer, which performs various steps to produce initially optimized modelfrom pre-trained model. Data/parameters collectioncollects information of characteristics of input data from user data. Then, data transformationcomputes univariate and bivariate statistics from the collected information and transforms the univariate and bivariate statistics to a scaled format similar to that discussed above.
380 350 380 395 390 390 365 385 390 385 385 Model quality estimatorthen calculates a similarity of input data between test case statistical dataand the transformed user data. Model quality estimatordisplays the top N similar sets of test data information on user interfaceto user. Userselects one of the top N similar sets of test data information and initial parameter optimizerapplies the user selected values of parameters for model building and predicts an accuracy of initially optimized model. Userthen either accepts initially optimized modelfor use, selects a different set of test data to create a different initially optimized model, or adjust parameters as needed.
365 385 In one embodiment, initial parameter optimizerrefreshes initially optimized modelafter execution and collects information to refresh/add a new pre-trained machine learning model based on a) information of characteristics of input data; b) values of parameters; and c) accuracy of the machine learning model.
4 FIG. 4 FIG. 6 FIG. 400 410 305 600 is an exemplary flowchart showing steps taken in a development environment to build a pre-trained machine learning model.processing commences atwhereupon, at step, the process collects information on values of key parameters (input parameters) from existing or new created test cases (see, parameter informationand corresponding text for further details).
420 310 425 650 6 FIG. At step, the process extracts features on the characteristics of data from the existing or newly created test cases (test data). In one embodiment, the process extracts the size of input data, number of fields, number of categorical fields, number of continuous fields, etc. At step, the process computes univariate statistics and bivariate statistics of the test data. In one embodiment, the process computes univariate statistics of categorical fields (e.g., number of categories, percentage of each categories, etc.); computes univariate statistics of continuous fields (e.g., min, max, mean, standard deviation, variance, standard error); and computes bivariate statistics between target and predictors (see, test data informationand corresponding text for further details).
7 FIG. 8 FIG. 700 720 430 0 1 800 840 In one embodiment, the number of columns of test data are different (see, numerals,, and corresponding text for further details). As such, the process transforms the test data for each test case into a scaled format. Therefore, at step, for each univariate & bivariate statistics of one test data, the process uses feature scaling (e.g., min-max normalization) to bring all values into range [,] (see, reference numerals,, and corresponding text for further details). In one embodiment, the process uses the following formula for feature scaling:
440 8 FIG. At step, the process sorts the scaled values of all fields and then counts the number of values in N equal width intervals for each kind of univariate & bivariate statistics of one test data. In one embodiment, N=max (n, sqrt (number of related fields)) where n is predefined value default=5, resulting in intervals: [0, 1/N), [1/N, 2/N), [2/N, 3/N), . . . [(N−1)/N, 1]. In this embodiment, as shown in, the intervals are [0, 0.2), [0.2, 0.4), [0.4, 0.6), [0.6, 0.8), [0.8, 1].
450 900 460 350 9 FIG. 9 FIG. At step, the process collects the transformed (scaled and counted) univariate & bivariate statistics of the test data (see, tableand corresponding text for further details). At step, the process runs the test cases by combining the test data information with the parameter values and records the quality values (e.g., one or more of Model Accuracy, MSE) of the output model of each test case to create test case statistical data(seeand corresponding text for further details).
470 Y: Quality of output (e.g., quality of output model) X: Input info (characteristics of test data and values of key parameters) f: The machine learning model At step, the process builds a regression model (e.g., linear regression, regression tree) for the relationship between model quality and input information. In one embodiment, the process builds the model Y=f(X) where:
480 340 350 340 355 495 4 FIG. At step, the process packages pre-trained machine learning modelwith test case statistical dataand deploys deployment packageto user system.processing thereafter ends at.
5 FIG. 5 FIG. 500 390 365 505 390 390 is an exemplary flowchart showing steps taken to apply a machine learning model in a production environment.processing commences at, whereupon the process determines as to whether userwishes to set parameters manually based on predicted model qualities or have initial parameter optimizerautomatically determine the parameters (decision). For example, usermay decide to set parameters manually if userhas enough knowledge and confidence to set the parameters correctly.
505 510 360 515 If the process should set parameters manually, then decisionbranches to the ‘manual’ branch whereupon, at step, the process collects information of characteristics of user input data from user data. At step, the process computes univariate and bivariate statistics of the collected user data and transforms the statistics to a scaled format as discussed above.
520 525 390 395 1000 530 535 10 FIG. 5 FIG. At step, the process predicts model quality values by applying the machine learning model with characteristic of input data and user selected parameter values. At step, the process presents uservia user interfacethe model accuracy and user selected parameter values (see, tableand corresponding text for further details). At step, the process refreshes the machine learning model after execution.processing thereafter ends at.
505 505 540 360 510 545 Referring back to decision, if the process should set parameters automatically, then decisionbranches to the ‘automatic’ branch whereupon, at step, the process collects information of characteristics of user input data from user data, similar to stepabove. At step, the process computes univariate and bivariate statistics of the collected user data and transforms the statistics to a scaled format as discussed above.
550 At step, the process calculates similarities of characteristics of input data between test data in the test case information, in one embodiment, by a known method such as with Euclidean distance computations:
where: Distance(id, td): Euclidean distance between id and td id: characteristics of input data td: characteristics of one test data in the test case information
555 1020 560 565 390 395 1060 570 595 10 FIG. 10 FIG. 5 FIG. The process may also calculate data similarities using other methods such Pearson's Correlation, Spearman's correlation, etc. At step, the process identifies candidate parameter values from the top N similar test data information with good model quality (see, table, and corresponding text for further details) and, at step, the process predicts model quality values by applying the machine learning model with characteristic of input data and candidate parameter values. At step, the process presents uservia user interfacewith model accuracy values and candidate parameter values (see, tableand corresponding text for further details). At step, the process receives parameter selections and refreshes the machine learning model after execution.processing thereafter ends at.
6 FIG. 600 305 is an exemplary diagram depicting a parameter information table and test data information table utilized to build a machine learning model. Tableincludes a list of parameters (input parameters) corresponding to test cases that are typically created by a software developer in the development phase. Each row corresponds to a different test case.
300 Test cases drive the execution of a product to cover some functions (machine learning model) and ensure the output/result of that function is expected/correct. For example, in a test case that includes input/test data, input parameters, execution result, and expected result, developer systemruns the test case and compares the execution result to the expected results to check the accuracy of the implemented function.
300 300 300 600 Developer systemtypically uses several test cases to cover all the branches/sub feature of a tested function. To achieve this, developer systemusually creates many test cases with different test data (different values, different number of columns, and different type of values), and different values of parameters. As such, developer systemcollects several sets of parameters from all these test cases shown in table. When a developer deigns a function, the developer knows the parameters that are important corresponding to the nature of the function.
650 650 660 670 310 Each row in tablerepresents test data information corresponding to a test case. Tableincludes two types of information, which are i) overall test case information (file size, number of columns) about the data; and ii) descriptive statistics about each column in the data. Columnsinclude overall test case information that is directly observed from file information. Columnsinclude descriptive statistics that are calculated by univariate computations and bivariate computations of values of the data in test data.
7 FIG. 700 720 300 is an exemplary diagram depicting data in various other tables utilized to build a machine learning model. Tableandinclude different sets of test data for two different test cases and show that the different test data has a different number of columns, different values, and different type of values based on the particular test case. As discussed earlier, developer systemtransforms the different data types in a manner such that the data can be utilized to initially optimize machine learning model parameters.
740 770 700 720 740 750 650 770 780 650 Tablesandinclude information (file info, descriptive statistics) of two sets of test data, such as in tablesand. Table's columnscorrespond to the first row (first test case file information) in table, and table's columnscorrespond to the second row (second test case file information) in table.
760 790 700 720 760 790 760 700 790 720 760 790 Columnsandcorrespond to descriptive statistics of tablesand, respectively. The number of columns for descriptive statistics in columnsandare related to the number and type of columns in the original data. As such, columnsinclude three columns of mean values because tableincludes three numeric columns, and columnsinclude seven columns of mean values because tableincludes seven columns of mean values. Other types of statistics may be included in columnsandsuch as min, max, variance, etc.
8 FIG. 8 FIG. 740 770 300 is an exemplary diagram depicting various other tables utilized to build a machine learning model. As discussed above, the number of columns of test data may be different (tablesand) and, as such, developer systemtransforms the test data for each test case into a uniform format (same number of columns and data type).shows two stages of the transformation, which is the scaling step and then the sorting/counting step, details of which are discussed below.
800 840 740 770 800 740 840 770 300 300 Tablesandcorrespond to tablesand. Tableincludes the max values of tableand tableincludes the max values of table. Developer systemuses feature scaling (e.g., min-max normalization) to bring all values into range [0, 1] and, in one embodiment, developer systemuses the following formula for feature scaling:
810 850 805 845 300 820 Rowsandshow the results of feature scaling of their respective data values in rowsand. Once the features values are scaled, developer systemsorts the scaled values of all fields and then counts the number of values in N equal width intervals for each kind of univariate & bivariate statistics of one test data. Tableshows that when N=5, the intervals are [0, 0.2), [0.2, 0.4), [0.4, 0.6), [0.6, 0.8), [0.8, 1], and the corresponding count values are 7, 4, 3, 8, 12.
805 300 650 740 770 350 355 The count value of intervals for final model building is utilized because the count value of intervals represents the characteristics of the information table and original data. For example, rowincludes maximal values of numeric fields (column) of one input data. Developer systemalso obtains maximal values of the numeric fields (column) from tables,, or. The count in each interval represents the distribution of the scaled data and developer systemuses this distribution as characteristic of the maximal values. The maximal value is one of several other characteristics (minimal value, mean, media, etc.) of the data and developer systemtransforms the data for each descriptive statistic.
9 FIG. 900 660 650 920 1 is an exemplary diagram depicting various other tables utilized to build a machine learning model. Tablecombines test case informationfrom tablewith univariate and bivariate transformed descriptive statistics(scale, sort, count). For example, the first row (data ID) includes test data information for a first test case and also includes univariate statistics and bivariate statistics after transformation of parameters corresponding to the test case.
350 970 980 900 970 600 980 345 Test case statistical dataappends input parametersand output quality measurementsto table. Input parameterscorrespond to table, and output quality measurementscorresponds to quality values of pre-trained modelbased on a given test case with give parameters (in the same row).
10 FIG. 1000 390 355 360 1000 390 345 345 is an exemplary diagram depicting various tables utilized to create an initially optimized machine learning model in a production environment. Tablecorresponds to a first embodiment where usermanually sets parameters and user systempredicts model output quality based on user data. Tableincludes user-set parameters (set by user) and corresponding model quality information (MSE values) computed/predicted by pre-trained modelbased on the user-set parameters. Pre-trained modelreflects the relationship between characteristic of input (input data, value of input parameters) and model quality.
390 345 355 390 360 355 355 324 355 900 355 350 355 390 When userwishes to use pre-trained modelin user system, userfirst selects an input data (user data), the sets values for the parameters. Before user systemcommences execution, user systemcollects information of user dataand transforms the user data for each statistic: scale, sort and count. As such, user systemcomputes values similar (same width) to the rows in table. User systemcombines this row with the user specified parameter values and computes values similar (same width) to one row in test case statistical dataexcept there is no value for output quality column. User systemuses this row of values as input of the model to predict the output quality (this is the output of prediction of the machine learning model) and show userselected parameters and the predicted output quality.
1020 390 360 365 360 350 330 360 1050 Tablecorresponds to a second embodiment where userselects input databut does not set values for parameters. Initial parameter optimizerextracts information of input data from user dataand then finds similar data info from test case statistical data. Initial parameter optimizercalculates a similarity of info/characteristic of user datato each row, sorts the value by data similarity of all rows (data similarity values), and then selects the top N rows. Data similarity values are computed using techniques such as Euclidean distance computations.
390 330 350 330 1060 390 395 390 390 Once userselects an input data and initial parameter optimizerdetermines the top N similar rows from test case statistical data, initial parameter optimizershows tableto uservia user interface. Usermay select one of the rows (as value of parameters) to run the function (build the model). Usermay also select one row (as value of parameters), adjust part or ail of value of parameters, and then run the function (build the model).
390 330 390 In one embodiment, usermay also select multiple rows as values of parameters and run the function (build several different models) in multiple times in parallel or in sequence. In this embodiment, initial parameter optimizershows userthe selected parameter values and output quality to provide options for selection.
While particular embodiments of the present disclosure have been shown and described, it will be obvious to those skilled in the art that, based upon the teachings herein, that changes and modifications may be made without departing from this disclosure and its broader aspects. Therefore, the appended claims are to encompass within their scope all such changes and modifications as are within the true spirit and scope of this disclosure. Furthermore, it is to be understood that the disclosure is solely defined by the appended claims. It will be understood by those with skill in the art that if a specific number of an introduced claim element is intended, such intent will be explicitly recited in the claim, and in the absence of such recitation no such limitation is present. For non-limiting example, as an aid to understanding, the following appended claims contain usage of the introductory phrases “at least one” and “one or more” to introduce claim elements. However, the use of such phrases should not be construed to imply that the introduction of a claim element by the indefinite articles “a” or “an” limits any particular claim containing such introduced claim element to disclosures containing only one such element, even when the same claim includes the introductory phrases “one or more” or “at least one” and indefinite articles such as “a” or “an”; the same holds true for the use in the claims of definite articles.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
August 10, 2021
September 29, 2026
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.