% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/orthoMTL-package.R
\docType{package}
\name{orthoMTL-package}
\alias{orthoMTL-package}
\title{orthoMTL: Multi-Task Learning with Orthogonal Constraints}
\description{
Fits regularised multi-task learning models where relationships between
tasks are controlled via orthogonality or disjoint-support constraints.
Supports regression, classification, and censored survival data.
}
\section{Overview}{

orthoMTL implements a penalised multi-task learning framework where the
columns of the coefficient matrix are encouraged to be orthogonal (or
have disjoint supports). In survival mode, time-to-event data is
converted into binary classification tasks at user-defined thresholds,
with censored observations masked in the loss computation.

The package is the successor to the \code{orthopen} package and extends
it with survival analysis, elastic-net sparsity, cross-validation,
bootstrap inference, and a visualisation suite.
}

\section{Key Functions}{

\strong{Modelling:}
\itemize{
  \item \code{\link{orthoMTL}} — Core solver (regression, classification,
    survival)
  \item \code{\link{predict.orthoMTL}} — Predictions with column alignment
    and monotonicity projection
  \item \code{\link{coef.orthoMTL}} — Extract coefficient matrix
}

\strong{Survival Utilities:}
\itemize{
  \item \code{\link{create_longitudinal_labels}} — Survival to binary
    label conversion
  \item \code{\link{create_indicator_matrix}} — Censoring indicator matrix
  \item \code{\link{create_constraint_matrix}} — Diffusion constraint
    matrix for temporal tasks
}

\strong{Cross-Validation and Inference:}
\itemize{
  \item \code{\link{cv_orthoMTL}} — Parallel hyperparameter grid search
  \item \code{\link{bootstrap_orthoMTL}} — Bootstrap coefficient
    variability and null comparison
  \item \code{\link{cindex_mtl}} — Concordance index for multi-task
    predictions
}

\strong{Visualisation:}
\itemize{
  \item \code{\link{plot_heatmap}} — Coefficient heatmap
  \item \code{\link{plot_correlation}} — Task distance map
  \item \code{\link{plot_prediction}} — Prediction swimmer plot
  \item \code{\link{plot_bootstrap}} — Bootstrap real vs null comparison
}

\strong{Simulation:}
\itemize{
  \item \code{\link{simulate_mtl}} — Simulated survival data with
    time-varying effects
}
}

\section{Algorithm}{

The core optimisation problem is:

\deqn{\min_W \frac{1}{2n}\|XW - Y\|^2_{obs} +
  \lambda\left[\frac{1-\alpha}{2}\sum_{s,t} K_{st}|W_s^\top W_t| +
  \alpha\|W\|_1\right]}

where the loss is computed only on non-censored entries, \eqn{K} encodes
task relationships, \eqn{\lambda} controls the penalty strength, and
\eqn{\alpha \in [0,1]} mixes the orthogonality penalty (\eqn{\alpha=0})
with Lasso sparsity (\eqn{\alpha=1}).
}

\section{Getting Started}{

See \code{vignette("introduction", package = "orthoMTL")} for a complete
worked example using simulated data.
}

\references{
Vervier, K., Mahe, P., d'Aspremont, A., Veyrieras, J.-B., and
Vert, J.-P. (2014). On Learning Matrices with Orthogonal Columns or
Disjoint Supports. \emph{ECML-PKDD 2014}.
\url{https://hal.science/hal-00985654}
}
\author{
\strong{Maintainer}: Kevin Vervier \email{kevin.vervier@novartis.com}

Other contributors:
\itemize{
  \item Novartis Pharma AG [copyright holder, funder]
}

}
\keyword{internal}
