Classification
Computer says no
February 20, 2017 — September 13, 2024
Distinguishing whether a thing was generated from distribution A or B. This is a learning-theory, loss-minimization framing; We might also consider probability distributions of categories.
Mostly this page is a list of classification target losses to assess classifiers.
1 Classification loss zoo
Surprisingly subtle. ROC, AUC, precision/recall, confusion…
One of the less abstruse summaries of these is the scikit-learn classifier loss page, which includes both formulae and verbal descriptions. The Pirates guide to various scores provides an easy introduction.
1.1 Expected cost
But actually, do we need most of this zoo of metrics? Couldn’t we just use expected cost? That usually provides a more principled way to compare classifiers, via decision theory. See Ferrer (2023), Dyrland, Lundervold, and Mana (2023b) and Suzuki (2022). (why is this so recent?) TBC
1.2 Matthews correlation coefficient
Due to Matthews (1975). This is the first choice for seamlessly handling multi-label problems within a single algorithm since its behaviour is reasonable for 2 class or multi class, balanced or unbalanced, and it’s computationally cheap. Unless you have a vastly different importance for your classes, this is a good default.
However, it is not differentiable with respect to classification certainties, so you can’t directly use it as, e.g., a target loss in neural nets; Therefore you use surrogate measures which are differentiable and intermittently check that it actually helps the MCC.
I tell ya what, though, it looks like it could be made differentiable via a relaxation, and variationally distributional if we interpreted it in a likelihood context. Hmm.
1.2.1 2-class case
Take your \(2 \times 2\) confusion matrix of true positive, false positives etc.
\[ {\text{MCC}}={\frac {TP\times TN-FP\times FN}{{\sqrt {(TP+FP)(TP+FN)(TN+FP)(TN+FN)}}}} \]
\[ |{\text{MCC}}|={\sqrt {{\frac {\chi ^{2}}{n}}}} \]
1.2.2 Multiclass case
Take your \(K \times K\) confusion matrix \(C\), then
\[ {\displaystyle {\text{MCC}}={\frac {\sum _{k}\sum _{l}\sum _{m}C_{kk}C_{lm}-C_{kl}C_{mk}}{{\sqrt {\sum _{k}(\sum _{l}C_{kl})(\sum _{k'|k'\neq k}\sum _{l'}C_{k'l'})}}{\sqrt {\sum _{k}(\sum _{l}C_{lk})(\sum _{k'|k'\neq k}\sum _{l'}C_{l'k'})}}}}} \]
1.3 ROC/AUC
Receiver Operator Characteristic/Area Under Curve. Supposedly dates back to radar operators in WWII. The graph of the false versus true positive rate as the criterion changes. Matthews (1975) talk about the AUC for radiology; Supposedly Spackman (1989) introduced it to machine learning, but I haven’t read the article in question. Allows us to trade off the importance of false positive/false negatives.
1.4 Cross entropy
I’d better write down an explicit form for this, since most ML toolkits are curiously shy about giving it even though it’s the default.
Let \(x\) be the estimated probability and \(z\) be the supervised class label. Then the binary cross entropy loss is
\[ \ell(x,z) = -z\log(x) - (1-z)\log(1-x) \]
If \(y=\operatorname{logit}(x)\) is not a probability but a logit, then the numerically stable version is
\[ \ell(y,z) = \max\{y,0\} - y + \log(1+\exp(-|x|)) \]
1.5 F-measures
🏗
2 Use of softmax
TBC.
3 Gumbel-max
See Gumbel-max tricks.
4 Pólya-Gamma augmentation
See Pólya-Gamma.
5 Unbalanced class problems
🏗
6 Analog Bits
Fuchi et al. (2023):
The one-hot vector has long been widely used in machine learning as a simple and generic method for representing discrete data. However, this method increases the number of dimensions linearly with the categorical data to be represented, which is problematic from the viewpoint of spatial computational complexity in deep learning, which requires a large amount of data. Recently, Analog Bits (Chen, Zhang, and Hinton 2022), a method for representing discrete data as a sequence of bits, was proposed on the basis of the high expressiveness of diffusion models. However, since the number of category types to be represented in a generation task is not necessarily at a power of two, there is a discrepancy between the range that Analog Bits can represent and the range represented as category data. If such a value is generated, the problem is that the original category value cannot be restored. To address this issue, we propose Residual Bit Vector (ResBit), which is a hierarchical bit representation. Although it is a general-purpose representation method, in this paper, we treat it as numerical data and show that it can be used as an extension of Analog Bits using Table Residual Bit Diffusion (TRBD), which is incorporated into TabDDPM, a tabular data generation method. We experimentally confirmed that TRBD can generate diverse and high-quality data from small-scale table data to table data containing diverse category values faster than TabDDPM. Furthermore, we show that ResBit can also serve as an alternative to the one-hot vector by utilizing ResBit for conditioning in GANs and as a label expression in image classification.
7 Hierarchical Multi-class classifiers
Read et al. (2021) discusses how to create multi-class classifiers by stacking layers of binary classifiers and using each as a feature input to the next, which is an elegant solution IMO.
8 Philosophical connection to semantics
Since semantics is what humans call classifiers.
9 Connection to legibility
I do think there is something interesting happening with legibility. States need to classify, apparently. Adversarial classification is my point of entry into that concept..