Подбор параметров модели (обучение)


Плюсануть
Поделиться
Класснуть
Запинить


Условие задачи ПрогрессПопытки, все/успешные
ID 96036. 4.3.5 Подбор K в методе ближайших соседей (уровень 3)
Темы: Искусственный интеллект    Машинное обучение    Подбор параметров модели (обучение)   

Файл knn.txt содержит 1500 строк: координата метка (координата — вещественная, метка: 1 или 0). Первые 1000 строк — обучающая выборка, последние 500 — тестовая.

Тестовая точка классифицируется методом K ближайших соседей: берутся \( K \) обучающих точек, ближайших к ней по расстоянию \( |x_1 - x_2| \), и метка выбирается голосованием большинства. При равенстве голосов присваивается метка 0.

Переберите нечётные значения \( K \) от 1 до 21. Для каждого вычислите точность на тестовой выборке. Найдите \( K \) с максимальной точностью (при равенстве — наименьшее).

В ответе запишите два числа через пробел: оптимальное \( K \) и достигнутую точность в процентах (округлённую до целого).

Примечание

Голосование при нечётном \( K \) не даёт равенства, но правило «при равенстве — 0» оставлено на случай совпадающих расстояний.

Начать /
ID 96035. 4.3.4 Подбор интервала-классификатора (уровень 3)
Темы: Искусственный интеллект    Машинное обучение    Подбор параметров модели (обучение)   

Прибор считает измерение «нормальным», если его значение попадает в некоторый интервал. Файл measure.txt содержит 2400 строк: значение метка (значение — вещественное от 0 до 100, метка: 1 — норма, 0 — отклонение).

Правило-интервал: метка 1, если \( L \le значение \le H \).

Переберите обе границы: \( L \) от 0 до 100 с шагом 5 и \( H \) от \( L + 5 \) до 100 с шагом 5. Найдите пару границ с максимальным числом верных классификаций. При равенстве выберите наименьшее \( L \), затем наименьшее \( H \).

В ответе запишите три целых числа через пробел: \( L \), \( H \) и число верных классификаций.

Начать /
ID 96034. 4.3.3 Точность на обучении и тесте (уровень 3)
Темы: Искусственный интеллект    Машинное обучение    Подбор параметров модели (обучение)   

Файл signal.txt содержит 3000 строк: уровень_сигнала метка (уровень — вещественный, метка: 1 или 0). Первые 2000 строк — обучающая выборка, последние 1000 — тестовая.

Правило: метка 1, если уровень не меньше порога \( K \).

Подберите порог \( K \) с максимальной точностью на обучающей выборке, перебирая значения от 0 до 100 с шагом 0.1 (при равенстве — наименьший порог).

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

В ответе запишите два числа через пробел: точность на обучении и точность на тесте.

Начать /
ID 96033. 4.3.2 Лучший признак, направление и порог (уровень 3)
Темы: Искусственный интеллект    Машинное обучение    Подбор параметров модели (обучение)   

Банк ищет лучший одиночный признак для прогноза дефолта. Файл credit.txt содержит 2200 строк: доход долговая_нагрузка возраст метка (первые три поля — целые, метка: 1 — дефолт, 0 — нет).

Для каждого из трёх признаков рассматривается пороговое правило. Правило может быть направлено в любую сторону: «метка 1, если признак не меньше порога» или «метка 1, если признак меньше порога» — выбирается то направление и порог, что дают наибольшую точность. Пороги перебираются по всем целым от минимума до максимума значений признака.

Определите, какой признак (1 — доход, 2 — долговая нагрузка, 3 — возраст) даёт наибольшую достижимую точность на всей выборке, и саму эту точность в процентах (округлённую до целого).

В ответе запишите два числа через пробел. Гарантируется, что лучший признак единственный.

Начать /
ID 96032. 4.3.1 Два порога дерева решений (уровень 3)
Темы: Искусственный интеллект    Машинное обучение    Подбор параметров модели (обучение)   

Файл iris.txt содержит 2500 строк с данными о цветках трёх видов: длина_лепестка ширина_лепестка вид (длина и ширина — вещественные, вид: 0, 1 или 2).

Классификатор — дерево решений с двумя порогами \( P_1 \) и \( P_2 \):

  • если длина лепестка меньше \( P_1 \) — вид 0;
  • иначе, если ширина лепестка меньше \( P_2 \) — вид 1;
  • иначе — вид 2.

Переберите \( P_1 \) от 1.0 до 5.0 с шагом 0.1 и \( P_2 \) от 0.5 до 3.0 с шагом 0.1. Найдите пару порогов с максимальным числом верно классифицированных цветков. При равенстве выберите наименьший \( P_1 \), затем наименьший \( P_2 \).

В ответе запишите три числа через пробел: \( P_1 \) (один знак после запятой), \( P_2 \) (один знак после запятой) и число верных классификаций.

Начать /
ID 96031. 4.2.5 Дробный порог, ошибки на тесте (уровень 2)
Темы: Искусственный интеллект    Машинное обучение    Подбор параметров модели (обучение)   

Ферма сортирует ягоды по содержанию сахара. Файл berries.txt содержит 3500 строк: сахар_процент метка (сахар — вещественное число, метка: 1 — спелая, 0 — неспелая).

Первые 2500 строк — обучающая выборка, последние 1000 — тестовая.

Правило: ягода спелая, если сахар не меньше порога \( K \).

Подберите порог \( K \) с максимальной точностью на обучающей выборке, перебирая значения от 0 до 30 с шагом 0.1 (при равенстве точности — наименьший порог). Затем примените найденный порог к тестовой выборке.

В ответе запишите число ошибок классификации на 1000 тестовых ягодах.

Начать /
ID 96030. 4.2.4 Выбор лучшего признака (уровень 2)
Темы: Искусственный интеллект    Машинное обучение    Подбор параметров модели (обучение)   

Сервис прогнозирует отток клиентов. Файл churn.txt содержит 3000 строк: дней_без_активности число_обращений_в_поддержку метка (первые два поля — целые, метка: 1 — клиент ушёл, 0 — остался).

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

Определите, какой признак даёт более высокую максимальную точность: 1 — «дней без активности», 2 — «число обращений». Укажите номер этого признака и достигнутую им точность в процентах (округлённую до целого).

В ответе запишите два числа через пробел. Гарантируется, что лучший признак единственный.

Начать /
ID 96029. 4.2.3 Порог по сумме двух признаков (уровень 2)
Темы: Искусственный интеллект    Машинное обучение    Подбор параметров модели (обучение)   

Система оценивает заявки по двум показателям. Файл apps.txt содержит 2800 строк: показатель1 показатель2 класс (показатели — целые от 0 до 100, класс: 1 или 0).

Правило использует сумму двух показателей: объект относится к классу 1, если \( x_1 + x_2 \ge K \).

Переберите целые \( K \) от 0 до 200, для каждого вычислите точность на всей выборке и найдите оптимальный порог \( K \) (при равенстве — наименьший).

В ответе запишите одно целое число — оптимальный порог \( K \).

Начать /
ID 96028. 4.2.2 Порог по минимуму ошибок FP+FN (уровень 2)
Темы: Искусственный интеллект    Машинное обучение    Подбор параметров модели (обучение)   

Лаборатория настраивает порог диагностического маркера. Файл marker.txt содержит 3200 строк: уровень_маркера диагноз (уровень — вещественный, диагноз: 1 — болен, 0 — здоров).

Правило: пациент считается больным, если уровень маркера не меньше порога \( M \).

Для каждого целого \( M \) от 0 до 150 посчитайте сумму ошибок двух типов: ложные срабатывания (здоров, но помечен больным) плюс пропуски (болен, но помечен здоровым). Найдите порог \( M \), минимизирующий эту сумму (при равенстве — наименьший).

В ответе запишите одно целое число — оптимальный порог \( M \).

Начать /
ID 96027. 4.2.1 Порог на обучении, проверка на тесте (уровень 2)
Темы: Искусственный интеллект    Машинное обучение    Подбор параметров модели (обучение)   

Файл mail.txt содержит данные о 3000 письмах: процент_заглавных_букв метка (метка: 1 — спам, 0 — не спам).

Первые 2000 строк — обучающая выборка, последние 1000 — тестовая.

Правило: письмо — спам, если процент заглавных не меньше порога \( K \).

Переберите \( K \) от 0 до 100 и подберите значение с максимальной точностью на обучающей выборке (при равенстве — наименьшее \( K \)). Затем примените найденный \( K \) к тестовой выборке.

В ответе запишите количество верно классифицированных писем из 1000 тестовых.

Начать /
ID 96026. 4.1.5 Минимум ошибок антифрода (уровень 1)
Темы: Искусственный интеллект    Машинное обучение    Подбор параметров модели (обучение)   

Платёжная система выявляет мошеннические переводы по сумме. Файл payments.txt содержит 2600 строк: сумма_перевода метка (сумма — целое число рублей, метка: 1 — мошенничество, 0 — легальный перевод).

Правило: перевод считается мошенническим, если сумма не меньше порога \( A \).

Переберите значения \( A \) от 0 до 20000 с шагом 100. Для каждого посчитайте число ошибок классификации. Найдите минимальное число ошибок среди всех порогов.

В ответе запишите одно целое число — минимальное число ошибок.

Начать /
ID 96025. 4.1.4 Порог отклонения веса (уровень 1)
Темы: Искусственный интеллект    Машинное обучение    Подбор параметров модели (обучение)   

Фасовочная линия отбраковывает упаковки по отклонению веса. Файл weight.txt содержит 2800 строк: отклонение_веса_г метка (отклонение — неотрицательное вещественное, метка: 1 — годная упаковка, 0 — брак).

Правило: упаковка считается годной, если отклонение веса не превышает порог \( E \).

Переберите целые \( E \) от 0 до 50, для каждого вычислите точность на всей выборке и найдите \( E \) с максимальной точностью (при равенстве — наименьшее).

В ответе запишите одно целое число — оптимальный порог \( E \).

Начать /
ID 96024. 4.1.3 Максимальная точность скоринга (уровень 1)
Темы: Искусственный интеллект    Машинное обучение    Подбор параметров модели (обучение)   

Банк подбирает порог кредитного скоринга. Файл score.txt содержит данные о 3000 заявках. В каждой строке: скоринговый_балл решение (балл — целое от 0 до 100; решение: 1 — кредит выдан и возвращён, 0 — не возвращён).

Правило: одобрять заявку, если балл не меньше порога \( S \).

Переберите целые \( S \) от 0 до 100 и найдите максимально достижимую точность классификации на всей выборке.

В ответе запишите точность в процентах, округлённую до целого числа.

Начать /
ID 96023. 4.1.2 Порог температуры брака (уровень 1)
Темы: Искусственный интеллект    Машинное обучение    Подбор параметров модели (обучение)   

Завод выявляет бракованные детали по температуре при отливке. Файл parts.txt содержит данные о 2500 деталях. В каждой строке: температура_отливки метка (температура — вещественная, метка: 1 — брак, 0 — годная).

Правило: деталь считается бракованной, если температура не меньше порога \( T \).

Переберите целые значения \( T \) от 150 до 300. Для каждого вычислите точность на всей выборке и найдите \( T \) с максимальной точностью (при равенстве — наименьшее).

В ответе запишите одно целое число — оптимальный порог \( T \).

Начать /
ID 96022. 4.1.1 Порог спам-фильтра (уровень 1)
Темы: Искусственный интеллект    Машинное обучение    Подбор параметров модели (обучение)   

Почтовый сервис настраивает спам-фильтр. Файл spam.txt содержит данные о 2000 письмах. В каждой строке два целых числа через пробел: число_ссылок метка (метка: 1 — спам, 0 — не спам).

Правило классификации имеет вид: письмо считается спамом, если число ссылок не меньше порога \( K \).

Переберите все целые значения \( K \) от 0 до 50. Для каждого \( K \) вычислите точность (долю верно классифицированных писем) на всей выборке. Найдите \( K \), при котором точность максимальна. Если максимум достигается при нескольких значениях, укажите наименьшее.

В ответе запишите одно целое число — оптимальный порог \( K \).

Начать /
ID 88680. Кластеризация - 2
Темы: Подбор параметров модели (обучение)   

Сколько раз может измениться положение центра кластера в k-means?

  1. Ровно один раз
  2. Ровно k раз (где k — количество кластеров)
  3. От 0 до бесконечности (зависит от данных)
  4. Центр никогда не меняется после инициализации

Начать /
ID 68806. Задача 3. Пишем градиентный спуск для логистической регрессии
Темы: Линейная регрессия    Подбор параметров модели (обучение)   

Вы уже научились вычислять сигмоиду и log-loss. Теперь пришло время собрать всё вместе и написать полноценный градиентный спуск для логистической регрессии!

Ваша задача — написать программу, которая находит оптимальные параметры w и b для логистической регрессии с помощью градиентного спуска.

Что нужно сделать:

  1. Начать с начальных значений w = 0 и b = 0

  2. На каждой итерации (эпохе):

    • Вычислить предсказания: z=w⋅X+b, затем p=σ(z)

    • Вычислить градиенты по формулам: 
      \[ \frac{\partial \text{Loss}}{\partial w} = \frac{1}{n} \sum_{i=1}^{n} (p_i - y_i) \cdot x_i \]
      \[ \frac{\partial \text{Loss}}{\partial b} = \frac{1}{n} \sum_{i=1}^{n} (p_i - y_i) \]

      Обновить параметры:
      \[ w = w - \alpha \cdot \frac{\partial \text{Loss}}{\partial w} \]
      \[ b = b - \alpha \cdot \frac{\partial \text{Loss}}{\partial b} \]

  3. Повторить указанное количество итераций

  4. Вернуть найденные параметры и историю ошибок

Параметры алгоритма:

  • Скорость обучения (alpha): задаётся во входных данных
  • Количество итераций (epochs): задаётся во входных данных
  • Для вычисления вероятности также используйте  y_pred = np.clip(y_pred, 1e-15, 1 - 1e-15)

Формат входных данных

Первая строка: признаки (вещественные числа, разделённые пробелом)
Вторая строка: правильные классы (0 или 1, разделённые пробелом)
Третья строка: скорость обучения (вещественное число) и количество итераций (целое число), разделённые пробелом


Формат выходных данных

Выведите три числа, каждое в отдельной строке:
Первая строка: найденное значение w (с точностью до 4 знаков после запятой)
Вторая строка: найденное значение b (с точностью до 4 знаков после запятой)
Третья строка: финальное значение log-loss (с точностью до 4 знаков после запятой)

Начать 44/ 10
ID 68803. Задача 2. Ищем лучшие w и b (полный перебор)
Темы: Простые задачи на перебор    Линейная регрессия    Подбор параметров модели (обучение)   

Вы работаете с простым датасетом, где нужно предсказать класс (0 или 1) по одному признаку. Например, предсказываем, болен ли человек (1) или здоров (0) по температуре тела.

У вас есть:

  • Массив признаков X (например, температуры)

  • Массив правильных ответов y (0 или 1)

Вам нужно найти лучшие значения коэффициента w и свободного члена b методом полного перебора, чтобы минимизировать log-loss.

Алгоритм

  1. Переберите все возможные значения w от -2 до 2 с шагом 0.1
  2. Переберите все возможные значения b от -10 до 10 с шагом 0.5
  3. Для каждой пары (wb):
    • Посчитайте линейную комбинацию: z=w⋅X+b
    • Примените сигмоиду: p=σ(z)
    • Посчитайте log-loss
  4. Выберите пару (wb) с минимальным log-loss

Важные детали

  • Используйте функцию сигмоиды
  • Для расчёта log-loss используйте формулу:
    • \(\text{Log-Loss} = -\frac{1}{n}\sum_{i=1}^{n} \left(y_i \cdot \log(p_i) + (1 - y_i) \cdot \log(1 - p_i)\right)\)
  • Чтобы избежать ошибок с логарифмом нуля, ограничьте вероятности: p = np.clip(p, 1e-15, 1 - 1e-15)
  • Bспользуйте np.arrange() для работы с вещественным шагом, вместо range()


Формат входных данных

На вход подаётся:

  • в первой строке признаки (например, температуры): вещественные числа, разделенные одним пробелом
  • во второй строке правильные классы для каждого признака соответственно  (0 или 1).


 Формат выходных данных

Выведите три числа, каждое в отдельной строке:

  1. best_w — лучшее значение коэффициента (float, с точностью до сотых)

  2. best_b — лучшее значение свободного члена (float, с точностью до сотых)

  3. min_loss — минимальное значение log-loss (float, с точностью 4 знака после запятой)

Начать 45/ 20