<?xml version="1.0" encoding="utf-8" ?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:tt="http://teletype.in/" xmlns:opensearch="http://a9.com/-/spec/opensearch/1.1/"><title>Мария Жарова</title><subtitle>Добро пожаловать в мой блог про науку о данных🍀
Рассказываю про лайфхаки использования ИИ и делюсь полезными материалами по DS</subtitle><author><name>Мария Жарова</name></author><id>https://teletype.in/atom/data_easy</id><link rel="self" type="application/atom+xml" href="https://teletype.in/atom/data_easy?offset=0"></link><link rel="alternate" type="text/html" href="https://teletype.in/@data_easy?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=data_easy"></link><link rel="next" type="application/rss+xml" href="https://teletype.in/atom/data_easy?offset=10"></link><link rel="search" type="application/opensearchdescription+xml" title="Teletype" href="https://teletype.in/opensearch.xml"></link><updated>2026-10-02T16:32:05.318Z</updated><entry><id>data_easy:Regulyarizaciya-v-ML-11-14</id><link rel="alternate" type="text/html" href="https://teletype.in/@data_easy/Regulyarizaciya-v-ML-11-14?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=data_easy"></link><title>Регуляризация в ML</title><published>2025-05-04T13:45:45.676Z</published><updated>2025-05-04T13:45:45.676Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img3.teletype.in/files/a6/52/a6527a09-c50d-4535-b7a1-624bb55dcf6c.png"></media:thumbnail><summary type="html">&lt;img src=&quot;https://img3.teletype.in/files/22/92/2292f55b-e3c9-4672-bea5-b70c3aab5191.png&quot;&gt;Регуляризация — это набор методов, которые помогают моделям лучше обобщать данные и избегать переобучения. Переобучение происходит, когда модель слишком хорошо подстраивается под обучающую выборку и теряет способность работать с новыми данными, которых ещё не видела.</summary><content type="html">
  &lt;p id=&quot;kycs&quot;&gt;Регуляризация — это набор методов, которые помогают моделям лучше обобщать данные и избегать переобучения. Переобучение происходит, когда модель слишком хорошо подстраивается под обучающую выборку и теряет способность работать с новыми данными, которых ещё не видела.&lt;/p&gt;
  &lt;figure id=&quot;WJPd&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/22/92/2292f55b-e3c9-4672-bea5-b70c3aab5191.png&quot; /&gt;
    &lt;figcaption&gt;Рис. 1. Переобучение и недообучение на примере классификации.&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;MFOS&quot;&gt;Важно, что регуляризация — это именно все методы, которые помогают бороться с переобучением, а не только L1 и L2:) Глобально можно разделить их на те, что применяются для моделей классического ML, и для нейросетей.&lt;/p&gt;
  &lt;h3 id=&quot;Регуляризация-в-классических-моделях&quot;&gt;Регуляризация в классических моделях&lt;/h3&gt;
  &lt;p id=&quot;XJ5H&quot;&gt;Здесь всё просто: L1, L2 и L1+L2 (ElasticNet). Они помогают снизить переобучение, добавляя штраф к функционалу ошибки за большие веса.&lt;/p&gt;
  &lt;h4 id=&quot;L1-регуляризация&quot;&gt;L1-регуляризация&lt;/h4&gt;
  &lt;p id=&quot;9F2Z&quot;&gt;L1-регуляризация добавляет к функционалу потерь линейный штраф на абсолютные значения весов.&lt;/p&gt;
  &lt;figure id=&quot;H3Lk&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/46/b9/46b99d65-400c-40e5-890d-57a8a700d1f3.png&quot; /&gt;
    &lt;figcaption&gt;Рис. 2. Формула L1-регуляризации.&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;kWsf&quot;&gt;Из минусов — такое выражение сложнее оптимизировать, т.к. функция негладкая (у модуля нет производной в нуле). Из плюсов — этот метод зануляет некоторые веса, поэтому L1-регуляризацию можно считать одним из методов отбора признаков.&lt;/p&gt;
  &lt;h4 id=&quot;L2-регуляризация&quot;&gt;L2-регуляризация&lt;/h4&gt;
  &lt;p id=&quot;5O3R&quot;&gt;В этом подходе добавляется квадратичный штраф на веса, поэтому такой функционал не усложняет оптимизацию.&lt;/p&gt;
  &lt;figure id=&quot;80ZG&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/23/b7/23b74c76-aa28-444c-abcd-a7b1b9982a74.png&quot; /&gt;
    &lt;figcaption&gt;Рис. 3. Формула L2-регуляризации.&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;zR5y&quot;&gt;Кстати, названия берутся от одноимённых названий &lt;a href=&quot;https://ru.stackoverflow.com/questions/1124094/l1-%D0%B8-l2-%D1%80%D0%B5%D0%B3%D1%83%D0%BB%D1%8F%D1%80%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F-l1-%D0%B8-l2-%D0%BD%D0%BE%D1%80%D0%BC%D0%B0&quot; target=&quot;_blank&quot;&gt;соответствующих типов норм векторов&lt;/a&gt;.&lt;/p&gt;
  &lt;h4 id=&quot;ElasticNet&quot;&gt;ElasticNet&lt;/h4&gt;
  &lt;p id=&quot;EOiq&quot;&gt;Этот метод объединяет L1 и L2-регуляризации, добавляя штраф как на абсолютные значения весов, так и на их квадраты. Это позволяет использовать преимущества обоих способов.&lt;/p&gt;
  &lt;figure id=&quot;9aZV&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/f5/b5/f5b5f305-204a-4453-ac64-48dfa5b8ec67.png&quot; /&gt;
    &lt;figcaption&gt;Рис. 4. Формула для ElasticNet.&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;h3 id=&quot;Регуляризация-в-нейросетях&quot;&gt;Регуляризация в нейросетях&lt;/h3&gt;
  &lt;p id=&quot;O2Ob&quot;&gt;В нейросетях всё хитрее, и способов предотвратить переобучение больше. Идеи с L1, L2 и ElasticNet регуляризацией тоже работают, но есть кое-что поинтереснее...&lt;/p&gt;
  &lt;h4 id=&quot;Dropout&quot;&gt;Dropout&lt;/h4&gt;
  &lt;p id=&quot;BuRO&quot;&gt;Этот метод случайным образом исключает нейроны из обучения на каждом шаге, предотвращая их избыточную адаптацию к обучающим данным и тем самым улучшая обобщающую способность модели.&lt;/p&gt;
  &lt;figure id=&quot;dLbs&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/25/49/25493670-d3e2-45ec-848a-1bd645d4b262.png&quot; /&gt;
    &lt;figcaption&gt;Рис. 5. Нейросеть до и после применения dropout.&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;n3BY&quot;&gt;В популярных фреймворках TensorFlow и Pytorch он указывается как отдельный слой, в качестве гиперпараметра передаётся одно число — вероятность, с которой некоторый случайно взятый нейрон будет отключен.&lt;/p&gt;
  &lt;figure id=&quot;kG6Y&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/39/d9/39d963aa-126d-4a71-a81a-b362dfb46c35.png&quot; /&gt;
    &lt;figcaption&gt;Рис. 6. Пример сети с dropout на Pytorch.&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;figure id=&quot;devr&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/96/77/967756b7-5efa-4113-b137-a3b36ae4c713.png&quot; /&gt;
    &lt;figcaption&gt;Рис. 7. Пример сети с dropout на TensorFlow.&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;kLKw&quot;&gt;Важно, что на этапе инференса dropout не применяется, все нейроны участвуют в вычислении предсказаний. Их веса уже были подстроены под &amp;quot;случайное отключение&amp;quot;, и теперь это позволяет сети делает более стабильные и уверенные предсказания.&lt;/p&gt;
  &lt;h4 id=&quot;Batch-Normalization&quot;&gt;Batch Normalization&lt;/h4&gt;
  &lt;p id=&quot;Q8qv&quot;&gt;Суть этого метода — нормализовать входы после каждого слоя, чтобы уменьшить смещение и отмасштабировать данные. Это стабилизирует обучение и добавляет небольшой эффект регуляризации.&lt;/p&gt;
  &lt;figure id=&quot;Xvfu&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/0f/b3/0fb39a4a-8c76-4cb7-86bd-941730d2a712.png&quot; /&gt;
    &lt;figcaption&gt;Рис. 8. Формула батч-нормализации.&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;HhKF&quot;&gt;В формуле μ и σ — среднее и дисперсия для набора данных (батча), ϵ — небольшая константа для численной стабильности, а γ и β — обучаемые параметры, которые подбираются в ходе обучения.&lt;/p&gt;
  &lt;p id=&quot;yiwT&quot;&gt;Идея батч-нормализации берёт начало из классического ML. Как известно, для обычных ML-моделей нормализация данных положительно влияет на сходимость алгоритмов, особенно линейных. Нейросети же тоже состоят из нескольких слоёв, в основе которых — линейное преобразование. Поэтому нормализация после каждого слоя аналогично положительно сказывается на работе алгоритмов.&lt;/p&gt;
  &lt;figure id=&quot;vjfP&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/da/5b/da5b88b3-2a28-4889-8f45-6809c0f0130b.png&quot; /&gt;
    &lt;figcaption&gt;Рис. 9. Сходимость градиентного спуска с нормализацией и без.&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;h4 id=&quot;Early-Stopping&quot;&gt;Early Stopping&lt;/h4&gt;
  &lt;p id=&quot;MLq7&quot;&gt;Или ранняя остановка. Суть метода проста: при обучении нейронной сети отслеживается ошибка на валидационной выборке, и если она перестаёт уменьшаться, обучение останавливается. Это помогает вовремя обнаружить признаки переобучения и остановить процесс, получив на выходе &amp;quot;на грани&amp;quot; обученную модель.&lt;/p&gt;
  &lt;figure id=&quot;YLmG&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/f9/92/f992f953-f374-48c3-b829-d037fe12b57a.png&quot; /&gt;
    &lt;figcaption&gt;Рис. 10. Пример кода на TensorFlow с ранней остановкой.&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;kq11&quot;&gt;Напомним главный сигнал переобучения, который здесь отслеживается: ошибка на валидационных данных растёт, даже если на тренировочной выборке она продолжает снижаться.&lt;/p&gt;
  &lt;h4 id=&quot;Data-Augmentation&quot;&gt;Data Augmentation&lt;/h4&gt;
  &lt;p id=&quot;vB4F&quot;&gt;Этот приём больше применим к задачам компьютерного зрения. Заключается в генерации новых данных путём небольших изменений исходных. Например, можно отразить, повернуть, обрезать картинки, пошатать цветовые каналы... Для модели технически это будут новые изображения. Главное — сильно не переусердствовать с изменениями, чтобы всё ещё можно было определить, что находится на картинках.&lt;/p&gt;
  &lt;figure id=&quot;7wSE&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/09/b7/09b7fd67-4cb5-4f8b-bbe9-65d3c71f0554.png&quot; /&gt;
    &lt;figcaption&gt;Рис. 11. Хорошие аугментации.&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;figure id=&quot;JOKJ&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/09/89/0989e000-ef22-4dbf-91bd-c2bc7ae92e49.png&quot; /&gt;
    &lt;figcaption&gt;Рис. 12. А так лучше не делать:)&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;h4 id=&quot;Вместо-заключения&quot;&gt;Вместо заключения&lt;/h4&gt;
  &lt;p id=&quot;MWbS&quot;&gt;Методы регуляризации — важные инструменты, которые позволяют улучшить обобщающую способность моделей и избежать переобучения. Но стоит применять их только при необходимости: если модель, наоборот, недообучается или и бех того нормально сходится, то регуляризация может оказаться излишней.&lt;/p&gt;

</content></entry><entry><id>data_easy:Reshenie-primet-AB-test-09-14</id><link rel="alternate" type="text/html" href="https://teletype.in/@data_easy/Reshenie-primet-AB-test-09-14?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=data_easy"></link><title>Решение примет АB-тест</title><published>2025-05-04T13:44:30.785Z</published><updated>2025-05-04T13:44:30.785Z</updated><summary type="html">AB-тестирование - это статистический инструмент, который помогает принимать компаниям обоснованные и эффективные решения. Он может дать объективную оценку любому нововведению в реальных условиях бизнес-задачи + позволяет выявить истинные потребности пользователей. В этой статье поговорим, что такое AB-тест, как он работает и какие преимущества может принести.</summary><content type="html">
  &lt;p id=&quot;YQkW&quot;&gt;AB-тестирование - это статистический инструмент, который помогает принимать компаниям обоснованные и эффективные решения. Он может дать объективную оценку любому нововведению в реальных условиях бизнес-задачи + позволяет выявить истинные потребности пользователей. В этой статье поговорим, что такое AB-тест, как он работает и какие преимущества может принести.&lt;/p&gt;
  &lt;h3 id=&quot;Что-такое-AB-тестирование?&quot;&gt;Что такое AB-тестирование?&lt;/h3&gt;
  &lt;p id=&quot;AltE&quot;&gt;Это метод исследования, который сравнивает текущую версию продукта (версию &lt;em&gt;А&lt;/em&gt;) с его изменённой версией (версией &lt;em&gt;B&lt;/em&gt;). Представим, что мы обновили дизайн сайта онлайн-магазина, но как определить, понравится это пользователям или нет? Самое простое - давайте разделим их на две группы: одной покажем новый дизайн, а другую оставим без изменений. Дальше в течение некоторого времени будем измерять активность обеих групп - например, кто сколько сделал покупок. После сравним результаты и примем решение.&lt;/p&gt;
  &lt;p id=&quot;ilIt&quot;&gt;Это объяснение самым простым языков, на деле не всё так легко. Давайте разбираться в деталях:)&lt;/p&gt;
  &lt;h3 id=&quot;Этапы-AB-теста&quot;&gt;Этапы AB-теста&lt;/h3&gt;
  &lt;h4 id=&quot;1).-Определение-метрик-и-формулирование-гипотез.&quot;&gt;1). Определение метрик и формулирование гипотез.&lt;/h4&gt;
  &lt;p id=&quot;TSwj&quot;&gt;На этом этапе необходимо определиться, какую метрику мы хотим увеличить при внедрении варианта продукта &lt;em&gt;B. &lt;/em&gt;Это могут быть метрики ML-моделей, если обновление заключалось во введении нового алгоритма; или SMM-показатели, такие как число просмотров, лайков, конверсия и т.д. Главное - чтобы метрика была &lt;strong&gt;&lt;em&gt;измеримой &lt;/em&gt;&lt;/strong&gt;и на неё можно было &lt;strong&gt;&lt;em&gt;влиять. &lt;/em&gt;&lt;/strong&gt;Тут лучше сразу привести &amp;quot;антипримеры&amp;quot;: неизмеримая метрика - уровнь счастья клиентов, а та, на которую мы не сможем повлиять - курс доллара. Поэтому, необходимо выбирать с умом, т.к. потом нам придётся подсчитывать по ней результаты:)&lt;/p&gt;
  &lt;p id=&quot;tvfq&quot;&gt;Далее необходимо сформулировать гипотезу, её шаблон можно записать так: &lt;em&gt;вариант продукта B увеличит (уменьшит) выбранную метрику на X процентов&lt;/em&gt;. То есть здесь обязательно нужно озвучить на сколько планируется изменение метрики, а если их несколько (например, средний чек и среднее число покупок) - для каждой нужно сформулировать отдельное предположение.&lt;/p&gt;
  &lt;p id=&quot;weng&quot;&gt;Если переходить к статистике, эта гипотеза будет &lt;em&gt;альтернативной&lt;/em&gt;, т.к. &lt;em&gt;нулевая&lt;/em&gt; всегда описывает равенство, что в нашем случае - просто отсутствие изменений. Напомним, что существуют также понятия ошибок I и II рода:&lt;/p&gt;
  &lt;ul id=&quot;JFzN&quot;&gt;
    &lt;li id=&quot;Y8uh&quot;&gt;Ошибка I рода - это ситуация, когда мы отвергаем нулевую гипотезу и принимаем решение в пользу альтернативной, но на деле это неверно. Веростность ошибки I рода обычно обозначают α‎ (альфа).&lt;/li&gt;
    &lt;li id=&quot;5LXm&quot;&gt;Ошибка II рода - это ситуация, когда мы, наоборот, ошибочно принимаем нулевую гипотезу и отвергаем альтернативную; её обозначают β‎ (бетта).&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p id=&quot;6Mme&quot;&gt;Эти понятия пригодятся нам дальше.&lt;/p&gt;
  &lt;h4 id=&quot;2).-Подготовка-к-тестированию&quot;&gt;2). Подготовка к тестированию&lt;/h4&gt;
  &lt;p id=&quot;zD1d&quot;&gt;На этом этапе необходимо определиться со следующими моментами:&lt;/p&gt;
  &lt;ul id=&quot;P210&quot;&gt;
    &lt;li id=&quot;Gqyi&quot;&gt;достаточные размеры тестируемых групп пользователей&lt;/li&gt;
    &lt;li id=&quot;Yl0Z&quot;&gt;длительность теста по времени&lt;/li&gt;
    &lt;li id=&quot;INDn&quot;&gt;оценка рисков&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p id=&quot;QMpf&quot;&gt;Предположим, мы хотим измерить эффект от работы рекомендательной системы по выборке размером 10 человек в каждой группе, при этом наш сайт ежедневно посещают тысячи пользователей. Корректно ли будет судить о всей аудитории по такой маленькой выборке? Кажется, что нет. Но наряду с этим вполне может оказаться, что AB-тест &amp;quot;примет решение&amp;quot; не в сторону обновлений, и мы потеряем прибыль на клиентах B-группы. Поэтому, лучше не делать их слишком большими... Как попасть в &amp;quot;золотую середину&amp;quot; и корректно подобрать нужный размер - подскажет статистика.&lt;/p&gt;
  &lt;p id=&quot;Xeik&quot;&gt;Чтобы определить минимальный необходимый объём выборки, на котором можно корректно зафиксировать желаемый эффект &lt;em&gt;X &lt;/em&gt;из гипотезы, понадобятся:&lt;/p&gt;
  &lt;ul id=&quot;PZOy&quot;&gt;
    &lt;li id=&quot;jUKS&quot;&gt;значения вероятностей ошибок I и II рода, которые мы можем допустить&lt;/li&gt;
    &lt;li id=&quot;CtCn&quot;&gt;само значение &lt;em&gt;X&lt;/em&gt; из гипотезы&lt;/li&gt;
    &lt;li id=&quot;KZo3&quot;&gt;текущий уровень конверсии в группах (т.е. какой положительный эффект в них уже присутствует, без всяких обновлений)&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p id=&quot;SBdF&quot;&gt;Имея эти данные, можно воспользоваться, например, &lt;a href=&quot;https://www.evanmiller.org/ab-testing/sample-size.html&quot; target=&quot;_blank&quot;&gt;онлайн-калькулятором &lt;/a&gt;для расчёта минимального размера групп.&lt;/p&gt;
  &lt;p id=&quot;yRix&quot;&gt;Важно отметить, что гипотезы бывают самые разные, не обязательно указывать &lt;em&gt;X&lt;/em&gt; именно в процентах. Также можно использовать различные метрики, а не только конверсию - тогда калькулятор понадобится уже другой.&lt;/p&gt;
  &lt;p id=&quot;IBzj&quot;&gt;Для выбора длительности теста можно оттолкнуться от формулы:&lt;/p&gt;
  &lt;p id=&quot;Yw3h&quot;&gt;количество дней = (размер выборки) / (трафик)&lt;/p&gt;
  &lt;p id=&quot;DV79&quot;&gt;Пример: пусть минимальный размер выборки 10000 уникальных клиентов. При этом в среднем приходит 1000 посетителей в день. Тогда длительность теста должна быть 10 дней.&lt;/p&gt;
  &lt;p id=&quot;K0Xc&quot;&gt;Можно также учесть сезонные показатели, дни недели, время; и, конечно, бизнес-моменты - такие как длительность оформления сделок, сколько в среднем клиентам надо времени на &amp;quot;подумать&amp;quot; и т.д.&lt;/p&gt;
  &lt;p id=&quot;WY6q&quot;&gt;Рассчитав все эти числа, можно оценить риски (и вообще понять, сможем ли мы правильно организовать AB-тест).&lt;/p&gt;
  &lt;h4 id=&quot;3).-Настройка-распределения-на-группы&quot;&gt;3). Настройка распределения на группы&lt;/h4&gt;
  &lt;p id=&quot;thPN&quot;&gt;Представьте, что вы проделали все шаги выше и отобрали две группы. Но потом оказывается, что в A попали постоянные клиенты, а в B те, которые сделали давно 1-2 покупки и потом пропали. Вероятно, при таком делении мы обнаружим высокую конверсию в первой группе и, возможно, ошибочно примем решение, что результат теста незначимый, так и не узнав настоящую правду.&lt;/p&gt;
  &lt;p id=&quot;oWrN&quot;&gt;Чтобы этого избежать, необходимо отбирать группы &lt;em&gt;однородно,&lt;/em&gt; т.е. так, чтобы они были +- похожи по основным характеристикам. Конечно, две идеально похожие выборки мы не сделаем, всё ограничивается как минимум имеющимися данными по пользователям (т.е. однородно подобрать их по характеру мы вряд ли сможем:)), да и проверять по всем подряд признакам тоже не имеет смысла. Поэтому при планировании AB-теста обычно составляется список критериев однородности, которые наиболее важно учесть, и далее группы формируются уже &amp;quot;равноправно&amp;quot; (в кавычках, потому что подобрать даже по конкретным показателям &lt;em&gt;абсолютно&lt;/em&gt; одинаковых пользователей не получится - допускается некоторая погрешность).&lt;/p&gt;
  &lt;h4 id=&quot;4).-Запуск,-проведение-теста-и-сбор-результатов&quot;&gt;4). Запуск, проведение теста и сбор результатов&lt;/h4&gt;
  &lt;p id=&quot;wKwz&quot;&gt;На этом этапе просто необходимо проверять, что все нужные условия для проведения эксперимента работают корректно:&lt;/p&gt;
  &lt;ul id=&quot;UtXk&quot;&gt;
    &lt;li id=&quot;maIK&quot;&gt;группа &lt;em&gt;А&lt;/em&gt; видит вариант продукта &lt;em&gt;А&lt;/em&gt;, а группа &lt;em&gt;B&lt;/em&gt; видит вариант продукта&lt;em&gt; B, &lt;/em&gt;что отсутствуют пересечения между этими группами&lt;/li&gt;
    &lt;li id=&quot;G41R&quot;&gt;нет внезапного влияния внешних факторов (не появляются неожиданные масштабные события, которые могут повлиять на результаты эксперимента)&lt;/li&gt;
    &lt;li id=&quot;DT2T&quot;&gt;все результаты централизованно поступают в систему хранения данных&lt;/li&gt;
    &lt;li id=&quot;yitN&quot;&gt;и другое...&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p id=&quot;3mpe&quot;&gt;По окончании теста собираем и агрегируем полученные данные.&lt;/p&gt;
  &lt;h4 id=&quot;5).-Подведение-итогов-и-принятие-решения&quot;&gt;5). Подведение итогов и принятие решения&lt;/h4&gt;
  &lt;p id=&quot;TlOq&quot;&gt;Задача определения &amp;quot;победителя&amp;quot; опять ложится на статистику. Здесь достаточно просто применить статистический тест для сравнения двух групп (про алгоритм выбора теста для сравнения количественных признаков ранее писали &lt;a href=&quot;https://t.me/data_easy/24&quot; target=&quot;_blank&quot;&gt;тут&lt;/a&gt;, для категориальных можете использовать тест хи-квадрат). Или для простого анализа результатов по конверсиям можно рассчитать при помощи &lt;a href=&quot;https://abtestguide.com/calc/&quot; target=&quot;_blank&quot;&gt;калькулятора&lt;/a&gt;.&lt;/p&gt;
  &lt;p id=&quot;0gup&quot;&gt;По итогам анализа мы принимаем или отклоняем первоначальную гипотезу и формируем один из трёх возможных выводов:&lt;/p&gt;
  &lt;ol id=&quot;q94X&quot;&gt;
    &lt;li id=&quot;E5mu&quot;&gt;Вариант продукта &lt;em&gt;А&lt;/em&gt; является более эффективным (по заданной метрике), чем вариант &lt;em&gt;B&lt;/em&gt;.&lt;/li&gt;
    &lt;li id=&quot;NawK&quot;&gt;Вариант продукта&lt;em&gt; B &lt;/em&gt;является более эффективным (по заданной метрике), чем вариант &lt;em&gt;А&lt;/em&gt;.&lt;/li&gt;
    &lt;li id=&quot;KvMh&quot;&gt;Варианты &lt;em&gt;А&lt;/em&gt; и &lt;em&gt;B&lt;/em&gt; являются идентичными, то есть между ними нет разницы с точки зрения заданной метрики.&lt;/li&gt;
  &lt;/ol&gt;
  &lt;p id=&quot;mYMF&quot;&gt;Когда сделан вывод, сформирован отчёт о проведении &lt;em&gt;AB&lt;/em&gt;-теста и его результатах, принимается решение о внедрении варианта &lt;em&gt;B&lt;/em&gt; или необходимости дальнейшего исследования.&lt;/p&gt;
  &lt;p id=&quot;7weY&quot;&gt;Хотелось бы отметить, что не существует хорошего или плохого результата. Цель AB-тестирования - вовремя сделать верные выводы в целях рационального использования средств бизнеса. Если в результате получилось так, что новый вариант не оправдал себя, нужно порадоваться и принять такой исход событий:) И важно помнить, что статистические методы проверки гипотез не являются абсолютно точными и могут гарантировать результат только с заданным уровнем значимости.&lt;/p&gt;

</content></entry><entry><id>data_easy:ap-09-02</id><link rel="alternate" type="text/html" href="https://teletype.in/@data_easy/ap-09-02?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=data_easy"></link><title>Магия рекомендаций: откуда компьютеры знают, что вы хотите</title><published>2025-05-04T13:43:15.644Z</published><updated>2025-05-04T13:43:15.644Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img1.teletype.in/files/89/8a/898abd0e-6036-4643-af4a-77237af62457.png"></media:thumbnail><summary type="html">&lt;img src=&quot;https://img4.teletype.in/files/b6/2b/b62b14c5-f206-4ed9-8ba0-6adbd2beb017.png&quot;&gt;Возможно, вы замечали, что когда листаете ленту интернет-магазина, слушаете персональную подборку музыки или смотрите тик-токи, вам предлагаются товары, песни или клипы, которые кажутся созданными специально для вас. Всё это не случайность, а результат работы специальных алгоритмов, известных как рекомендательные системы. На основе наших предыдущих запросов, интересов и обратной связи они подбирают то, что с большей вероятностью может нам приглянуться.</summary><content type="html">
  &lt;p id=&quot;Bmkd&quot;&gt;Возможно, вы замечали, что когда листаете ленту интернет-магазина, слушаете персональную подборку музыки или смотрите тик-токи, вам предлагаются товары, песни или клипы, которые кажутся созданными специально для вас. Всё это не случайность, а результат работы специальных алгоритмов, известных как рекомендательные системы. На основе наших предыдущих запросов, интересов и обратной связи они подбирают то, что с большей вероятностью может нам приглянуться.&lt;/p&gt;
  &lt;h4 id=&quot;Постановка-задачи&quot;&gt;Постановка задачи&lt;/h4&gt;
  &lt;p id=&quot;TEx8&quot;&gt;Какой бы ни была сфера и область деятельности, в задаче рекомендаций всегда выделяют пользователей - здесь всё понятно, это мы с вами: клиенты, покупатели, зрители.... и объекты - это товары, песни или фильмы. Формально задачка в том, чтобы для каждого пользователя составить персональную подборку предметов, отранжированную в порядке &amp;quot;интересности&amp;quot; конкретно для него. Это было бы здорово как для бизнеса, так и для самих пользователей - компании бы больше продавали, а мы бы находили быстрее то, что нам нужно, ощущая при этом &amp;quot;индивидуальный подход&amp;quot;.&lt;/p&gt;
  &lt;h4 id=&quot;Принцип-работы&quot;&gt;Принцип работы&lt;/h4&gt;
  &lt;p id=&quot;rhHm&quot;&gt;Как и в любой Data-Science-задаче, прежде чем что-то предсказывать, алгоритмам нужны данные для обучения. Конкретно для рекомендательных систем можно выделить два их типа:&lt;/p&gt;
  &lt;ul id=&quot;N3tj&quot;&gt;
    &lt;li id=&quot;oTXo&quot;&gt;Информация про пользователей или предметы в отдельности (метаданные). Это их независимые и неизменные характеристики, такие как имя, пол, возраст, город проживания или же цвет, категория, жанр и т.п. соответственно. Можно получить их из анкет клиентов или описаний товаров.&lt;/li&gt;
    &lt;li id=&quot;XKWw&quot;&gt;Данные про взаимодействие пользователей и предметов (часто их называют коллаборативные данные - от англ. collaborative). Здесь каждая &amp;quot;единица информации&amp;quot; содержит в себе пару - одного пользователя и один предмет. Это может быть оценка, поставленная нами какому-либо фильму; дизлайк на песню; просмотр конкретного товара и т.п.&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p id=&quot;6BYX&quot;&gt;После того, как все возможные данные собраны, можно определиться с типом алгоритма:&lt;/p&gt;
  &lt;figure id=&quot;UiWd&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/b6/2b/b62b14c5-f206-4ed9-8ba0-6adbd2beb017.png&quot; /&gt;
    &lt;figcaption&gt;Рис. 1 &amp;quot;Типы алгоритмов&amp;quot;&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;MSDi&quot;&gt;Чуть поподробнее про каждый случай:&lt;/p&gt;
  &lt;ul id=&quot;dKMr&quot;&gt;
    &lt;li id=&quot;G0vK&quot;&gt;&lt;strong&gt;Content-based модели. &lt;/strong&gt;Название говорит само за себя - это алгоритмы, которые просто ищут похожие предметы к тем, которыми мы когда-либо интересовались. Посмотрели фильм про зомби? Рекомендательная система подберёт 10 похожих. Часто слушаете поп-музыку? Алгоритмы найдут ещё. Купили диван? Тогда следующие рекомендации тоже будут про диваны:) Но понадобится ли нам на следующий день ещё один новый диван - это уже вопрос. В этом минус такого подхода - пользователь не попробует концептуально ничего нового + иногда такая схема может просто оказаться нелогичной и принести убытки.&lt;/li&gt;
    &lt;li id=&quot;zBmh&quot;&gt;&lt;strong&gt;Коллаборативные модели.&lt;/strong&gt; Используя этот метод, можно прогнозировать рейтинги по оценкам похожих пользователей или похожих продуктов. Главное отличие здесь в том, что уже никак не используются их заданные характеристики из метаданных, всё основано только на информации об их взаимодействии. Можно предположить, что похожие по вкусам пользователи будут выбирать похожие предметы, но эти самые &amp;quot;вкусы&amp;quot; алгоритмы выделяют самостоятельно, не используя очевидные свойства из метаданных. То есть, просто по истории взаимодействий можно выделить группы схожих пользователей и схожих предметов, что очень здорово и решает ту самую проблему новизны, которая есть в content-based алгоритмах. Но есть и минусы, о них чуть ниже:)&lt;/li&gt;
    &lt;li id=&quot;yIP6&quot;&gt;&lt;strong&gt;Гибридные модели.&lt;/strong&gt; В идеальном мире, когда у нас есть все виды информации - почему бы не использовать два подхода одновременно? Такие модели, кстати, чаще всего и применяются в настоящих прикладных задачах.&lt;/li&gt;
    &lt;li id=&quot;DkRR&quot;&gt;&lt;strong&gt;Модели на основе популярности. &lt;/strong&gt;Представьте, что в систему попадает новый пользователь, который ничего про себя не указал и пока что не провзаимодействовал ни с одним предметом - что ему рекомендовать? Это так называемая проблема &amp;quot;холодного старта&amp;quot;, которую можно попытаться просто решить - для начала предложить такому пользователю самые популярные предметы. По общей статистике это должно неплохо сработать, а дальше можно уже начинать собирать обратную связь в виде коллаборативных данных.&lt;/li&gt;
  &lt;/ul&gt;
  &lt;h4 id=&quot;А-что-про-сбор-данных-и-слежку?&quot;&gt;А что про сбор данных и слежку?&lt;/h4&gt;
  &lt;p id=&quot;r8RB&quot;&gt;Возможно, кто-то уже задался этим вопросом или вспомнил, как реклама Яндекс-директа чудесным образом начинает советовать что-то купить на основе наших поисковых запросов. Всё это, конечно, не случайно - наши действия коллекционируются в базах и почти мгновенно перерождаются в рекомендации. Но важно отметить, что собираемая информация анонимизирована и конфиденциальна, даже если Вы авторизованы в своём аккаунте. В данных, которые используются для обучения рекомендательных систем, хранятся только зашифрованные ID пользователей, которые позволяют технически связать их историю взаимодействия и предоставляемые рекомендации. Так что, вашей истории браузера не увидит никто, даже дата-саентисты:)&lt;/p&gt;
  &lt;h4 id=&quot;Заключение&quot;&gt;Заключение&lt;/h4&gt;
  &lt;p id=&quot;N1oJ&quot;&gt;Рекомендательные системы - это не просто технология, они стали частью нашей повседневной жизни. Они делают огромный мир Интернета интереснее и удобнее, экономят наше время, помогают делать открытия среди бесконечного количества контента. Они, кажется, знают нас лучше, чем мы сами.&lt;/p&gt;
  &lt;p id=&quot;hXfA&quot;&gt;Важно отметить, что рекомендательные системы - это не &amp;quot;Большой Брат&amp;quot;, следящий за нами. Они работают с анонимными данными и анализируют общие тенденции, чтобы предоставлять персонализированные предложения. Их цель - сделать нашу жизнь более удобной и приятной, помогая исследовать цифровой мир.&lt;/p&gt;
  &lt;p id=&quot;X1Wy&quot;&gt;Но важно осознавать, что рексистемы - это лишь помощники, и в конечном счёте мы контролируем то, как используем их. Так что, давайте погружаться в мир рекомендаций, но не забывать, что мы всегда остаёмся хозяевами собственного выбора.&lt;/p&gt;

</content></entry></feed>