Training algorithms and cost functions for quantum machine learning
Training algorithms and cost functions for quantum machine learning
(calculate-ml-metrics y-true y-pred task-type)
Calculate comprehensive ML metrics for quantum machine learning results.
Parameters:
Returns: Map with relevant metrics
Calculate comprehensive ML metrics for quantum machine learning results. Parameters: - y-true: True labels/values - y-pred: Predicted labels/values - task-type: :classification or :regression Returns: Map with relevant metrics
(classification-cost parameters
ansatz-fn
features
labels
backend
&
{:keys [options] :or {options {}}})
Calculate classification cost for quantum machine learning with configurable loss function.
This is the lower-level implementation. For optimization integration, use create-classification-cost-fn instead.
Parameters:
Returns: Cost value (real number)
Calculate classification cost for quantum machine learning with configurable loss function. This is the lower-level implementation. For optimization integration, use create-classification-cost-fn instead. Parameters: - parameters: Circuit parameters - ansatz-fn: Parameterized quantum circuit function - features: Training features (X data) - labels: Training labels (y data) - backend: Quantum backend - options: Options map with: - :loss-function - :cross-entropy (default), :hinge, :squared - :regularization - :none (default), :l1, :l2, :elastic-net - :reg-lambda - Regularization strength (default: 0.01) - :reg-alpha - Elastic net mix ratio (default: 0.5) Returns: Cost value (real number)
(create-classification-cost-fn ansatz-fn
features
labels
backend
&
{:keys [options] :or {options {}}})
Create a classification cost function for use with optimization algorithms.
This is a higher-order function that returns a cost function compatible with the optimization namespace interface: (fn [parameters] -> cost-value)
Parameters:
Returns: Cost function that takes only parameters and returns cost value
Create a classification cost function for use with optimization algorithms. This is a higher-order function that returns a cost function compatible with the optimization namespace interface: (fn [parameters] -> cost-value) Parameters: - ansatz-fn: Parameterized quantum circuit function - features: Training features (X data) - labels: Training labels (y data) - backend: Quantum backend - options: Options map for loss function and regularization (see classification-cost) Returns: Cost function that takes only parameters and returns cost value
(create-qml-dataset features
labels
task-type
&
{:keys [metadata] :or {metadata {}}})
Create a structured dataset for quantum machine learning.
Parameters:
Returns: Structured dataset map
Create a structured dataset for quantum machine learning. Parameters: - features: Feature matrix - labels: Label vector (for classification) or target vector (for regression) - task-type: :classification or :regression - metadata: Optional metadata map Returns: Structured dataset map
(create-regression-cost-fn ansatz-fn
features
targets
backend
&
{:keys [options] :or {options {}}})
Create a regression cost function for quantum machine learning.
Parameters:
Returns: Cost function that takes only parameters and returns cost value
Create a regression cost function for quantum machine learning. Parameters: - ansatz-fn: Parameterized quantum circuit function - features: Training features (X data) - targets: Training targets (y data, continuous values) - backend: Quantum backend - options: Options map with: - :loss-function - :squared (default), :huber, :absolute - :regularization - :none (default), :l1, :l2, :elastic-net - :reg-lambda - Regularization strength (default: 0.01) Returns: Cost function that takes only parameters and returns cost value
(cross-entropy-loss true-label predicted-prob)
Calculate cross-entropy loss for classification.
Parameters:
Returns: Cross-entropy loss value
Calculate cross-entropy loss for classification. Parameters: - true-label: True class label (0 or 1 for binary) - predicted-prob: Predicted probability for the true class Returns: Cross-entropy loss value
(elastic-net-regularization parameters lambda alpha)
Calculate Elastic Net regularization (L1 + L2).
Parameters:
Returns: Elastic Net penalty value
Calculate Elastic Net regularization (L1 + L2). Parameters: - parameters: Parameter vector - lambda: Total regularization strength - alpha: Mix ratio (0=L2 only, 1=L1 only) Returns: Elastic Net penalty value
(hinge-loss true-label predicted-score)
Calculate hinge loss for classification (SVM-style).
Parameters:
Returns: Hinge loss value
Calculate hinge loss for classification (SVM-style). Parameters: - true-label: True class label (0 or 1, converted to -1/+1) - predicted-score: Raw prediction score (before sigmoid) Returns: Hinge loss value
(l1-regularization parameters lambda)
Calculate L1 (Lasso) regularization penalty.
Parameters:
Returns: L1 penalty value
Calculate L1 (Lasso) regularization penalty. Parameters: - parameters: Parameter vector - lambda: Regularization strength Returns: L1 penalty value
(l2-regularization parameters lambda)
Calculate L2 (Ridge) regularization penalty.
Parameters:
Returns: L2 penalty value
Calculate L2 (Ridge) regularization penalty. Parameters: - parameters: Parameter vector - lambda: Regularization strength Returns: L2 penalty value
(normalize-features-with-noj feature-matrix)
Normalize features using scicloj noj functionality when available.
Falls back to built-in normalization if noj is not available.
Parameters:
Returns: Normalized feature matrix
Normalize features using scicloj noj functionality when available. Falls back to built-in normalization if noj is not available. Parameters: - feature-matrix: 2D vector of features [[row1] [row2] ...] Returns: Normalized feature matrix
(split-dataset dataset train-ratio & {:keys [random-seed] :or {random-seed 42}})
Split dataset into training and testing sets.
Parameters:
Returns: Map with :train and :test datasets
Split dataset into training and testing sets. Parameters: - dataset: Dataset created with create-qml-dataset - train-ratio: Ratio for training set (default: 0.8) - random-seed: Random seed for reproducible splits Returns: Map with :train and :test datasets
(squared-loss true-value predicted-value)
Calculate squared loss for regression.
Parameters:
Returns: Squared loss value
Calculate squared loss for regression. Parameters: - true-value: True target value - predicted-value: Predicted value Returns: Squared loss value
(train-qml-model ansatz-fn training-data config)
Train a quantum machine learning model using gradient-based optimization.
Parameters:
Returns: Trained model parameters and metrics
Train a quantum machine learning model using gradient-based optimization. Parameters: - ansatz-fn: Parameterized quantum circuit function - training-data: Map with :features and :labels - config: Training configuration Returns: Trained model parameters and metrics
(visualize-training-progress training-history width)
Create ASCII visualization of training progress.
Parameters:
Returns: String with ASCII plot
Create ASCII visualization of training progress. Parameters: - training-history: Vector of maps with :iteration and :cost - width: Width of the ASCII plot (default: 60) Returns: String with ASCII plot
cljdoc builds & hosts documentation for Clojure/Script libraries
Ctrl+k | Jump to recent docs |
← | Move to previous article |
→ | Move to next article |
Ctrl+/ | Jump to the search field |