Liking cljdoc? Tell your friends :D

org.soulspace.qclojure.ml.application.training

Training algorithms and cost functions for quantum machine learning

Training algorithms and cost functions for quantum machine learning
raw docstring

calculate-ml-metricsclj

(calculate-ml-metrics y-true y-pred task-type)

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

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
sourceraw docstring

classification-costclj

(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:

  • 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)

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)
sourceraw docstring

create-classification-cost-fnclj

(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:

  • 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 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
sourceraw docstring

create-qml-datasetclj

(create-qml-dataset features
                    labels
                    task-type
                    &
                    {:keys [metadata] :or {metadata {}}})

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 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
sourceraw docstring

create-regression-cost-fnclj

(create-regression-cost-fn ansatz-fn
                           features
                           targets
                           backend
                           &
                           {:keys [options] :or {options {}}})

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

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
sourceraw docstring

cross-entropy-lossclj

(cross-entropy-loss true-label predicted-prob)

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

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
sourceraw docstring

elastic-net-regularizationclj

(elastic-net-regularization parameters lambda alpha)

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

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
sourceraw docstring

hinge-lossclj

(hinge-loss true-label predicted-score)

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

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
sourceraw docstring

l1-regularizationclj

(l1-regularization parameters lambda)

Calculate L1 (Lasso) regularization penalty.

Parameters:

  • parameters: Parameter vector
  • lambda: Regularization strength

Returns: L1 penalty value

Calculate L1 (Lasso) regularization penalty.

Parameters:
- parameters: Parameter vector
- lambda: Regularization strength

Returns:
L1 penalty value
sourceraw docstring

l2-regularizationclj

(l2-regularization parameters lambda)

Calculate L2 (Ridge) regularization penalty.

Parameters:

  • parameters: Parameter vector
  • lambda: Regularization strength

Returns: L2 penalty value

Calculate L2 (Ridge) regularization penalty.

Parameters:
- parameters: Parameter vector
- lambda: Regularization strength

Returns:
L2 penalty value
sourceraw docstring

normalize-features-with-nojclj

(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:

  • feature-matrix: 2D vector of features [[row1] [row2] ...]

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
sourceraw docstring

split-datasetclj

(split-dataset dataset train-ratio & {:keys [random-seed] :or {random-seed 42}})

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

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
sourceraw docstring

squared-lossclj

(squared-loss true-value predicted-value)

Calculate squared loss for regression.

Parameters:

  • true-value: True target value
  • predicted-value: Predicted value

Returns: Squared loss value

Calculate squared loss for regression.

Parameters:
- true-value: True target value
- predicted-value: Predicted value

Returns:
Squared loss value
sourceraw docstring

train-qml-modelclj

(train-qml-model ansatz-fn training-data config)

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

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
sourceraw docstring

visualize-training-progressclj

(visualize-training-progress training-history width)

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

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
sourceraw docstring

cljdoc builds & hosts documentation for Clojure/Script libraries

Keyboard shortcuts
Ctrl+kJump to recent docs
Move to previous article
Move to next article
Ctrl+/Jump to the search field
× close