Hacker News Digest

Тег: #probability

Постов: 6

Markov chains are the original language models (elijahpotter.dev) 🔥 Горячее 💬 Длинная дискуссия

Цепочки Маркова — это классические вероятностные модели, предшественники современных языковых ИИ. Они описывают последовательности событий, где каждое следующее состояние зависит только от текущего, без учёта всей истории. Например, перемещения Алисы между магазином и планетарием с заданными вероятностями перехода можно представить в виде матрицы и вектора состояния, а прогноз на несколько шагов вперёд вычисляется через умножение матриц.

В контексте генерации текста цепочки Маркова применяются для предсказания следующего слова на основе предыдущих. Автор, разочаровавшись в сложности и «магии» современных языковых моделей, обратился к этой прозрачной и фундаментальной технике, реализовав автодополнение на Rust и WebAssembly. Это подчёркивает ценность понимания базовых принципов вместо слепого использования сложных систем.

by chilipepperhott • 19 сентября 2025 г. в 18:42 • 426 points

ОригиналHN

#markov-chains#language-models#rust#webassembly#text-generation#probability#matrices

Комментарии (154)

  • Обсуждаются ограничения и природа марковских цепей: их линейность, неспособность учитывать контекст за пределами текущего состояния и проблемы с обработкой двумерных данных.
  • Упоминаются исторические и юмористические примеры использования марковских цепей для генерации текста: Mark V. Shaney, KingJamesProgramming, спам-сайты и чат-боты в IRC/Slack.
  • Проводятся паралле

How to become a pure mathematician or statistician (2008) (hbpms.blogspot.com)

План самообразования математика-чистяка (или статистика)

Этап 1

  • школьная база
  • дискретка, алгебра, анализ начального уровня

Этап 2

  • линейная алгебра
  • высшая алгебра
  • вещественный и комплексный анализ
  • диффуры, вероятность и статистика

Этап 3

  • анализ, абстрактная алгебра, теория чисел
  • топология, диффгеометрия
  • по желанию: моделирование, статвывод, стохастика, вычислительная статистика

Этап 4

  • фундамент: логика, множества, комбинаторика, криптография
  • анализ: функциональный, мера, гармонический
  • алгебра: группы, кольца, поля, гомологии
  • числа: алгебраическая и аналитическая теория, эллиптические кривые
  • геометрия и топология: алгебраическая, риманова, K-теория
  • опционально: диффуры в частных, матфизика, вероятность на мере, многомерная статистика, байес, выживание, data mining

Этап 5

  • читаем монографии и статьи, выбираем специализацию, делаем исследования

«Как пианист: сначала скучные этюды, потом — музыка» (Терри Тао).

by ipnon • 09 сентября 2025 г. в 07:10 • 77 points

ОригиналHN

#mathematics#statistics#linear-algebra#abstract-algebra#calculus#probability#topology#number-theory#data-mining

Комментарии (74)

  • Классические «дорожные карты» по чистой математике часто выглядят как бесполезные списки книг без объяснения, зачем и в каком порядке их читать.
  • Настоящий путь проще: крепкая линейная алгебра и анализ (Шилов, Рудин), дальше — основные учебники по геометрии, алгебре и анализу с доказательствами и наставником.
  • Единственный способ стать математиком — публиковать исследования; маршрут любой, лишь бы вам было интересно и вы могли его пройти.
  • Споры о «требуемом IQ 145» вызывают бурю критики: IQ не определяет креативность и усердие, а SAT/ACT лишь коррелируют с успехом, но не гарантируют его.
  • Проверять стоит не коэффициент интеллекта, а свои реальные успехи в математике: умеете ли вы читать и писать доказательства, получаете ли удовольствие от процесса.

Important machine learning equations (chizkidd.github.io) 🔥 Горячее

Байес

$$P(A|B)=\frac{P(B|A)P(A)}{P(B)}$$ Обновляем вероятность гипотезы при новых данных.

def bayes(p_d, p_t_d, p_t_nd):
    p_t = p_t_d*p_d + p_t_nd*(1-p_d)
    return p_t_d*p_d / p_t

Энтропия

$$H(X)=-\sum_x P(x)\log P(x)$$ Измеряем неопределённость распределения.

import numpy as np
H = lambda p: -np.sum(p*np.log(p, where=p>0))

KL-дивергенция

$$D_{\text{KL}}(P|Q)=\sum_x P(x)\log\frac{P(x)}{Q(x)}$$ Сколько бит «лишних» нужно, если вместо истинного распределения $P$ использовать $Q$.

Кросс-энтропия

$$H(P,Q)=-\sum_x P(x)\log Q(x)$$ Используется как лосс в классификации.

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

Линейное преобразование

$$\mathbf{y}=A\mathbf{x}$$ Матрица $A$ переводит вектор $\mathbf{x}$ в пространство признаков.

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

$$A\mathbf{v}=\lambda\mathbf{v}$$ Направления, вдоль которых преобразование лишь растягивает/сжимает.

SVD

$$A=U\Sigma V^\top$$ Разложение на ортогональные и диагональные матрицы; основа PCA и рекомендательных систем.

Оптимизация

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

$$\theta_{t+1}=\theta_t-\eta\nabla_\theta J(\theta)$$ Шагаем против градиента, чтобы минимизировать функцию потерь $J$.

Backprop

$$\frac{\partial L}{\partial W^{(l)}}=\delta^{(l)}(a^{(l-1)})^\top$$ Цепное правило для обучения нейросетей.

Функции потерь

MSE

$$\text{MSE}=\frac{1}{n}\sum_i (y_i-\hat y_i)^2$$ Классика регрессии.

Кросс-энтропия

$$L=-\sum_i y_i\log \hat y_i$$ Стандарт для классификации.

Продвинутые темы

Диффузия

$$q(x_t|x_{t-1})=\mathcal N(x_t;\sqrt{1-\beta_t}x_{t-1},\beta_t I)$$ Постепенное добавление шума и обратное восстановление.

Свертка

$$(f*g)[n]=\sum_m f[m]g[n-m]$$ Извлечение локальных паттернов в CNN.

Softmax

$$\text{softmax}(z_i)=\frac{e^{z_i}}{\sum_j e^{z_j}}$$ Превращает логиты в вероятности.

Attention

$$\text{Attention}(Q,K,V)=\text{softmax}\left(\frac{QK^\top}{\sqrt d_k}\right)V$$ Взвешенная сумма значений по релевантности запроса и ключей.


Краткий конспект ключевых уравнений ML: от вероятностей до трансформеров, с кодом и интуицией.

by sebg • 28 августа 2025 г. в 11:38 • 265 points

ОригиналHN

#machine-learning#python#numpy#linear-algebra#optimization#deep-learning#probability#statistics#transformers#convolutional-neural-networks

Комментарии (26)

  • @dkislyuk и @morleytj критикуют формат «списка формул» без связного объяснения и советуют читать оригинальную теорию Шеннона.
  • @cl3misch нашёл баг в коде энтропии из-за неинициализированных значений и несоответствие формулы кросс-энтропии.
  • @dawnofdusk и @cgadski хвалят полноту материала как удобную шпаргалку для быстрого погружения.
  • @bee_rider и @calebkaiser обсуждают применение сингулярных чисел и собственных значений в LLM и LoRA.

Guid Smash (guidsmash.com)

Вероятность совпадения двух GUID — 1 к 2¹²², то есть примерно 1 к 5×10³⁶.
Guid Smash показывает, насколько близко каждый новый GUID подходит к целевому.

  • Целевой GUID: 6e197264-d14b-44df-af98-39aac5681791
  • Старт: 20 июля 2025
  • Проверено: 1,14 трлн GUID
  • Скорость: ~468 тыс./с
  • Ожидаемое совпадение: через 4,21×10²³ лет при 400 тыс./с
Префикс Совпадений
6 66,7 млрд
6e 4,17 млрд
6e1 261 млн
6e19 16,3 млн
6e197 1,02 млн
6e1972 63,7 тыс
6e19726 4,0 тыс
6e197264 244
6e197264d 11
6e197264d1…1791 0

Ошибка. Перезагрузить

by nugzbunny • 16 августа 2025 г. в 22:11 • 162 points

ОригиналHN

#uuid#uuidv4#uuidv7#collision-probability#probability#data-generation

Комментарии (61)

  • Вероятность совпадения двух случайных UUIDv4 действительно 1 : 2¹²², но из-за парадокса дней рождения при генерации ≈ 2⁶¹ идентификаторов шанс хотя бы одного дубля возрастает до ~50 %.
  • Эксперимент лучше вести не «в лоб» (ищем конкретный UUID), а проверяя все уже сгенерированные значения на дубликаты.
  • UUIDv7 снабжены 48-битным префиксом времени: при генерации миллионов ID в одну миллисекунду коллизии становятся реальнее.
  • На практике коллизии встречаются: участники сообщили два случая — один из-за одинакового «магического» GUID, другой при слиянии данных разных систем.
  • Для коротких уникальных кодов подстрока UUID не подходит; нужно учитывать «день рождения» и выбирать диапазон квадратично больше требуемого количества.

Simulating and Visualising the Central Limit Theorem (blog.foletta.net)

Кратко о ЦПТ
Если из любого распределения с конечным средним и дисперсией брать выборки размера n и считать их средние, то при n → ∞ распределение этих средних стремится к нормальному.

Эксперимент
Сгенерировано по 10 000 значений из шести распределений: uniform, normal, binomial, beta, exponential, χ².
Функция take_random_sample_mean() берёт случайную выборку размера 60 и возвращает среднее. Повторено 20 000 раз.

take_random_sample_mean <- function(data, n) {
  slice_sample(data, n = n) |> summarise(across(everything(), list(mean = mean, sd = sd)))
}

Результаты
Гистограммы 20 000 средних показывают, что даже для сильно ненормальных исходных распределений форма распределения средних близка к нормальной.

by gjf • 15 августа 2025 г. в 06:11 • 143 points

ОригиналHN

#statistics#probability#central-limit-theorem#r#data-analysis#visualization#distributions#sampling

Комментарии (55)

  • Обсудили аналог ЦПТ для экстремумов — теорему Фишера–Типпета–Гнеденко (GEV).
  • Подчеркнули важность симуляций для интуитивного понимания ЦПТ и поделились ссылками на визуализации.
  • Отметили, что скорость сходимости к нормальному распределению зависит от исходного распределения (экспоненциальное сходится медленнее).
  • Упомянули обобщения ЦПТ: для распределений без конечной дисперсии, ряды Эджворта, устойчивые распределения.
  • Предупредили о риске завышенных ожиданий из-за «хорошо ведущих себя» примеров и дали ссылки на литературу.

How to teach your kids to play poker: Start with one card (bloomberg.com) 💬 Длинная дискуссия

  • Начните с одной карты: каждый игрок получает рубашкой вверх карту и делает ставку, зная лишь свою.
  • Цель — понять, что покер — это ставки на неполную информацию.
  • Добавляйте по одному элементу: две карты, общие карты, комбинации, блайнды, позиции.
  • Используйте фишки-конфеты и короткие сессии (10 минут).
  • Подчеркивайте математику: шансы, outs, ожидание.
  • Обсуждайте банкролл-менеджмент: «не ставь больше, чем готов потерять».
  • Играйте открыто: показывайте карты, объясняйте решения.
  • Переходите к Техасскому холдему только после освоения базы.

by ioblomov • 08 августа 2025 г. в 19:11 • 111 points

ОригиналHN

#poker#texas-holdem#probability#decision-making

Комментарии (170)

  • Участники спорят: полезен ли покер как способ обучения детей принятию решений при неполной информации и расчёту вероятностей.
  • Одни считают, что игра развивает критическое мышление и умение «читать» людей; другие боятся, что это введёт ребёнка в мир азартных игр.
  • Многие подчёркивают: покер можно играть без денег, используя фишки или спички, тогда он становится обычной семейной игрой.
  • Предложены альтернативы: Skull, Monopoly Deal, шахматы, го, блэкджек — всё, что учит стратегии без ставок.
  • Общий вывод: покер сам по себе не «дегенеративен», но важно подавать его детям в безопасной форме и с правильной мотивацией.