US-12619917-B2 - Feature contribution computation and human-interpretable reason codes for a support vector machine
Abstract
Systems and methods for computing feature contribution and providing hum-interpretable reason codes for a Support Vector Machine (SVM) model are disclosed, A system computes, for each data point from amongst plurality of data points indicative of plurality of features, a feature contribution of each one of the plurality of features for a SVM model used for at least one of classification decision and a regression analysis. Further, the system provides human interpretable reason code for the interpretation corresponding to at least one of classification decision and the regression analysis from the SVM model. The system outputs to the user, a feature contribution output, and the human interpretable reason codes output. The feature contribution output and the human interpretable reason codes output are indicative of an acceptable decision to be taken by the user based on the classification decision and the regression analysis received from the SVM model.
Inventors
- Tanusree DE
- Padma MURALI
- Subhadip Ghosh
Assignees
- ACCENTURE GLOBAL SOLUTIONS LIMITED
Dates
- Publication Date
- 20260505
- Application Date
- 20221017
Claims (20)
- 1 . A system comprising: a processor; a memory coupled to the processor, wherein the memory comprises processor-executable instructions, which on execution, cause the processor to: compute, for each data point from amongst a plurality of data points that are indicative of a plurality of features, a feature contribution of each one of the plurality of features for a Support Vector Machine (SVM) model used for at least one of a classification decision and a regression analysis, wherein, for computing the feature contribution, the processor is configured to: derive, for each data point, a plurality of support vector contributions from each support vector of a plurality of support vectors received from training data from the Support Vector Machine (SVM) model; allocate, for each support vector, the derived plurality of support vector contributions to the plurality of features in the training data; determine, for each data point, a plurality of feature contributions by summing the plurality of support vector contributions of each feature, wherein the plurality of features influence contribution of the plurality of support vector contributions; and generate a feature contribution output based on the plurality of feature contributions associated with the classification decision and the regression analysis; provide at least one human-interpretable reason code for an interpretation corresponds to at least one of, the classification decision and the regression analysis from the SVM model, wherein, for providing the plurality of human-interpretable reason codes, the processor is configured to; generate a support vector contribution table based on the plurality of support vector contributions; cluster the support vector contribution table for grouping similarly trained of data points in the training data into one cluster; determine a plurality of cluster Identities (IDs) from the clustered support vector contribution table; build at least one of a trepan tree or a decision tree using original data and the plurality of cluster IDs, wherein the original data includes unscaled training data; generate a cluster explanation for each cluster ID of the plurality of cluster IDs based on the interpretation corresponds to at least one of the classification decision and the regression analysis received from the SVM model; and generate the human-interpretable reason codes output, via the trepan tree or decision tree, based on the cluster explanation for each cluster ID; and generate the human-interpretable reason codes output, wherein the human-interpretable reason codes output is derived from the cluster explanation for each cluster ID through the trepan tree or decision tree; and output to the user, the feature contribution output and the human-interpretable reason codes output, wherein the feature contribution output and the human-interpretable reason codes output are indicative of an acceptable decision to be taken by the user based on the classification decision and the regression analysis received from the SVM model.
- 2 . The system as claimed in claim 1 , wherein, for building at least one of the trepan tree or the decision tree using the original data and the plurality of cluster IDs, the processor is further configured to: generate the plurality of cluster IDs with a reason code associated with each cluster ID; and construct using at least one of the trepan tree or the decision tree, a plurality of clusters, based on the plurality of cluster IDs comprising the reason code.
- 3 . The system as claimed in claim 2 , wherein the processor is further configured to: analyze, for each cluster, a plurality of distributions in a plurality of classes associated with the plurality of clusters, and determine whether a class of the plurality of classes is homogeneous or non-homogenous, when the plurality of clusters is constructed using the trepan tree; and obtain, for each cluster, a plurality of decision function values from the SVM model to predict a decision function value using a regression decision tree, when the plurality of clusters is constructed using the decision tree.
- 4 . The system as claimed in claim 3 , wherein, the processor is further configured to: associate, when the class of the plurality of classes is homogeneous, the cluster with one class present in the cluster; and build, when the class of the plurality of classes is non-homogeneous, another trepan tree on the cluster associated with the class which is non-homogeneous to generate a class.
- 5 . The system as claimed in claim 4 , wherein the processor is further configured to: build, when there are ‘n’ clusters with ‘k’ homogeneous clusters, n-k trepan tree for each non-homogenous cluster, and one trepan tree for constructing the plurality of clusters.
- 6 . The system as claimed in claim 1 , wherein the interpretation from the SVM model is input, by the processor, to the trepan tree to generate the plurality of cluster IDs with reason codes, and the plurality of cluster IDs with reason codes are input to the trepan tree to analyze if the trepan tree is built for the cluster ID.
- 7 . The system as claimed in claim 6 , wherein, if the trepan tree is not built for the cluster ID, then the reason codes are returned, by the processor, as output along with the class IDs, wherein, if the trepan tree is built for the cluster ID, then the interpretation from the SVM is input, by the processor, to the trepan tree associated with the cluster ID to generate, by the processor, another set of reason codes along with the class ID.
- 8 . The system as claimed in claim 1 , wherein the interpretation from the SVM model is input, by the processor, to the decision tree to generate the plurality of cluster IDs with reason codes, and the plurality of cluster IDs with reason codes is input to a regression decision tree associated with the cluster ID to generate another set of reason codes with the class ID.
- 9 . The system as claimed in claim 1 , wherein the derived plurality of support vector contributions to the plurality of features in the training data are allocated, by the processor, for each support vector, so that the features comprising a positive weight contribution are provided with higher feature contribution values and the features comprising a negative weight contribution are provided with lower feature contribution values.
- 10 . A method comprising: computing, by a processor associated with a system, for each data point from amongst a plurality of data points that are indicative of a plurality of features, a feature contribution of each one of the plurality of features for a Support Vector Machine (SVM) model used for at least one of a classification decision or a regression analysis, wherein computing the feature contribution comprises: deriving, by the processor, for each data point, a plurality of support vector contributions from each support vector of a plurality of support vectors received from training data from the Support Vector Machine (SVM) model; allocating, by the processor, for each support vector, the derived plurality of support vector contributions to the plurality of features in the training data; determining, by the processor, for each data point, a plurality of feature contributions by summing the plurality of support vector contributions of each feature, wherein the plurality of features influence contribution of the plurality of support vector contributions; and generating, by the processor, a feature contribution output based on the plurality of feature contributions associated with the classification decision and the regression analysis; providing, by the processor, at least one human-interpretable reason code for an interpretation corresponding to at least one of the classification decision and the regression analysis from the SVM model, wherein providing the plurality of human-interpretable reason codes, comprises: generating, by the processor, a support vector contribution table based on the plurality of support vector contributions; clustering, by the processor, the support vector contribution table for grouping similarly trained data points in the training data into one cluster; determining, by the processor, a plurality of cluster Identities (IDs) from the clustered support vector contribution table; building, by the processor, at least one of a trepan tree or a decision tree using original data and the plurality of cluster IDs, wherein the original data includes unscaled training data; generating, by the processor, a cluster explanation for each cluster ID of the plurality of cluster IDs, based on the interpretation corresponds to at least one of the classification decision and the regression analysis received from the SVM model; and generating, by the processor, the human-interpretable reason codes output, via the trepan tree or decision tree, based on the cluster explanation for each cluster ID; and outputting, by the processor, to the user, the feature contribution output, and the human-interpretable reason codes output, wherein the feature contribution output and the human-interpretable reason codes output are indicative of an acceptable decision to be taken by the user based on the classification decision and the regression analysis received from the SVM model.
- 11 . The method as claimed in claim 10 , wherein building at least one of the trepan tree or the decision tree using the original data and the plurality of cluster IDs further comprises; generating, by the processor, the plurality of cluster IDs with a reason code associated with each cluster ID; and constructing, by the processor, using at least one of the trepan tree or the decision tree, a plurality of clusters, based on the plurality of cluster IDs comprising the reason code.
- 12 . The method as claimed in claim 11 further comprises: analyze, by the processor, for each cluster, a plurality of distributions in a plurality of classes associated with the plurality of clusters, and determine, whether a class of the plurality of classes is homogeneous or non-homogenous, when the plurality of clusters is constructed using the trepan tree; and obtaining, by the processor, for each cluster, a plurality of decision function values from the SVM model to predict a decision function value using a regression decision tree, when the plurality of clusters is constructed using the decision tree.
- 13 . The method as claimed in claim 12 further comprises: associating, by the processor, when the class of the plurality of classes is homogeneous, the cluster with one class present in the cluster; and building, by the processor, when the class of the plurality of classes is non- homogeneous, another trepan tree on the cluster associated with the class which is non-homogeneous to generate a class.
- 14 . The method as claimed in claim 13 further comprises: building, by the processor, when there are ‘n’ clusters with ‘k’ homogeneous clusters, n-k trepan tree for each non-homogenous cluster, and one trepan tree for constructing the plurality of clusters.
- 15 . The method as claimed in claim 10 , wherein the interpretation from the SVM model is input, by the processor, to the trepan tree to generate the plurality of cluster IDs with reason codes, and the plurality of cluster IDs with reason codes are input to the trepan tree to analyze if the trepan tree is built for the cluster ID.
- 16 . The method as claimed in claim 15 , wherein, if the trepan tree is not built for the cluster ID, then the reason codes are returned, by the processor, as output along with the class IDs, and wherein, if the trepan tree is built for the cluster ID, then the interpretation from the SVM is input, by the processor, to the trepan tree associated with the cluster ID to generate, by the processor, another set of reason codes along with the class ID.
- 17 . The method as claimed in claim 10 , wherein the interpretation from the SVM model is input, by the processor, to the decision tree to generate the plurality of cluster IDs with reason codes, and the plurality of cluster IDs with reason codes is input to a regression decision tree associated with the cluster ID to generate another set of reason codes with the class ID.
- 18 . The method as claimed in claim 10 , wherein the derived plurality of support vector contributions to the plurality of features in the training data are allocated, by the processor, for each support vector, so that the features comprising a positive weight contribution are provided with higher feature contribution values and the features comprising a negative weight contribution are provided with lower feature contribution values.
- 19 . A non-transitory computer-readable medium comprising machine-readable instructions that are executable by a processor to: compute, for each data point from amongst a plurality of data points indicative of a plurality of features, a feature contribution of each one of the plurality of features for a Support Vector Machine (SVM) model used for at least one of a classification decision and a regression analysis, wherein, for computing the feature contribution, the processor is configured to: derive, for each data point, a plurality of support vector contributions from each support vector of a plurality of support vectors received from training data from the Support Vector Machine (SVM) model; allocate, for each support vector, the derived plurality of support vector contributions to the plurality of features in the training data; determine, for each data point, a plurality of feature contributions by summing the plurality of support vector contributions of each feature, wherein the plurality of features influence contribution of the plurality of support vector contributions; and generate a feature contribution output based on the plurality of feature contributions associated with the classification decision and the regression analysis; provide at least one human-interpretable reason code for an interpretation corresponding to at least one of the classification decision and the regression analysis from the SVM model, wherein, for providing the plurality of human-interpretable reason codes, the processor is configured to: generate a support vector contribution table based on the plurality of support vector contributions; cluster the support vector contribution table for grouping similarly trained data points in the training data into one cluster; determine a plurality of cluster Identities (IDs) from the clustered support vector contribution table; build at least one of a trepan tree or a decision tree using original data and the plurality of cluster IDs, wherein the original data includes unscaled training data; generate a cluster explanation for each cluster ID of the plurality of cluster IDs, based on the interpretation corresponds to at least one of the classification decision and the regression analysis-received from the SVM model; and generate the human-interpretable reason codes output, via the trepan tree or decision tree, based on the cluster explanation for each cluster ID; and output to the user, the feature contribution output, and the human-interpretable reason codes output, wherein the feature contribution output and the human-interpretable reason codes output are indicative of an acceptable decision to be taken by the user based on the classification decision and the regression analysis received from the SVM model.
- 20 . The non-transitory computer-readable medium as claimed in claim 19 , wherein, for building at least one of the trepan tree or the decision tree using the original data and the plurality of cluster IDs, the processor is further configured to: generate the plurality of cluster IDs with a reason code associated with each cluster ID: and construct using at least one of the trepan tree or the decision tree, a plurality of clusters, based on the plurality of cluster IDs comprising the reason code.
Description
BACKGROUND Generally, machine learning-based classification algorithms such as a Support Vector Machine (SVM), and the like are supervised machine learning algorithms used for both classification and regression tasks. The SVM algorithm may have some shortcomings. For example, it may be difficult to interpret the SVM model used by the SVM classifier to make classification decisions. Interpreting the SVM models helps in understanding the features in the data set that contribute (i.e., feature contribution) statistically and/or significantly to the SVM classifier decision. The feature contribution provides a coefficient for every feature and the coefficient provides information as to which set of features contributes the most to a target variable. Conventional methods for determining feature contribution may use a SHapley Additive exPlanation (SHAP) algorithm, a Local Interpretable Model-agnostic Explanations (LIME) algorithm, and the like. These algorithms may not consider complex mathematical decisions in the SVM model and may provide model-agnostic feature contributions and not model-specific feature contributions. Additionally, in most real-time applications, an Artificial Intelligence (AI) model (e.g., the SVM model) may be an integral part of the decision-making process. However, to trust a prediction from the AI model or to perform a downstream workflow action based on it, one needs to understand one or more reasons for the prediction from the AI model. A user may appreciate or even accept the prediction given by the AI model if, the AI model can explain the logical steps and reasoning used to arrive at that prediction. Conventional methods for explaining reasons may use the LIME algorithm and the SHAP algorithm (i.e., based on game theory which computes SHAPley values). The LIME algorithm may provide local explanations and SHAP algorithm may provide global and local explanations. However, the explanations provided by such algorithms may not be easily understood by a user. Further, the SHAP algorithm is computation-intensive due to the usage of the SHAPley values thereby resulting in an exponential running time. Furthermore, existing systems and methods provide for an AI-based explanation of the reasoning for deconstructing a real-world problem, and generating a machine reasoning that may be model-agnostic and not model-specific. Additionally, the explanations generated by the conventional methods may not be easily understood by users as the reason codes which are generated may not be in a human interpretable form. Therefore, there is a need for systems and methods for addressing at least the above-mentioned problems in the existing approaches for determining feature contributions and providing user interpretable reason codes. SUMMARY An embodiment of present disclosure includes a system, the system computes, for each data point from amongst a plurality of data points indicative of a plurality of features, a feature contribution of each one of the plurality of features for a Support Vector Machine (SVM) model used for at least one of a classification decision and a regression analysis. Further, the system provides at least one human interpretable reason code for the interpretation corresponding to at least one of the classification decision and the regression analysis from the SVM model. Further, for computing feature contribution, the system derives, for each data point, a plurality of support vector contributions from each support vector of a plurality of support vectors received from training data from the Support Vector Machine (SVM) model. The system allocates, for each support vector, the derived plurality of support vector contributions to the plurality of features in the training data. Furthermore, the system determines, for each data point, a plurality of feature contributions by summing the plurality of support vector contributions of each feature. The plurality of features influences the contribution of the plurality of support vector contributions. Further, the system generates a feature contribution output based on the plurality of feature contributions associated with the classification decision and the regression analysis. Furthermore, for providing the plurality of human interpretable reason codes, the system generates a support vector contribution table based on the plurality of support vector contributions. The system clusters the support vector contribution table for grouping similarly trained data points in the training data into one cluster. Further, the system determines a plurality of cluster Identities (IDs) from the clustered support vector contribution table. Furthermore, the system builds at least one of, a trepan tree or a decision tree using original data and the plurality of cluster IDs. The system generates a cluster explanation for each cluster ID of the plurality of cluster IDs, based on the interpretation corresponding to at least one of the classification decision and