<jupyter_start><jupyter_text>Функции потерь.Функции оценкиВ контексте технологии машинного обучения, оценка – это статистический термин для нахождения некоторого приближения неизвестного параметра на основе некоторых данных. Точечная оценка – это попытка найти единственное лучшее приближение некоторого количества интересующих нас параметров. Или на более формальном языке  **математической статистики — точечная оценка это число, оцениваемое на основе наблюдений, предположительно близкое к оцениваемому параметру.**Под количеством интересующих параметров обычно подразумевается:• Один параметр• Вектор параметров – например, веса в линейной регрессии• Целая функция<jupyter_code>import tensorflow as tf
import torch
import keras<jupyter_output>Using TensorFlow backend.<jupyter_text>КлассификацияClassesclass BinaryCrossentropy: Computes the cross-entropy loss between true labels and predicted labels.class CategoricalCrossentropy: Computes the crossentropy loss between the labels and predictions.class CategoricalHinge: Computes the categorical hinge loss between y_true and y_pred.class CosineSimilarity: Computes the cosine similarity between y_true and y_pred.class Hinge: Computes the hinge loss between y_true and y_pred.class Huber: Computes the Huber loss between y_true and y_pred.class KLDivergence: Computes Kullback-Leibler divergence loss between y_true and y_pred.class LogCosh: Computes the logarithm of the hyperbolic cosine of the prediction error.class Loss: Loss base class. **BinaryCrossentropy**: tf.nn.sigmoid_cross_entropy_with_logits. OK…what was logit(s) again? In mathematics, the logit function is the inverse of the sigmoid function, so in theory **logit(sigmoid(x)) = x**.sigmoid: $y=\frac{1}{1+e^{-x}}$logit: $y=ln\frac{x}{1-x}$<jupyter_code>def binary_crossentropy(target, output, from_logits=False):
    """Binary crossentropy between an output tensor and a target tensor.
    # Arguments
        target: A tensor with the same shape as `output`.
        output: A tensor.
        from_logits: Whether `output` is expected to be a logits tensor.
            By default, we consider that `output`
            encodes a probability distribution.
    # Returns
        A tensor.
    """
    # Note: tf.nn.sigmoid_cross_entropy_with_logits
    # expects logits, Keras expects probabilities.
    if not from_logits:
        # transform back to logits
        _epsilon = _to_tensor(epsilon(), output.dtype.base_dtype)
        output = tf.clip_by_value(output, _epsilon, 1 - _epsilon)
        output = tf.log(output / (1 - output))

    return tf.nn.sigmoid_cross_entropy_with_logits(labels=target,
                                                   logits=output)<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.06387665198237885, 'fraction_numerical': 0.0018355359765051395, 'mean_word_length': 4.482897384305835, 'pattern_counts': {'":': 0, '<': 8, '<?xml version=': 0, '>': 8, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '2', 'dir': 'jupyter-structured-clean-dedup', 'id': '311084', 'license': 'MIT', 'n_tokens_mistral': 858, 'n_tokens_neox': 920, 'n_words': 269, 'path': 'Loss Functions.ipynb', 'repo_name': 'polyzer/ml_notes', 'size': '2724'}