Искусственный интеллект

5 задачвместе с подтемами
Число у задачи — рейтинг сложности, слово рядом — насколько она трудна по сравнению с другими задачами такого же типа. Шкалы задач с ответом и задач с кодом между собой не сравниваются. Рядом — счётчики попыток: успешные, неуспешные.

Вы уже научились вычислять сигмоиду и 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 знаков после запятой)

Реализуйте алгоритм k-means для одномерных данных (только координата x).

Для одномерных данных расстояние между точками вычисляется как модуль разности: |x₁ - x₂|

При равном расстоянии до нескольких центров точка присваивается кластеру с меньшим номером.

 

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

- Первая строка: два целых числа n и k (1 ≤ k ≤ n ≤ 1000) — количество точек и кластеров

- Вторая строка: n целых чисел через пробел — значения точек (−10⁶ ≤ xᵢ ≤ 10⁶)

- Третья строка: k вещественных чисел через пробел — начальные центры кластеров

 

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

- Первая строка: k вещественных чисел — финальные центры кластеров (округлённые до 1 знака после запятой)

- Вторая строка: n целых чисел — номер кластера (0-индексация) для каждой точки в порядке их появления во входных данных

Что отличает задачу классификации от задачи регрессии?

Варианты ответа:
1) Классификация предсказывает непрерывные значения, а регрессия — категориальные.
2) Классификация и регрессия обе предсказывают только непрерывные значения.
3) Классификация предсказывает категориальные метки, а регрессия — непрерывные значения.
4) Классификация и регрессия обе предсказывают только категориальные метки.

19#50313
Каково назначение метода describe() в Pandas?
  1. Для описания типов данных в столбцах
  2. Для отображения сводной статистики фрейма данных
  3. Для предоставления информации о пропущенных значениях
  4. Для описания структуры фрейма данных
Поделиться
Класснуть