Академический Документы
Профессиональный Документы
Культура Документы
ФИЗИЧЕСКИЙ
ФАКУЛЬТЕТ
МГУ ИМЕНИ
М.В. ЛОМОНОСОВА
ДМИТРИЕВ
КОНСТАНТИН ВЯЧЕСЛАВОВИЧ
ФИЗФАК МГУ
КОНСПЕКТ ПОДГОТОВЛЕН
СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ПРОФ. РЕДАКТУРУ И МОЖЕТ
СОДЕРЖАТЬ ОШИБКИ.
СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ
НА VK.COM/TEACHINMSU.
ЕСЛИ ВЫ ОБНАРУЖИЛИ
ОШИБКИ ИЛИ ОПЕЧАТКИ,
ТО СООБЩИТЕ ОБ ЭТОМ,
НАПИСАВ СООБЩЕСТВУ
VK.COM/TEACHINMSU.
БЛАГОДАРИМ ЗА ПОДГОТОВКУ КОНСПЕКТА
СТУДЕНТКУ ФИЗИЧЕСКОГО ФАКУЛЬТЕТА МГУ
ЕМЕЛЬЯНОВУ АНАСТАСИЮ РОМАНОВНУ
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
Оглавление
Лекция 1. Введение. Задачи, подходы и возможности .................................................. 6
Введение. План курса. Источники информации ................................................................. 6
Предмет изучения: искусственный интеллект и машинное обучение ............................. 6
Постановка задачи МО. Классификация задач МО ........................................................... 7
Глубокое МО - построение признаков................................................................................. 8
Модель нейрона Мак-Каллока-Питтса. Линейная регрессия и классификация .............. 9
Построение моделей. Прямые и обратные задачи. Алгоритм решения ......................... 10
Лекция 2. Библиотеки Python, используемые для машинного обучения.
Практическое занятие....................................................................................................... 12
Google Colaboratory - облачный сервис на среде Jupyter Notebook ................................ 12
Библиотека Pandas - работа с таблицами ........................................................................... 12
Seaborn и matplotlib - библиотеки для визуализации данных.......................................... 26
Лекция 3. Байесовский классификатор. Метод максимального правдоподобия.
Априорная и апостериорная информация. ................................................................... 36
Проверка статистических гипотез ...................................................................................... 36
Принятие решений в бинарной ситуации, при нескольких возможных исходах.......... 39
Оценка постоянных параметров сигнала. Байесовский подход...................................... 40
Наблюдения параметра на фоне гауссового шума ........................................................... 42
Лекция 4. Линейные методы регрессии и классификации ....................................... 45
Схема постановки и решения задач обучения с учителем .............................................. 45
Недообучение и переобучение. Феномен Рунге ............................................................... 45
Гиперпараметры ................................................................................................................... 47
Задачи линейной регрессии и линейной бинарной классификации ............................... 47
Решение задачи линейной регрессии ................................................................................. 48
Вероятностный подход к задаче линейной регрессии и классификации ....................... 50
Лекция 5. Метрические методы регрессии и классификации .................................. 54
Разбор теории предыдущих лекций на практике .............................................................. 54
Схема постановки и решения задач обучения с учителем. Примеры ............................ 67
Расстояния между объектами. Классификация объектов по соседям ............................ 68
Метод k ближайших соседей (kNN) ................................................................................... 68
3
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
4
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
5
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
6
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
7
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
8
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
9
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
𝑓𝑛 = ∑ 𝛼𝑚 𝑔𝑛−𝑚 + 𝜉𝑛
𝑚=1
• Авторегрессионная модель
𝑀
𝑓𝑛 = ∑ 𝛼𝑚 𝑓𝑛−𝑚 + 𝜉𝑛
𝑚=1
• Модель гауссовского процесса
1 (𝑥−𝑥̅ )2
2) −
𝑁(𝑥̅ , 𝜎 = 𝑒 2𝜎2
√2𝜋𝜎
Определение 1.6
Прямая задача – необходимо определить, как будет вести себя модель, все
характеристики которой заданы.
Определение 1.7
Обратная задача – необходимо по заданному поведению объекта построить
модель и определить все ее характеристики. В ряде случаев для этого объект можно
подвергнуть заданному внешнему воздействию.
Общая схема постановки и решения задач машинного обучения:
1) Имеется множество объектов 𝕏, каждый из которых задан вектором
признаков 𝑥⃗.
2) Имеется обучающая выборка объектов 𝕏𝑡𝑟𝑎𝑖𝑛 ⊂ 𝕏 из L объектов, для
которых задан целевой признак у.
10
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
11
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
#df1.head()
df1.tail(2)
#df1.shape # (число строк - R; число столбцов - C)
12
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
#df2
# Именованные колонки
#df3 = pd.DataFrame([[1, 23, 5], [2, 4, 7]], columns=['A','B',
'C'])
#df3
# Используем именованные индексы
df4 = pd.DataFrame([[1, 23, 5], [2, 4, 7]], columns=['A','B','
C'],index=['First object','Second object'])
df4
irisDataURL = 'https://archive.ics.uci.edu/ml/machine-
learning-databases/iris/iris.data'
iris_data = pd.read_csv(irisDataURL, names=['Длина чашелистика
','Ширина чашелистика','Длина лепестка','Ширина лепестка','cla
ss'])
iris_data.head()
13
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
iris_data
iris_data['Длина чашелистика']
#iris_data.class
print(iris_data['Длина чашелистика'][0])
print("\n", "-"*80, "\n")
print(df4)
print("\n", "-"*80, "\n")
14
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
print(df4['A']['First object'])
15
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
16
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
print(iris_data.iloc[0:5])
print("\n", "-"*80, "\n")
print(iris_data.loc[0:5])
17
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
print( iris_data[iris_data['class'].isnull()].head() )
# notnull()
18
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
2.5. Присваивание
Можно присвоить одинаковое значение всей колонке
iris_data2 = iris_data.copy()
iris_data2['class'] = 'newclass'
iris_data2.head()
19
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
iris_data.apply(iris_transform_row, axis='columns').head()
iris_data.apply(iris_transform_column, axis='index')
20
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
print('-'*80)
print(iris_data['class'].value_counts())
3.2. Группировка
iris_data.groupby('class')['Длина чашелистика'].mean()
21
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
3.3. Сортировка
iris_data.sort_values(by='Ширина чашелистика')
iris_data2 = iris_data[(iris_data['class']=='Iris-
virginica') & (iris_data['Ширина лепестка']>2.3)]
22
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
23
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
iris_data1.reset_index().join(iris_data2.reset_index(), lsuffi
x='_data1', rsuffix='_data2') # Здесь индексы сброшены, все по
ля заполняются
iris_data21 = iris_data2.reset_index().join(iris_data1.reset_i
ndex(), lsuffix='_data2', rsuffix='_data1') # Здесь индексы сб
рошены, но не для всех нашлись значения, поэтому пристутсвуют
NaN
iris_data21
24
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
25
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
plt.plot(x, y)
26
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
# Несколько графиков
fig, axs = plt.subplots(nrows=1, ncols=2) # Задаем сетку для
отображения графиков
fig.suptitle('Много импульсов') # Общий заголовок
fig.set_size_inches(12, 4) # Задаем размер ка
ртинки в дюймах
27
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
x = np.random.randn(N)
y = np.random.randn(N)
28
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
2. Seaborn
Импорт библиотеки
import seaborn as sns
2.1. Построение графиков
plt.figure(figsize=(16,6))
_ = sns.lineplot(data=x)
29
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
plt.xlabel("Номер образца")
plt.ylabel("Размер, мм")
plt.show()
print("\n","-"*80,"\n")
plt.figure(figsize=(12,4))
plt.title("Данные полетов")
30
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
x = np.random.randn(N)
y = np.random.randn(N)
31
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
N=500
x = np.random.randn(N)
y1 = 2*x + 4*np.random.randn(N)
y3 = x**3 - 2*x**2 + x + 4*np.random.randn(N)
32
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
plt.show()
2.6. Распределения
Гистограммы и приближения для восстановления плотности распределения
33
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
_ = plt.plot()
Визуализация попарных распределений признаков
sns.jointplot(x=iris_data['Длина чашелистика'], y=iris_data['Ш
ирина чашелистика'], kind="kde");
_ = plt.show()
sns.pairplot(data=iris_data, hue='class');
34
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
35
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
Истина
Нет Да
36
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
Нет
Отклонить
Ошибка 2 рода β Правильное не отклонение
?
Да
Правильное отклонение Ошибка 1 рода α
37
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
ℳ{𝑥}−𝑚
• Тогда 𝑧= √𝑛~𝒩(0,1). При условиях задачи z = 2.
𝜎0
38
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
0
Правильное необнаружение Пропуск цели
39
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
40
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
41
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
42
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
1
𝑤(𝜃|𝑦⃗) = 𝑤(𝑦⃗|𝜃)𝑤(𝜃) =
𝑤(𝑦⃗)
𝑘
1 1 1 2 1
= ⁄
exp (− 2 ∑(𝑦𝑗 − 𝜃) − (𝜃 − 𝜃0 )2 )
𝑤(𝑦⃗) (2𝜋) (𝑘+1) 2 𝑘
𝜎 𝜎0 2𝜎 2𝜎0 2
𝑗=1
max 𝑤(𝜃|𝑦⃗) ⇔ max ln 𝑤(𝜃|𝑦⃗)
𝑘
1 1
∑(𝑦𝑗 − ̂𝑚𝑎𝑝 ) +
𝜃 (𝜃̂ − 𝜃0 ) = 0
𝜎2 𝜎0 2 𝑚𝑎𝑝
𝑗=1
𝑘
𝑘 1 𝜃0 1 𝑘
𝜃̂𝑚𝑎𝑝 ( + 2 ) = 2 + ∑ 𝑦𝑗
⏟2
𝜎 𝜎0 𝜎0 𝑘 ⏟2
𝜎
1⁄𝜎2 𝑚𝑙𝑒
⏟𝑗=1 1⁄𝜎2
𝑚𝑙𝑒
̂2
𝜃 𝑚𝑙𝑒
𝜎 2 𝑚𝑙𝑒 𝜎0 2
𝜃̂𝑚𝑎𝑝 = 𝜃 + 𝜃̂𝑚𝑙𝑒
𝜎0 2 + 𝜎 2 𝑚𝑙𝑒 0 𝜎0 + 𝜎 2 𝑚𝑙𝑒
2
43
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
1⁄𝜃 , 0 ≤ 𝑦𝑗 ≤ 𝜃
𝑤(𝑦𝑗 |𝜃) = {
0, 𝑦𝑗 < 0; 𝑦𝑗 > 𝜃
Метод максимального правдоподобия
1⁄𝜃 𝑘 , 0 ≤ 𝑦1 , 𝑦2 , … , 𝑦𝑘 ≤ 𝜃
𝐿(𝜃) = ∏ 𝑤(𝑦𝑗 |𝜃) = {
0, ∃𝑡: 𝑦𝑡 < 0; 𝑦𝑡 > 𝜃
44
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
45
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
46
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
Гиперпараметры
Определение 4.1
Гиперпараметры — параметры алгоритма, значения которых устанавливаются
перед запуском процесса обучения
47
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
𝐿 𝐿
1 1 2
𝑄𝑡𝑟𝑎𝑖𝑛 (𝜃⃗) = ∑ ℒ(𝑎(𝑥
⃗⃗⃗⃗,𝑖 𝜃⃗), ⃗⃗⃗⃗,
𝑥𝑖 𝑦𝑖 ) = ∑ ((𝑥
⃗⃗⃗⃗; ⃗
𝑖 𝜃 ) − 𝑦𝑖 ) → 𝑚𝑖𝑛
𝐿 𝐿 ⃗⃗⃗⃗
𝜃𝑖
𝑖=1 𝑖=1
Решение проверяется при ⃗⃗⃗⃗
𝑥𝑖 ∈ 𝕏𝑣𝑎𝑙 :
𝐾
1 2
𝑄𝑣𝑎𝑙 (𝜃⃗) = ∑ ((𝑥
⃗⃗⃗⃗;
𝑖
⃗
𝜃 ) − 𝑦𝑖 )
𝐾
𝑖=1
Задача линейной бинарной классификации
⃗⃗⃗⃗𝑖 ∈ ℛ 𝑛 ; 𝑦𝑖 ∈ {−1; 1}
𝑥
Выбирается линейная модель: 𝑎(𝑥⃗, 𝜃⃗) = 𝑠𝑔𝑛(𝑥⃗; 𝜃⃗) = 𝑠𝑔𝑛 ∑𝑛𝑗=1 𝑥𝑗 𝜃𝑗
Квадратичная функция потерь: ℒ(𝑎, 𝑥⃗, 𝑦) = [𝑎𝑦 < 0]
Ставится задача оптимизации при ⃗⃗⃗⃗
𝑥𝑖 ∈ 𝕏𝑡𝑟𝑎𝑖𝑛 :
𝐿 𝐿
1 1
𝑄𝑡𝑟𝑎𝑖𝑛 (𝜃⃗) = ∑[𝑎(𝑥
⃗⃗⃗⃗; ⃗
𝑖 𝜃 )𝑦𝑖 < 0] = ∑ [ ⏟
(𝑥
⃗⃗⃗⃗; ⃗
𝑖 𝜃 )𝑦𝑖 < 0] → 𝑚𝑖𝑛
𝐿 𝐿 ⃗⃗⃗⃗
𝜃𝑖
𝑖=1 𝑖=1 отступ объекта
Решение проверяется при ⃗⃗⃗⃗
𝑥𝑖 ∈ 𝕏𝑣𝑎𝑙 :
𝐾
1
𝑄𝑣𝑎𝑙 (𝜃⃗) = ∑[(𝑥
⃗⃗⃗⃗; ⃗
𝑖 𝜃 )𝑦𝑖 < 0]
𝐾
𝑖=1
Идея: заменить пороговую функцию потерь непрерывной функцией
Отступ объекта (margin) 𝑀 = (𝑥⃗; 𝜃⃗)𝑦
𝐴∶ [𝑀 < 0] – пороговая
𝐵∶ (1 − 𝑀)+ – SVM
𝐶∶ 𝑒 −𝑀 – экспоненциальная
𝐷∶ (1 − 𝑀)2 – квадратичная
𝐸∶ 𝑙𝑜𝑔2 (1 + 𝑒 −𝑀 ) – логарифмическая
48
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
𝜃⃗0 = (𝒳 𝑇
𝒳 + 𝜖𝐈) 𝒳 𝑇 𝑦⃗ −1
49
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
50
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
𝜆 𝜆2 2
𝑤(𝜃⃗) = 𝑛 exp (− |𝜃⃗| )
(2𝜋) 2 2
Метод максимального правдоподобия
𝐿 2
1 (𝑦𝑖 − ∑𝑛𝑗=1 𝒳𝑖𝑗 𝜃𝑗 )
⃗ ⃗ 2)
ln 𝐿(𝜃) = ln 𝑤(𝑦⃗|𝒳, 𝜃 ) = ∑ [− ln(2𝜋𝜎 − ]
2 2𝜎 2
𝑖=1
2
𝐿 𝑛
1
∑ (𝑦𝑖 − ∑ 𝒳𝑖𝑗 𝜃𝑗 ) → 𝑚𝑖𝑛
2𝜎 2
𝑖=1 𝑗=1
2
В матричной записи: 𝑄𝑡𝑟𝑎𝑖𝑛 (𝜃⃗) = ‖𝒳𝜃⃗ − 𝑦⃗‖2 → 𝑚𝑖𝑛
Метод апостериорной плотности распределения
𝐿 𝐿 2
1 (𝑦𝑖 − ∑𝑛𝑗=1 𝒳𝑖𝑗 𝜃𝑗 ) 𝜆 𝜆2 2
ln 𝐿(𝜃⃗) + ln 𝑤(𝜃⃗ ) = − ∑ ln(2𝜋𝜎 2 ) − ∑ + ln − |𝜃⃗|
2 2𝜎 2 (2𝜋)𝑙⁄2 2
𝑖=1 𝑖=1
2
𝐿 𝑛
1 𝜆2 2
∑ (𝑦𝑖 − ∑ 𝒳 𝜃
𝑖𝑗 𝑗 ) + |𝜃⃗| → 𝑚𝑖𝑛
2𝜎 2 ⏟
2
⏟ 𝑖=1 𝑗=1
𝐿2 − регуляризация
Квадратичная ошибка
2 2
В матричной записи: 𝑄𝑡𝑟𝑎𝑖𝑛 (𝜃⃗) = ‖𝒳𝜃⃗ − 𝑦⃗‖2 + (𝜎𝜆)2 ‖𝜃⃗‖2 → 𝑚𝑖𝑛
Если неизвестные коэффициенты 𝜃⃗ = {𝜃1 , 𝜃2 , … , 𝜃𝑛 } распределены согласно
распределению Лапласа:
𝛼
𝑤(𝜃⃗𝑖 ) = exp(−|𝜃𝑖 |)
2
2
𝐿 𝑛 𝑛
1
∑ (𝑦𝑖 − ∑ 𝒳𝑖𝑗 𝜃𝑗 ) + 𝜆 ∑|𝜃𝑖 | → 𝑚𝑖𝑛
2𝜎 2
⏟ 𝑖=1 𝑗=1 ⏟𝑗=1
Квадратичная ошибка 𝐿1 − регуляризация
2
В матричной записи: 𝑄𝑡𝑟𝑎𝑖𝑛 (𝜃⃗) = ‖𝒳𝜃⃗ − 𝑦⃗‖2 + 𝜎 2 𝜆‖𝜃⃗‖1 → 𝑚𝑖𝑛
Эксперимент с монеткой: метод максимального правдоподобия
Необходимо оценить вероятность выпадения орла, имея данные эксперимента
𝑦⃗ = {𝑦1 , 𝑦2 , … , 𝑦𝑁 }
𝑝(𝑦𝑗 |𝑞) = 𝑞 𝑦𝑗 (1 − 𝑞)1−𝑦𝑗
𝑁 𝑁
1
ℒ𝑙𝑜𝑔 = − ln 𝐿 = − ∑ ln 𝑝(𝑦𝑗 |𝑞) = − ∑(𝑦𝑗 ln 𝑞 + (1 − 𝑦𝑗 ) ln(1 − 𝑞)) → 𝑚𝑖𝑛
𝑁
𝑗=1 ⏟ 𝑗=1
Логистическая функция потерь
51
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
𝑁
1
𝑞̂𝑚𝑙𝑒 = ∑ 𝑦𝑗
𝑁
𝑗=1
Перекрестная энтропия
Объект, обладающий признаками 𝑥⃗, относится к j-му классу с вероятностью
𝑝𝑗 ; 𝑗 = 1, 2, … , 𝑠.
Алгоритм на основе 𝑥⃗ определяет эту вероятность как 𝑞𝑗 . При 𝑁 ≫ 1
испытаниях j-й класс реализовался 𝑛𝑗 = 𝑁𝑝𝑗 раз.
𝑠
𝑁𝑝𝑗
𝐿(𝑞1 , 𝑞2 , … , 𝑞𝑠 ) = 𝑝(𝑛1 , 𝑛2 , … , 𝑛𝑠 |𝑞1 , 𝑞2 , … , 𝑞𝑠 ) = ∏ 𝑞𝑗
𝑗=1
𝑠
1
− ln 𝐿(𝑞1 , 𝑞2 , … , 𝑞𝑠 ) = − ∑ 𝑝𝑗 ln 𝑞𝑗 = 𝐻(𝑝, 𝑞) → 𝑚𝑖𝑛
𝑁
𝑗=1
Определение 4.4
Перекрестная энтропия (cross entropy) — функция между двумя
распределениями вероятностей 𝐻(𝑝, 𝑞) = − ∑ 𝑝𝑗 ln 𝑞𝑗 .
Минимум перекрестной энтропии
𝐻(𝑝, 𝑞) = − ∑ 𝑝𝑗 ln 𝑞𝑗
𝜕𝐻
= 0; ∑ 𝑞𝑗 = 1
𝜕𝑞𝑗
𝜉 = − ∑ 𝑝𝑗 ln 𝑞𝑗 + 𝜆 (1 − ∑ 𝑞𝑗 )
𝜕𝜉 𝑝𝑗 𝑝𝑗
= 0; − − 𝜆 = 0; 𝑞𝑗 = −
𝜕𝑞𝑗 𝑞𝑗 𝜆
∑ 𝑞𝑗 = − ∑ 𝑝𝑗 ⁄𝜆 = −1⁄𝜆 ; 𝜆 = −1
𝑝𝑗 = 𝑞𝑗
Объект определенного класса
𝑠
ℒ = − ∑ 𝑝𝑗 ln 𝑞𝑗
𝑗=1
Если точно известно, что объект принадлежит классу t, то
𝑝𝑗 = 𝛿(𝑗, 𝑡) и ℒ = − ln 𝑞𝑡
Бинарная классификация
Логистическая функция потерь: ℒ = −𝑦 ln 𝑞 − (1 − 𝑦) ln(1 − 𝑞)
Модель вероятности:
1 1
𝑞 = 𝑠𝑖𝑔𝑚𝑜𝑖𝑑(𝑥⃗; 𝜃⃗ ) ≡ ⃗⃗
и 1 − 𝑞 = ⃗⃗
1 + 𝑒 −(𝑥⃗;𝜃) 1 + 𝑒 (𝑥⃗;𝜃)
Вместо класса 𝑦 ∈ {0; 1} удобно взять 𝑧 = (2𝑦 − 1) ∈ {−1; 1}
52
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
1+𝑧 ⃗⃗ 1−𝑧 ⃗⃗ ⃗⃗
ℒ= ln (1 + 𝑒 −(𝑥⃗;𝜃) ) + ln (1 + 𝑒 (𝑥⃗;𝜃) ) = ln (1 + 𝑒 −𝑧∙(𝑥⃗;𝜃) )
2 2
Логарифмическая функция потерь: ℒ = 𝑙𝑜𝑔2 (1 + 𝑒 −𝑀 )
53
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
plt.rcParams.update({'font.size': 12})
Класс Problem позволяет сгенерировать обучающую и тестовую выборки для
заданной функции, а затем осуществлять проверку результата
from sklearn.model_selection import train_test_split
from sklearn.metrics import mean_squared_error
class Problem():
X_train = []
X_test = []
y_train = []
_y_test = []
54
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
55
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
reg = LinearRegression(fit_intercept=True).fit(X_train_pol
y, y_train)
else:
reg = Ridge(alpha=alpha, fit_intercept=True).fit(X_train_p
oly, y_train)
56
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
…….
# Отобразим график
plt.figure(figsize=[20,5])
plt.plot(Ns, mses_train, 'b', label='Тренировка')
plt.plot(Ns, mses_valid, 'r', label='Валидация')
plt.legend()
plt.show()
57
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
mses_train=[]
mses_valid=[]
regs = []
Ns = range(1, 50)
for N in Ns:
mse_train, mse_valid, reg = polynom_solution(X_train, X_vali
d, y_train, y_valid, N=N, plot=False)
mses_train.append(mse_train)
mses_valid.append(mse_valid)
regs.append(reg)
# Отобразим график
plt.figure(figsize=[20,5])
plt.plot(Ns, mses_train, 'b', label='Тренировка')
plt.plot(Ns, mses_valid, 'r', label='Валидация')
plt.legend()
plt.show()
58
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
mses_train=[]
mses_valid=[]
regs = []
Ns = range(1, 50)
for N in Ns:
mse_train, mse_valid, reg = polynom_solution(X_train, X_vali
d, y_train, y_valid, N=N, plot=False)
mses_train.append(mse_train)
mses_valid.append(mse_valid)
59
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
regs.append(reg)
# Отобразим график
plt.figure(figsize=[20,5])
plt.plot(Ns, mses_train, 'b', label='Тренировка')
plt.plot(Ns, mses_valid, 'r', label='Валидация')
plt.legend()
plt.show()
Ns = range(1, 8)
alphas = np.arange(0.1, 3.0, 0.1)
for N in Ns:
60
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
mses_train=[]
mses_valid=[]
regs = []
na = []
Ns = range(1, 8)
alphas = np.arange(0.1, 3.0, 0.1)
for N in Ns:
for alpha in alphas:
61
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
Ns = range(1, 8)
alphas = np.arange(0.1, 3.0, 0.1)
for N in Ns:
for alpha in alphas:
62
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
local_mses_train.append(local_mse_train)
local_mses_valid.append(local_mse_valid)
mses_train.append(mse_train)
mses_valid.append(mse_valid)
na.append((N, alpha))
63
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
Ns = range(1, 8)
alphas = np.arange(0.1, 10.0, 0.1)
for N in Ns:
for alpha in alphas:
local_mses_train.append(local_mse_train)
local_mses_valid.append(local_mse_valid)
64
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
mses_train.append(mse_train)
mses_valid.append(mse_valid)
na.append((N, alpha))
65
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
mses_train=[]
mses_valid=[]
regs = []
na = []
N = 10
alphas = np.arange(0.01, 3.0, 0.01)
ridge_coeff = []
lasso_coeff = []
#reg = LinearRegression(fit_intercept=True).fit(X_poly, y)
ridge_coeff = np.array(ridge_coeff)
lasso_coeff = np.array(lasso_coeff)
for n in range(2):
axs[0,n].set_xlabel(r"$\alpha$")
axs[0,n].set_ylabel(r"$A_n$")
axs[1,n].set_xlabel(r"$\alpha$")
axs[1,n].set_ylabel(r"Число ненулевых $A_n$")
for n in range(N+1):
axs[0,0].plot(alphas, ridge_coeff[:, n], label='n=%i' %n)
axs[0,1].plot(alphas, lasso_coeff[:, n], label='n=%i' %n)
66
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
axs[1,0].plot(alphas, np.sum(abs(ridge_coeff)>1e-
5, axis=1), label='n=%i' %n)
axs[1,1].plot(alphas, np.sum(abs(lasso_coeff)>1e-
5, axis=1), label='n=%i' %n)
axs[0,0].legend(loc='upper right')
axs[0,1].legend(loc='upper right')
plt.rcParams.update({'font.size': 18})
plt.show()
67
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
Примеры задач
• Сравнение последовательностей символов (текст, ДНК и т.д.)
• Сравнение объектов по фотографиям
• Выделение групп людей на основе графа связей в социальных сетях
• Распознавание рукописного текста с помощью анализа траектории пера
Расстояния между объектами. Классификация объектов по соседям
Расстояние между объектами
Для объектов 𝑥⃗𝑗 ∈ 𝕏 вводится функция расстояния 𝜌(𝑥⃗1 , 𝑥⃗2 ) ≥ 0.
Выполнение неравенства треугольника 𝜌(𝑥⃗1 , 𝑥⃗2 ) + 𝜌(𝑥⃗2 , 𝑥⃗3 ) ≥ 𝜌(𝑥⃗1 , 𝑥⃗3 ) не
обязательно.
Гипотеза: если расстояние между объектами мало, то
• в задачах классификации близкие объекты относятся к одному классу;
• в задачах регрессии значения целевого признака у этих объектов близки.
1 случай
По условию задачи известны расстояния между всеми объектами 𝜌(𝑥⃗𝑖 , 𝑥⃗𝑗 ).
2 случай
По условию задачи объекты заданы своими признаками 𝑥⃗.
Тогда расстояние определяется согласно обобщенной метрике Минковского:
𝑛 1⁄𝑃
𝑃
𝜌𝑃 (𝑥⃗𝑖 , 𝑥⃗𝑗 , 𝜃⃗) = (∑ 𝜃𝑘 |𝑥𝑖,𝑘 − 𝑥𝑗,𝑘 | )
𝑘=1
Классификация объектов по соседям
1. Для выбранного 𝑥⃗ расстояния сортируются
по возрастанию: 𝜌(𝑥⃗, 𝑥⃗𝑖 ) ≤ 𝜌(𝑥⃗, 𝑥⃗𝑖+1 )
2. Определяется “близость” 𝜚(𝑥⃗, 𝑦) объекта 𝑥⃗ к
классу 𝑦 Рисунок 5.1 Классификация
3. 𝑎(𝑥⃗) = arg max 𝜚(𝑥⃗, 𝑦) объектов по соседям
𝑦
Метод k ближайших соседей (kNN)
1. Для выбранного 𝑥⃗ расстояния сортируются по возрастанию: 𝜌(𝑥⃗, 𝑥⃗𝑖 ) ≤
𝜌(𝑥⃗, 𝑥⃗𝑖+1 )
2. Близость объекта 𝑥⃗ к классу 𝑦 : 𝜚(𝑥⃗, 𝑦) = ∑𝑘𝑖=1[𝑦𝑖 = 𝑦]
3. 𝑎(𝑥⃗) = arg max 𝜚(𝑥⃗, 𝑦)
𝑦
Преимущества:
• Не нужно обучать (lazylearning)
Недостатки:
• Не учитываются расстояния
• Возможно неоднозначное определение класса
68
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
69
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
70
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
2
𝐾𝑔𝑎𝑢𝑠𝑠 (𝜌) = 𝑒 −2𝜌
71
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
72
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
73
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
Сравнение методов
• Пороговая классификация
𝐿
1
∑[𝑀𝑖 < 0] → 𝑚𝑖𝑛
𝐿 ⃗𝜃⃗
𝑖=1
• Логистическая регрессия
Рисунок 6.3 Сравнение методов
74
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
𝐿
1
∑ log 2 (1 + 𝑒 −𝑀𝑖 ) → 𝑚𝑖𝑛
𝐿 ⃗𝜃⃗
𝑖=1
Условия Каруша-Куна-Таккера
Задача условной минимизации
𝑓(𝑥) → min;
{𝑔𝑖 (𝑥) ≤ 0, 𝑖 = 1,2, … , 𝑚;
ℎ𝑗 (𝑥) = 0, 𝑗 = 1,2, … , 𝑘.
Вводится функция Лагранжа
𝑚 𝑘
75
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
𝐿
𝜕𝐿
= 0; ⟹ 𝜃⃗ = ∑ 𝜇𝑖 𝑦𝑖 𝑥⃗𝑖
𝜕𝜃⃗ 𝑖=1
𝐿
𝜕𝐿
= 0; ⟹ ∑ 𝜇𝑖 𝑦𝑖 = 0;
𝜕𝜃⃗0 𝑖=1
𝜕𝐿
= 0; ⟹ 𝜇𝑖 + 𝜈𝑖 = 𝐶
𝜕𝜖⃗
𝜖𝑖 ≥ 0; 𝜇𝑖 ≥ 0; 𝜈𝑖 ≥ 0;
𝜇𝑖 (1 − 𝜖𝑖 − 𝑀𝑖 ) = 0;
{ 𝜈𝑖 𝜖𝑖 = 0.
Опорные и не опорные объекты. Двойственная задача, её решение
𝐿
𝜃⃗ = ∑ 𝜇𝑖 𝑦𝑖 𝑥⃗𝑖
𝑖=1
𝐿
∑ 𝜇𝑖 𝑦𝑖 = 0;
𝑖=1
𝜇𝑖 + 𝜈𝑖 = 𝐶;
𝜖𝑖 ≥ 0; 𝜇𝑖 ≥ 0; 𝜈𝑖 ≥ 0;
𝜇𝑖 (1 − 𝜖𝑖 − 𝑀𝑖 ) = 0;
{ 𝜈𝑖 𝜖𝑖 = 0.
• Если 𝜇𝑖 = 0, то
𝜈𝑖 = 𝐶;
𝜖𝑖 = 0;
{ 𝑀𝑖 ≥ 1;
𝜃⃗ не зависит от 𝑖 − го объекта
Это не опорный объект, лежащий в глубине своего класса
• Если 0 < 𝜇𝑖 < 𝐶, то
𝜈𝑖 = 𝐶 − 𝜇𝑖 > 0;
𝜖𝑖 = 0;
{ 𝑀𝑖 = 1;
𝜃⃗ зависит от 𝑖 − го объекта
Это опорный граничный объект
• Если 𝜇𝑖 = 𝐶, то
𝜈𝑖 = 0;
𝜖𝑖 > 0;
{ 𝑀𝑖 = 1 − 𝜖𝑖 ;
𝜃⃗ зависит от 𝑖 − го объекта
Это опорный объект, лежащий в глубине чужого класса или внутри разделяющей
полосы.
76
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
2 𝐿 𝐿
1
𝐿(𝜃⃗, 𝜃0 , 𝜖⃗, 𝜇⃗, 𝜆⃗) = ‖𝜃⃗‖ − ∑ 𝜇𝑖 ((𝑥
⃗⃗⃗⃗; ⃗
𝑖 𝜃 )𝑦𝑖 − 𝜃0 𝑦𝑖 − 1) − ∑ 𝜖𝑖 (𝜇𝑖 + 𝜈𝑖 − 𝐶)
2
𝑖=1 𝑖=1
𝐿 𝐿
𝜃⃗ = ∑ 𝜇𝑖 𝑦𝑖 𝑥⃗𝑖 ; ∑ 𝜇𝑖 𝑦𝑖 = 0; 𝜇𝑖 + 𝜈𝑖 = 𝐶;
{
𝑖=1 𝑖=1
𝜖𝑖 ≥ 0; 𝜇𝑖 ≥ 0; 𝜈𝑖 ≥ 0; 𝜇𝑖 (1 − 𝜖𝑖 − 𝑀𝑖 ) = 0; 𝜈𝑖 𝜖𝑖 = 0.
𝐿 𝐿
1
−𝐿(𝜇⃗) = ∑ 𝜇𝑖 𝜇𝑗 𝑦𝑖 𝑦𝑗 (𝑥⃗𝑖 ; 𝑥⃗𝑗 ) − ∑ 𝜇𝑖 → min
2
𝑖,𝑗=1 𝑖=1
𝐿
∑ 𝜇𝑖 𝑦𝑖 = 0;
𝑖=1
{ 0 ≤ 𝜇𝑖 ≤ 𝐶
Решение задачи методом опорных векторов
1. Постановка двойственной задачи относительно 𝜇⃗
𝐿 𝐿
1
−𝐿(𝜇⃗) = ∑ 𝜇𝑖 𝜇𝑗 𝑦𝑖 𝑦𝑗 (𝑥⃗𝑖 ; 𝑥⃗𝑗 ) − ∑ 𝜇𝑖 → min
2
𝑖,𝑗=1 𝑖=1
𝐿
77
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
78
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
Рисунок 6.5 Полиномиальное ядро: 𝐾𝑝𝑜𝑙𝑦 (𝑥⃗1 ; 𝑥⃗2 ) = (𝛾(𝑥⃗1 ; 𝑥⃗2 ) + 𝑟)𝑑
79
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
80
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
Исходная задача
2 𝑙
1
⃗
‖𝜃‖ + 𝐶 ∑(𝜁𝑖 + 𝜁𝑖′ ) → min;
2
𝑖=1
−𝜖 − ≤ 𝑦𝑖 − (𝜃⃗, 𝑥⃗) − 𝜃0 ≤ 𝜖 + 𝜁𝑖 ;
𝜁𝑖′
{ 𝜁𝑖 ≥ 0; 𝜁𝑖′ ≥ 0.
Для нее ставится и решается двойственная задача
𝐿
1
∑ (𝜇𝑖 − 𝜇𝑖′ )(𝜇𝑗 − 𝜇𝑗′ )𝑦𝑖 𝑦𝑗 (𝑥⃗𝑖 ; 𝑥⃗𝑗 ) + 𝜖(𝜇𝑖 + 𝜇𝑖′ ) − (𝑦⃗, 𝜇𝑖 − 𝜇𝑖′ ) → min
2
𝑖,𝑗=1
𝐿
81
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
82
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
83
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
84
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
𝑗=1
𝑇
Сингулярное разложение: 𝒳[𝐿×𝑛] = 𝑉𝐷𝑈 .
Псевдообратная матрица
+ 1
𝒳[𝑛×𝐿] = 𝑈𝐷−1 ∙ 𝑉 𝑇 = ∑𝑛𝑗=1 ⃗⃗𝑗 𝑣⃗𝑗𝑇 – неустойчива.
𝑢
√𝜆𝑗
Аппроксимация:
(𝒳𝜃⃗0 )[𝐿] = 𝑉𝑉 𝑇 𝑦⃗ = ∑𝑛𝑗=1 𝑣⃗𝑗 (𝑣⃗𝑗𝑇 𝑦⃗) – устойчива.
Проблема мультиколлинеарности: комбинация почти линейно зависимых
признаков приводит к существованию малых собственных значений 𝜆𝑖 .
Следствия: неустойчивость, рост ‖𝜃⃗0 ‖, переобучение.
Методы борьбы с мультиколлинеарностью
• Регуляризация (например, ridgeрегрессия).
• Отбор независимых признаков (например, LASSOрегрессия).
• Переход к новому пространству независимых признаков.
Линейное преобразование признаков. Метод главных компонент
Преобразование без потери информации:
85
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
𝒳[𝐿×𝑛] = ⏞𝑉 ⏞
𝑈 𝑇 [𝑛×𝑛]
⏟[𝐿×𝑛] ∙ 𝐷
⏟[𝑛×𝑛] ∙
⃗⃗1 ,𝑣
{𝑣 ⃗⃗2 ,…,𝑣
⃗⃗𝑛 } √𝜆1 0 ⋯ 0
0 √𝜆2 ⋮ 0
⋮ ⋮ ⋱ ⋮
( 0 0 ⋯ √𝜆𝑛 )
Преобразование с потерей информации:
• 𝜆′𝑖 = 𝜆𝑖 [𝑖 ≤ 𝑚] – выбираются m наибольших собственных значений
𝐷′[𝑛×𝑛] = diag(𝜆′1 , 𝜆′2 , … , 𝜆′𝑛 ); 𝒳′[𝐿×𝑛] = 𝑉[𝐿×𝑛] 𝐷′[𝑛×𝑛] 𝑈 𝑇 [𝑛×𝑛]
• 𝒳′[𝐿×𝑛] ≈ 𝒳[𝐿×𝑛]
Метод главных компонент
• Для матрицы 𝒳[𝐿×𝑛] строится матрица (𝒳 𝑇 𝒳)[𝑛×𝑛]
• У нее отбираются m наибольших собственных значений 𝜆1 , … , 𝜆𝑚
• Соответствующие собственные векторы формируют матрицу 𝑈[𝑛×𝑚]
• U – матрица перехода между n-мерным и m-мерным признаковыми
пространствами. Новые признаки вычисляются как 𝐺[𝐿×𝑚] = 𝒳𝑈
• Матрица U ортонормирована: 𝑈 𝑇 𝑈 = 𝐼[𝑚×𝑚]
• 𝒳 ≈ 𝐺𝑈 𝑇
86
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
𝐾
1
𝑄𝑣𝑎𝑙 (𝜃⃗) = ∑ ℒ(𝑓(𝑥⃗𝑖 ; 𝜃⃗ ), 𝑥⃗𝑖 , 𝑦𝑖 ) → 𝑚𝑖𝑛
𝐾 ⃗𝜃⃗
𝑖=1
𝐿
2
𝑄(𝜃⃗) = ∑(𝑓(𝑥⃗𝑖 ; 𝜃⃗) − 𝑦𝑖 ) → 𝑚𝑖𝑛
⃗⃗
𝜃
𝑖=1
1. Инициализация начальных значений параметров 𝜃⃗
2. Цикл, пока 𝜃⃗ и 𝑄 не сошлись к определенным значениям:
a. Линейное приближение функции 𝑓(𝑥⃗𝑖 ; 𝜃⃗)
̂ ̂ ̂
𝑓(𝑥⃗𝑖 ; 𝜃⃗) ≈ 𝑓 (𝑥⃗𝑖 ; 𝜃⃗0 ) + ∇⃗𝜃⃗ 𝑓 (𝑥⃗𝑖 ; 𝜃⃗) (𝜃⃗ − 𝜃⃗)
̂⃗ ̂⃗ ̂⃗ ̂⃗ ⃗
=𝑓
⏟(𝑥⃗𝑖 ; 𝜃 ) − ∇⃗𝜃⃗ 𝑓 (𝑥⃗𝑖 ; 𝜃) 𝜃 + ∇
⏟⃗𝜃⃗ 𝑓 (𝑥⃗𝑖 ; 𝜃) 𝜃 =
⃗̂⃗)
𝛼(𝑥⃗𝑖 ;𝜃 ⃗̂⃗)
𝛽(𝑥⃗𝑖 ;𝜃
̂ ̂
= 𝛼 (𝑥⃗𝑖 ; 𝜃⃗) + 𝛽 (𝑥⃗𝑖 ; 𝜃⃗) 𝜃⃗
̂
b. Решение задачи линейной регрессии и обновление оценки 𝜃⃗
𝐿 2
̂ ̂
𝑄(𝜃⃗) = ∑ [𝛽 (𝑥⃗𝑖 ; 𝜃⃗ ) 𝜃⃗ − (𝑦𝑖 − 𝛼 (𝑥⃗𝑖 ; 𝜃⃗))] → 𝑚𝑖𝑛
⃗𝜃⃗
𝑖=1
Минимизации функционала качества. Методы 1, 2 порядка
МЕТОДЫ 1 ПОРЯДКА
Метод градиентного спуска
𝐿
87
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
𝑄̂ = 𝜆ℒ (𝑛)
+ (1 − 𝜆)𝜆ℒ (𝑛−1)
+ (1 − 𝜆)2 𝜆ℒ (𝑛−2)
+ ⋯ = 𝜆 ∑(1 − 𝜆)𝑘 ℒ (𝑛−𝑘)
𝑘=0
Метод стохастического усредненного градиентного спуска (Stochastic Avegare
Gradient)
Идея: усреднить градиент по большому числу итераций
1. Выбирается значение скоростей обучения lr и забывания λ
2. Инициализация начальных значений параметров 𝜃⃗
3. Сохраняется оценка всех градиентов 𝐺⃗𝑖 = ∇𝜃⃗⃗ ℒ(𝜃⃗, 𝑥⃗𝑖 , 𝑦𝑖 )
4. Делается начальная оценка функционала 𝑄̂ ≔ 𝑄(𝜃⃗ )
5. Цикл, пока 𝜃⃗ и 𝑄̂ не сошлись к определенным значениям:
a. Выбирается произвольный объект 𝑥⃗𝑖
b. Вычисляется и обновляется градиент 𝐺⃗𝑖 = ∇⃗⃗ ℒ(𝜃⃗, 𝑥⃗𝑖 , 𝑦𝑖 ) 𝜃
1
c. Обновляются значения параметров 𝜃⃗ ≔ 𝜃⃗ − 𝑙𝑟 ∙ 𝐿 ∑𝐿𝑖=1 𝐺⃗𝑖
Из суммы вычитывается старое значение 𝐺⃗𝑖 и добавляется новое
d. Обновляется значение функционала 𝑄̂ ≔ (1 − 𝜆)𝑄̂ + 𝜆ℒ(𝜃⃗, 𝑥⃗𝑖 , 𝑦𝑖 )
Метод импульса (Momentum)
Идея: применить к градиенту экспоненциальное скользящее среднее.
Аналогия – шарик, катящийся по поверхности с вязким трением.
1. Выбирается значение скоростей обучения lr и забывания λ; μ
2. Инициализация начальных значений параметров 𝜃⃗
3. Делается начальная оценка функционала 𝑄̂ ≔ 𝑄(𝜃⃗ ) и импульса 𝑃⃗⃗ = 0
4. Цикл, пока 𝜃⃗ и 𝑄̂ не сошлись к определенным значениям:
a. Выбирается произвольный объект 𝑥⃗𝑖
b. Обновляется значение импульса 𝑃⃗⃗ ≔ (1 − 𝜇)𝑃⃗⃗ + 𝜇𝛻⃗⃗ ℒ(𝜃⃗, 𝑥⃗𝑖 , 𝑦𝑖 )
𝜃
c. Обновляются значения параметров 𝜃⃗ ≔ 𝜃⃗ − 𝑙𝑟 ∙ 𝑃⃗⃗
d. Обновляется значение функционала 𝑄̂ ≔ (1 − 𝜆)𝑄̂ + 𝜆ℒ(𝜃⃗, 𝑥⃗𝑖 , 𝑦𝑖 )
Метод Нестерова (Nesterov Accelerated Gradient)
Идея: вычислять градиент не в “текущей”, а в “следующей” точке
1. Выбирается значение скоростей обучения lr и забывания λ; μ
2. Инициализация начальных значений параметров 𝜃⃗
3. Делается начальная оценка функционала 𝑄̂ ≔ 𝑄(𝜃⃗ ) и импульса 𝑃⃗⃗ = 0
4. Цикл, пока 𝜃⃗ и 𝑄̂ не сошлись к определенным значениям:
a. Выбирается произвольный объект 𝑥⃗𝑖
88
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
89
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
МЕТОДЫ 2 ПОРЯДКА
Метод касательных (Ньютона-Рафсона)
90
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
Задача: найти решение уравнения 𝑓(𝑥) = 0 на отрезке [𝑎; 𝑏], если оно
существует, единственно, и существует непрерывная на [𝑎; 𝑏] производная 𝑓′(𝑥), не
равная 0.
• Пусть 𝑓(𝑥̂) = 0, тогда 𝑓 (𝑥 (𝑘) + (𝑥̂ − 𝑥 (𝑘) )) = 0
• По формуле Лагранжа ∃𝑥̃ ≔ 𝑓(𝑥 (𝑘) ) + 𝑓′(𝑥)(𝑥̂ − 𝑥 (𝑘) ) = 0
• Если положить 𝑥̃ ≔ 𝑥 (𝑘) и 𝑥̂ = 𝑥 (𝑘+1) , получается формула итерационного
процесса: 𝑓(𝑥 (𝑘) ) + 𝑓′(𝑥 (𝑘) )(𝑥 (𝑘+1) − 𝑥 (𝑘) ) = 0
𝑓(𝑥 (𝑘) )
• 𝑥 (𝑘+1) = 𝑥 (𝑘) − 𝑓′(𝑥 (𝑘+1) )
Метод Ньютона-Рафсона
𝜕 2 ℒ(𝜃⃗, 𝑥⃗𝑖 , 𝑦𝑖 )
𝜃⃗ ≔ 𝜃⃗ − 𝑙𝑟 ∙ 𝐻 −1 ∙ 𝛻⃗𝜃⃗ ℒ(𝜃⃗, 𝑥⃗𝑖 , 𝑦𝑖 ), 𝐻𝑝𝑞 = – гессиан
𝜕𝜃𝑝 𝜕𝜃𝑞
Диагональный метод Левенберга-Марквардта
−1
𝜕 2 ℒ(𝜃⃗, 𝑥⃗𝑖 , 𝑦𝑖 ) 𝜕ℒ(𝜃⃗, 𝑥⃗𝑖 , 𝑦𝑖 )
𝜃𝑗 ≔ 𝜃𝑗 − 𝑙𝑟 ∙ (𝜇 + ) ∙
𝜕𝜃𝑗2 𝜕𝜃𝑗
• Можно положить lr = 1 и оптимизировать только µ
• Вдали от минимума скорость обучения будет lr/µ
91
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
0
Правильное необнаружение Пропуск цели
92
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
Точность (precision)
Задача типа поиска:
TN – заведомо большое число
Доля релевантных ответов среди выбранных
𝑇𝑃
𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 =
𝑇𝑃 + 𝐹𝑃
Недостатки: отбирается только часть релевантных
объектов
Полнота (recall)
Задача типа поиска:
TN – заведомо большое число
Доля выбранных ответов среди релевантных
𝑇𝑃
𝑅𝑒𝑐𝑎𝑙𝑙 =
𝑇𝑃 + 𝐹𝑁
Недостатки: среди отобранных объектов может быть
много ошибок
2 ∙ 𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 ∙ 𝑅𝑒𝑐𝑎𝑙𝑙 Рисунок 8.2 Precision and recall
𝐹1 =
𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 + 𝑅𝑒𝑐𝑎𝑙𝑙
(1 + 𝛽 2 ) ∙ 𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 ∙ 𝑅𝑒𝑐𝑎𝑙𝑙
𝐹𝛽 =
𝛽 2 ∙ 𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 + 𝑅𝑒𝑐𝑎𝑙𝑙
Чувствительность и специфичность (sensitivity and
specificity)
Задача с несбалансированными классами
Доля верных положительных диагнозов
𝑇𝑃
𝑆𝑒𝑛𝑠𝑖𝑡𝑖𝑣𝑖𝑡𝑦 = 𝑅𝑒𝑐𝑎𝑙𝑙 =
𝑇𝑃 + 𝐹𝑁
Доля верных отрицательных диагнозов
𝑇𝑃
𝑆𝑝𝑒𝑐𝑖𝑓𝑖𝑐𝑖𝑡𝑦 =
𝑇𝑃 + 𝐹𝑃
Обобщение на мультиклассовый случай
Усреднение 1 типа (классы сбалансированы):
∑𝑠𝑗=1 𝑇𝑃𝑗
𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 = 𝑠
∑𝑗=1(𝑇𝑃𝑗 + 𝐹𝑃𝑗 )
Рисунок 8.3 Sensitivity and specificity
Усреднение 2 типа (классы не сбалансированы):
𝑠
1 𝑇𝑃𝑗
𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 = ∑
𝑠 𝑇𝑃𝑗 + 𝐹𝑃𝑗
𝑗=1
ROC-кривая (receiver operating characteristic)
• Пусть алгоритм 𝑎(𝑥⃗, 𝜃⃗) = 𝑠𝑔𝑛(𝑓(𝑥⃗, 𝜃⃗) − 𝜃0 )
• Порог 𝜃0 изменяется в широких пределах
• Для каждого 𝜃0 определяются
93
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
𝐹𝑃
o 𝐹𝑃𝑅 = 𝐹𝑃+𝑇𝑁 ≡ 1 − 𝑆𝑝𝑒𝑐𝑖𝑓𝑖𝑐𝑖𝑡𝑦 – доля ошибок на классе “–1”;
𝑇𝑃
o 𝑇𝑃𝑅 = 𝑇𝑃+𝐹𝑁 ≡ 𝑆𝑒𝑛𝑠𝑖𝑡𝑖𝑣𝑖𝑡𝑦 – доля ошибок на классе “+1”.
• Вычисляется AUC
• ROC-кривая не зависит от числа объектов
Log-loss
Модель классификации оценивает вероятность принадлежности к каждому
классу.
Критерий – логарифм правдоподобия:
𝐿
𝐿(𝜃⃗) = ∑ ([𝑦𝑖 = +1] ln 𝑓(𝑥⃗, 𝜃⃗) + [𝑦𝑖 = −1] ln (1 − 𝑓(𝑥⃗, 𝜃⃗))) → max
⃗𝜃⃗
𝑖=1
Генерация семейств правил. Синтез правил на основе выбранных семейств
Задачи линейной регрессии и классификации
94
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
[∑ 𝑥𝑗 𝜃𝑗 ≥ 𝜃0 ]
𝑗∈𝕁
Сложные правила
• Объединение правил ⋂𝑗∈𝕁[𝑎𝑗 ≤ 𝑥𝑗 ≤ 𝑏𝑗 ]
• “Синдром” ∑𝑗∈𝕁[𝑎𝑗 ≤ 𝑥𝑗 ≤ 𝑏𝑗 ] ≥ 𝑐
o 𝑐 = 1 ⇒ ⋃𝑗∈𝕁[𝑎𝑗 ≤ 𝑥𝑗 ≤ 𝑏𝑗 ]
o 𝑐 = |𝐽| ⇒ ⋂𝑗∈𝕁[𝑎𝑗 ≤ 𝑥𝑗 ≤ 𝑏𝑗 ]
Часто полагают |J| равным 3 для простоты подбора.
Синтез правил на основе выбранных семейств
1. Генерируется исходный набор правил.
2. Правила немного модифицируются (параметры a, b, c, вектор 𝑥⃗0, наборы
признаков J).
3. Новый и исходный наборы правил объединяются, и при необходимости
удаляются повторы.
4. Выбор наиболее информативных правил для следующего шага.
Критерии информативности правил
• P(R) – число правильно отобранных правилом объектов
• N(R) – число неверно отобранных правилом объектов
Хотелось бы, чтобы 𝑃(𝑅) → 𝑚𝑎𝑥 ; 𝑁(𝑅) → 𝑚𝑖𝑛
Парето-расслоение
Парето-слой – набор неулучшаемых правил
95
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
96
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
𝑠 𝑠 𝑠
1 1
𝐻(𝑝⃗) = − ∑ 𝑝𝑗 log 𝑠 𝑝𝑗 = − ∑ 𝑁𝑗 log 𝑠 𝑝𝑗 = − ∑[𝑦(𝑥⃗𝑗 ) = 𝑗] log 𝑠 𝑝𝑗
𝐿 𝐿
𝑗=1 𝑗=1 𝑗=1
1
= − ∑ ∑ [𝑦(𝑥⃗) = 𝑗] log 𝑠 𝑝𝑗
𝐿
𝑘 𝑥⃗∈𝒳𝑘
𝐿𝑘 1 𝐿𝑘
/ 𝑝𝑗 = 𝑝𝑗𝑘 /→ ∑ (− ∑ [𝑦(𝑥⃗) = 𝑗] log 𝑠 𝑝𝑗𝑘 ) = ∑ 𝐻(𝑝⃗𝑘 )
𝐿 𝐿𝑘 𝐿
𝑘 𝑥⃗∈𝒳𝑘 𝑘
𝐿𝑘
𝐺𝑎𝑖𝑛 = 𝐻(𝑝⃗) − ∑ 𝐻(𝑝⃗𝑘 )
𝐿
𝑘
Бинарная классификация
До разделения
• в выборке было 𝑝𝐿 объектов класса “+1” и (1 − 𝑝)𝐿 – класса “-1”;
• энтропия 𝐻0 (𝑝) = −𝑝 log 2 𝑝 − (1 − 𝑝) log 2 (1 − 𝑝)
После разделения
• выделено P объектов класса “+1” и N – класса “1”;
• не выделено 𝑝𝐿 − 𝑃 объектов класса “+1” и (1 − 𝑝)𝐿 − 𝑁 – класса “-1”.
𝑃 𝑃 𝐿−𝑃−𝑁 (1 − 𝑝)𝐿 − 𝑁
• энтропия 𝐻(𝑃, 𝑁) = 𝐿 log 2 𝑃+𝑁 + log 2
𝐿 𝐿−𝑃−𝑁
Выигрыш 𝐺𝑎𝑖𝑛 = 𝐻(𝑃, 𝑁) − 𝐻0 (𝑝)
Энтропия и неопределенность Джини
Энтропия: 𝐻(𝑝) = −𝑝 log 2 𝑝 − (1 − 𝑝) log 2 (1 − 𝑝)
Неопределенность Джини: 𝐺𝑖𝑛𝑖 = 4𝑝(1 − 𝑝)
97
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
• Критерий Джини
• 𝐵𝑜𝑜𝑠𝑡𝑖𝑛𝑔 = √𝑝(𝑅) − √𝑛(𝑅)
Решающие деревья
98
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
Пропущенные значения
При обучении объекты с пропущенным значением признака игнорируются
При классификации объектам с пропущенным значением признака в вершине v
приписывается наиболее вероятный класс:
𝑎(𝑥) = arg max 𝑝𝜈,𝑗
𝑗
Дерево классификации и регрессии (Classification And Regression Tree)
1
Критерий 𝑓(𝑟, 𝒳) = 𝐿 ∑(𝑦 − 𝑦𝑗 (𝑥⃗))2
1
Значения в листе усредняются: 𝑦 = 𝐿 ∑ 𝑦𝑖
Итог – кусочно-постоянная функция
Возможные проблемы
• Сильное переобучение из-за жадного алгоритма ветвления.
• Мало объектов в листьях, низкая статистическая значимость.
• Высокая неустойчивость решения.
99
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
Плюсы:
• Высокая точность предсказаний (часто лучше, чем у линейных методов).
• Устойчивость к выбросам.
• Нет чувствительности к масштабированию параметров.
• Хорошо работает практически без подбора параметров.
• Хорошо работает на выборках с большим числом объектов и признаков,
легко распараллеливается.
• “Встроенная” валидация и оценка важности признаков.
Минусы:
• Результат сложно интерпретировать.
• Плохо работает с разреженными данными (хуже, чем линейные методы).
• Нет возможности экстраполяции.
• Склонность к переобучению на зашумленных данных.
Сравнение решающего дерева и KNN
100
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
101
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
102
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
103
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
104
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
𝑎(𝑥⃗) = ∑ 𝛼𝑡 𝑎𝑡 (𝑥⃗)
𝑡=1
• Значения 𝑎𝑡 (𝑥⃗) – это новое признаковое описание объекта.
• Можно подбирать 𝛼𝑡 линейными методами.
• Нужно учитывать ограничения: 𝛼𝑡 > 0; ∑ 𝛼𝑡 = 1
Смесь алгоритмов:
𝑇
105
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
106
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
1 1
• Вероятность выбора каждого объекта 𝑝0 = 𝐿, не выбора 1 − 𝐿 .
• Пусть процесс выбора повторяется 𝐿 раз.
• Тогда вероятность не выбора объекта ни разу равна
1 𝐿 1
(1 − ) → ≈ 37%
𝐿 𝐿→∞ 𝑒
• Не выбранные объекты образуют подвыборку Out-Of-Bag.
По ним можно осуществлять валидацию модели.
Дополнительные возможности OOB-валидации
Оценка OOB на каждом объекте выборки считается только по множеству
алгоритмов 𝑇(𝑥⃗) длиной 𝐿(𝑇(𝑥⃗)), которые на этом объекте не обучались:
1
OOB(𝑥⃗) = ∑ 𝑎𝑗 (𝑥⃗)
𝐿(𝑇(𝑥⃗))
𝑗∈𝑇(𝑥⃗)
Ошибка ансамбля на 𝒳𝑡𝑟𝑎𝑖𝑛 равна:
ℒOOB = ∑ ℒ(OOB(𝑥⃗𝑖 ), 𝑦𝑖 )
𝑥⃗𝑖 ∈𝒳𝑡𝑟𝑎𝑖𝑛
Важность признака:
(𝑗)
ℒ − ℒOOB
Imp𝑗 = OOB
ℒOOB
Рандомный лес – частный случай беггинга
• В качестве базовых алгоритмов используются решающие деревья.
• Такие алгоритмы неустойчивы без регуляризации – то, что нужно!
• Обычно используется 𝑛/3 признаков при классификации и √𝑛 признаков
при регрессии в каждой вершине.
• Могут вводиться ограничения на сложность дерева.
Бустинг. Градиентный бустинг.
Идея: использовать взвешенное голосование алгоритмов, добавляя новые
алгоритмы и подбирая их веса по одному.
Бинарная классификация: каждый алгоритм 𝑎𝑗 (𝑥⃗) возвращает класс ±1 или
отказывается от классификации (возвращает 0).
𝑇
𝑎(𝑥⃗) = ∑ 𝛼𝑡 𝑎𝑡 (𝑥⃗)
𝑡=1
𝐿 𝐿 𝑇
1 1
𝑄𝑇 = ∑[𝑎(𝑥⃗𝑖 )𝑦𝑖 < 0] = ∑ [𝑦𝑖 ∑ 𝛼𝑗 𝑎𝑗 (𝑥⃗𝑖 ) < 0] → min
𝐿 𝐿
𝑖=1 𝑖=1 𝑗=1
Алгоритм адаптивного бустинга (AdaBoost)
[𝑀 < 0] ≤ 𝑒𝑥𝑝(−𝑀)
107
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
𝐿 𝑇 𝐿 𝑇
1 1
𝑄𝑇 = ∑ [𝑦𝑖 ∑ 𝛼𝑗 𝑎𝑗 (𝑥⃗𝑖 ) < 0] ≤ ∑ 𝑒𝑥𝑝 [−𝑦𝑖 ∑ 𝛼𝑗 𝑎𝑗 (𝑥⃗𝑖 )] ≡ 𝑄̃𝑇
𝐿 𝐿
𝑖=1 𝑗=1 𝑖=1 𝑗=1
Пусть первые 𝑇 − 1 алгоритмов 𝑎𝑗 и их веса 𝛼𝑗 уже подобраны.
𝐿 𝑇−1 𝐿
1
𝑄̃𝑇 = ∑ 𝑒𝑥𝑝 [−𝑦𝑖 ∑ 𝛼𝑗 𝑎𝑗 (𝑥⃗𝑖 )] 𝑒 −𝛼𝑇 ∙𝑦𝑖𝑎𝑇 (𝑥⃗𝑖) = ∑ 𝑤𝑖 𝑒 −𝛼𝑇 ∙𝑦𝑖 𝑎𝑇 (𝑥⃗𝑖 )
𝐿
𝑖=1 ⏟ 𝑗=1 𝑖=1
𝑤𝑖
𝐿 𝐿
−𝛼𝑇 𝛼𝑇
=𝑒 ∑ 𝑤𝑖 [𝑦𝑖 𝑎 𝑇 (𝑥⃗) = 1] + 𝑒 ∑ 𝑤𝑖 [𝑦𝑖 𝑎 𝑇 (𝑥⃗) = −1]
⏟
𝑖=1 ⏟
𝑖=1
𝑃𝑤 𝑁𝑤
𝐿
+ ∑ 𝑤𝑖 [𝑦𝑖 𝑎 𝑇 (𝑥⃗) = 0]
⏟
𝑖=1
𝑍𝑤
𝐿 𝐿 𝑇−1
1
𝑃𝑤 + 𝑁𝑤 + 𝑍𝑤 = ∑ 𝑤𝑖 = ∑ 𝑒𝑥𝑝 [−𝑦𝑖 ∑ 𝛼𝑗 𝑎𝑗 (𝑥⃗𝑖 )] = 𝑄̃𝑇−1
𝐿
𝑖=1 𝑖=1 𝑗=1
108
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
𝐴: [𝑀 < 0] – пороговая
𝐵: (1 − 𝑀)+ – SVM
𝐶: 𝑒 −𝑀 – экспоненциальная (AdaBoost)
𝐷: (1 − 𝑀)2 – квадратичная (GentleBoost)
𝐸: 𝑙𝑜𝑔2 (1 + 𝑒 −𝑀 ) – логарифмическая
(LogitBoost)
𝐹: exp(−𝑐𝑀(𝑀 + 𝑠)) – гауссовская
(BrownBoost)
𝑇 𝐿
1
𝑎(𝑥⃗) = ∑ 𝛼𝑗 𝑎𝑗 (𝑥⃗) ; 𝑄𝑇 = ∑ ℒ(𝑎(𝑥⃗𝑖 ), 𝑥⃗𝑖 , 𝑦𝑖 )
𝐿
𝑗=1 𝑖=1
𝐿 𝑇−1
1
𝑄𝑇 = ∑ ℒ ∑ 𝛼𝑗 𝑎𝑗 (𝑥⃗𝑖 ) + 𝛼 𝑇 𝑎 𝑇 (𝑥⃗𝑖 ), 𝑥⃗𝑖 , 𝑦𝑖 → min
𝐿
𝑖=1 ⏟
𝑗=1
( 𝑠𝑇−1,𝑖 )
Вычисляется градиент
𝑔⃗𝑇 = ∇𝑎 ℒ(𝑎(𝑥⃗𝑖 ), 𝑥⃗𝑖 , 𝑦𝑖 )
Подбирается алгоритм
𝐿
109
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
110
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
𝑎(𝑥⃗) = ∑ 𝑔𝑡 (𝑥⃗, 𝑣⃗𝑡 )𝑎𝑡 (𝑥⃗, 𝜃⃗𝑡 ) Рисунок 9.6 Смесь алгоритмов (Mixture
𝑡=1 of Experts)
111
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
112
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
Рисунок 10.1 Различные типы нейронов Рисунок 10.2 Модель нейрона Мак-Каллока-
Питтса
https://en.wikipedia.org/wiki/Neuron 𝑎(𝑥⃗) = 𝜑(∑ 𝑥𝑖 𝜃𝑖 )
Ограниченность единственного нейрона
Бинарный классификатор: 𝑎(𝑥⃗) = sgn(∑ 𝑥𝑖 𝜃𝑖 )
• Может описать дизъюнкцию: 𝑥 ∨ 𝑦 = [𝑥 + 𝑦 − 1/2 > 0].
• Может описать конъюнкцию: 𝑥 ∧ 𝑦 = [𝑥 + 𝑦 − 3/2 > 0].
• Может описать отрицание: ¬𝑥 = [−𝑥 + 1/2 > 0].
• Не может описать исключающее ИЛИ.
Можно ввести нелинейность: XOR(𝑥, 𝑦) = [𝑥 + 𝑦 − 2𝑥𝑦 − 1/2 > 0].
Можно ввести 2 слой: XOR(𝑥, 𝑦) = [𝑥 ∨ 𝑦 − 𝑥 ∧ 𝑦 − 1/2 > 0].
113
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
114
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
Тогда 𝜖𝑙,𝑗 = 𝑎𝑗 − 𝑦𝑗 = 𝜖𝑙,𝑗 имеет смысл ошибки j-го нейрона ℓ-го слоя.
𝜑𝑙−1,𝑖 – значение, выданное предыдущим слой.
Произвольный слой
Градиент:
𝜕ℒ 𝜕ℒ 𝜕𝜑ℎ,𝑗 ′
= = (𝜖ℎ,𝑗 ∙ 𝜑ℎ,𝑗 ) ∙ 𝜑ℎ−1,𝑖
𝜕𝜃ℎ,𝑖𝑗 𝜕𝜑ℎ,𝑗 𝜕𝜃ℎ,𝑖𝑗
115
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
116
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
117
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
118
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
119
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
120
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
121
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
122
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
123
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
124
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
Лекция №11. Нейронные сети для распознавания цифр. Задачи обучения без
учителя. Часть 1
Нейронные сети для распознавания цифр
Jupyter notebook “Нейронные сети для распознавания цифр”:
https://colab.research.google.com/drive/1wq-_4AZoAyPecesseJd7d1r0RsNW7dJi
1. Загрузка и предварительная обработка данных
За основу берется набор данных SVHN - это фотографии номеров домов на
улицах. Требуется распознавать цифры на них.
import numpy as np
import scipy.io as io
import os
import matplotlib.pyplot as plt
import warnings
!mkdir data
!wget -
c http://ufldl.stanford.edu/housenumbers/train_32x32.mat http:
//ufldl.stanford.edu/housenumbers/test_32x32.mat -P data
125
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
np.random.seed(seed)
samples = np.random.choice(np.arange(X.shape[0]),
max_samples,
replace=False)
images_in_column = 5
126
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
cl_train_X = train_X.reshape((train_X.shape[0],-1))
cl_test_X = test_X.reshape((test_X.shape[0],-1))
cl_train_X = (cl_train_X-
np.mean(cl_train_X))/np.std(cl_train_X)
cl_test_X = (cl_test_X -np.mean(cl_test_X))/np.std(cl_test_X)
def get_classifier_f1(classifier):
results = []
for selected_class in range(10):
# Обучение классификатора
classifier.fit(cl_train_X, train_y==selected_class)
results.append(f1_score(predictions, test_y==selected_cl
ass))
return results
classifiers = {
"Linear" : LogisticRegression(),
"Ridge" : RidgeClassifier(),
"l1" : None,
"KNN(1)" : KNeighborsClassifier(n_neighbors=1),
"KNN(2)" : KNeighborsClassifier(n_neighbors=2),
127
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
"KNN(3)" : KNeighborsClassifier(n_neighbors=3),
"KNN(4)" : KNeighborsClassifier(n_neighbors=4),
"KNN(5)" : KNeighborsClassifier(n_neighbors=5),
"l2" : None,
"DT(default)" : DecisionTreeClassifier(random_state=0),
"DT(depth=4)" : DecisionTreeClassifier(random_state=0, max
_depth=4),
"DT(depth=6)" : DecisionTreeClassifier(random_state=0, max
_depth=6),
"DT(leaf=4)" : DecisionTreeClassifier(random_state=0, min
_samples_leaf=4),
"DT(leaf=10)" : DecisionTreeClassifier(random_state=0, min
_samples_leaf=10),
"l3" : None,
"l4" : None,
"RF(default)" : RandomForestClassifier(random_state=0),
"RF(depth=4)" : RandomForestClassifier(random_state=0, max
_depth=4),
"RF(depth=6)" : RandomForestClassifier(random_state=0, max
_depth=6),
"RF(leaf=4)" : RandomForestClassifier(random_state=0, min
_samples_leaf=4),
"RF(leaf=10)" : RandomForestClassifier(random_state=0, min
_samples_leaf=10),
"l5" : None,
"AdaBoost" : AdaBoostClassifier(),
"GBG" : GradientBoostingClassifier(),
"XGB" : XGBClassifier(),
}
128
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
np.seterr(all="ignore")
129
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
# Создаются 'семплеры'
train_sampler = SubsetRandomSampler(train_indices)
val_sampler = SubsetRandomSampler(val_indices)
130
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
train_history = []
val_history = []
loss_accum = 0
correct_samples = 0
total_samples = 0
# Прямой проход:
# 1. вычисляем предсказание для каждого объекта (н
а самом деле - это сразу целый пакет)
prediction = model(x_gpu)
# 2. Вычисляем функцию ошибки
loss_value = loss(prediction, y_gpu)
# Обратный проход:
# 1. Сбрасываем значение градиентов
optimizer.zero_grad()
# 2. Вычисляем новые значения градиентов
loss_value.backward()
# 3. Обновляем параметры
optimizer.step()
loss_accum += loss_value
131
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
loss_history.append(float(average_loss))
train_history.append(train_accuracy)
val_history.append(val_accuracy)
return correct_samples/total_samples
И еще функция, которая выдает f1-метрику для каждого класса, плюс среднюю
f1-метрику по всем классам
test_loader = torch.utils.data.DataLoader(data_test, batch_siz
e=batch_size)
correct_results = np.array([])
model_results = np.array([])
correct_samples = 0
total_samples = 0
132
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
correct_results = np.append(correct_results, y)
model_results = np.append(model_results, pred.to(cpu))
results = [0]*10
for n in range(10):
results[n] = f1_score(correct_results==n, model_results=
=n)
133
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
nn_model.type(torch.FloatTensor)
loss = nn.CrossEntropyLoss().type(torch.FloatTensor)
optimizer = optim.SGD(nn_model.parameters(), lr=1e-
2, weight_decay=1e-1)
get_nn_f1(nn_model, cpu)
nn_model = nn.Sequential(
Flattener(),
nn.Linear(3*32*32, 100),
nn.ReLU(inplace=True),
nn.Linear(100, 10),
)
nn_model.type(model_type)
nn_model.to(cuda)
loss = nn.CrossEntropyLoss().type(model_type)
optimizer = optim.SGD(nn_model.parameters(), lr=1e-
2, weight_decay=1e-1)
get_nn_f1(nn_model, cuda)
Усложним модель, добавив скрытый слой
nn_model = nn.Sequential(
Flattener(),
nn.Linear(3*32*32, 100),
nn.ReLU(inplace=True),
nn.Linear(100, 100),
nn.ReLU(inplace=True),
nn.Linear(100, 10),
134
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
)
nn_model.type(model_type)
nn_model.to(cuda)
loss = nn.CrossEntropyLoss().type(model_type)
optimizer = optim.SGD(nn_model.parameters(), lr=1e-
2, weight_decay=1e-1)
get_nn_f1(nn_model, cuda)
loss = nn.CrossEntropyLoss().type(model_type)
optimizer = optim.SGD(nn_model.parameters(), lr=1e-
2, weight_decay=1e-1)
get_nn_f1(nn_model, cuda)
135
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
nn.Linear(200, 200),
nn.ReLU(inplace=True),
nn.BatchNorm1d(200),
nn.Linear(200, 200),
nn.ReLU(inplace=True),
nn.BatchNorm1d(200),
nn.Linear(200, 10),
)
nn_model.type(model_type)
nn_model.to(cuda)
loss = nn.CrossEntropyLoss().type(model_type)
optimizer = optim.Adam(nn_model.parameters(), lr=0.1, weight_d
ecay=0e-1, betas=(0.9, 0.999))
# Результаты
get_nn_f1(nn_model, cuda)
136
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
……
137
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
Flattener(),
nn.Linear(64*2*2, 10),
)
nn_model.type(model_type)
nn_model.to(cuda)
loss = nn.CrossEntropyLoss().type(model_type)
optimizer = optim.Adam(nn_model.parameters(), lr=1e-
3, weight_decay=1e-4, betas=(0.9, 0.999))
# Результаты
get_nn_f1(nn_model, cuda)
…..
138
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
Flattener(),
nn.Linear(400, 120),
nn.ReLU(inplace=True),
nn.Linear(120, 84),
nn.ReLU(inplace=True),
nn.Linear(84, 10),
)
lenet_model.type(model_type)
lenet_model.to(cuda)
loss = nn.CrossEntropyLoss().type(model_type)
#optimizer = optim.Adam(lenet_model.parameters(), lr=1e-
3, weight_decay=1e-4, betas=(0.9, 0.999))
optimizer = optim.SGD(lenet_model.parameters(), lr=1e-
1, weight_decay=1e-4)
139
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
# Результаты
get_nn_f1(lenet_model, cuda)
import torch
140
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
import torch.nn as nn
import torch.optim as optim
import torchvision.datasets as dset
from torch.utils.data.sampler import SubsetRandomSampler, Samp
ler, SequentialSampler
!mkdir data
!wget -
c http://ufldl.stanford.edu/housenumbers/train_32x32.mat http:
//ufldl.stanford.edu/housenumbers/test_32x32.mat -P data
if torch.cuda.is_available():
device = torch.device("cuda:0")
model_type = torch.cuda.FloatTensor
else:
device=cpu
model_type = torch.FloatTensor
Загрузка данных: PyTorch поддерживает SVHN. К данным сразу же применяется
нормировка.
# Преобразование - нормировка
transform = transforms.Compose([
transforms.ToTensor(),
transforms.Normalize(
141
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
mean=[0.43,0.44,0.47],
std=[0.20,0.20,0.20])
])
# Создаются 'семплеры'
train_sampler = SubsetRandomSampler(train_indices)
val_sampler = SubsetRandomSampler(val_indices)
142
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
loss_accum = 0
correct_samples = 0
total_samples = 0
# Прямой проход:
# 1. вычисляем предсказание для каждого объекта (н
а самом деле - это сразу целый пакет)
prediction = model(x_gpu)
# 2. Вычисляем функцию ошибки
loss_value = loss(prediction, y_gpu)
# Обратный проход:
# 1. Сбрасываем значение градиентов
optimizer.zero_grad()
# 2. Вычисляем новые значения градиентов
loss_value.backward()
# 3. Обновляем параметры
optimizer.step()
loss_accum += loss_value
loss_history.append(float(average_loss))
train_history.append(train_accuracy)
143
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
val_history.append(val_accuracy)
return correct_samples/total_samples
И еще функция, которая выдает f1-метрику для каждого класса, плюс среднюю
f1-метрику по всем классам
test_loader = torch.utils.data.DataLoader(data_test, batch_siz
e=batch_size)
correct_results = np.array([])
model_results = np.array([])
correct_samples = 0
total_samples = 0
144
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
correct_results = np.append(correct_results, y)
model_results = np.append(model_results, pred.to(cpu))
results = [0]*10
for n in range(10):
results[n] = f1_score(correct_results==n, model_results=
=n)
Flattener(),
nn.Linear(400, 120),
nn.ReLU(inplace=True),
nn.Linear(120, 84),
nn.ReLU(inplace=True),
nn.Linear(84, 10),
)
145
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
lenet_model.type(model_type)
lenet_model.to(device)
loss = nn.CrossEntropyLoss().type(model_type)
optimizer = optim.SGD(lenet_model.parameters(), lr=1e-
1, weight_decay=1e-4)
loss_history, train_history, val_history = train_model(lenet_m
odel, train_loader, val_loader, loss, optimizer, 20, device)
# Результаты
get_nn_f1(lenet_model, device)
3. Аугментация данных
Применим различные трансформации данных и посмотрим на результат.
data_transform = transforms.Compose([
transforms.ColorJitter(hue=.50, saturation=.5
0),
transforms.RandomInvert(),
transforms.GaussianBlur(kernel_size=3),
146
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
transforms.RandomAdjustSharpness(sharpness_fa
ctor=2),
transforms.RandomRotation(20, interpolation=t
ransforms.InterpolationMode.BILINEAR),
transforms.ToTensor(),
transforms.Normalize(mean=[0.43,0.44,0.47],
std=[0.20,0.20,0.20])]
)
LeNet с аугментацией
optimizer = optim.SGD(lenet_model.parameters(), lr=1e-
4, weight_decay=5e-4);
for aug in range(25):
print("Aug=", aug)
data_aug_train = dset.SVHN('./data/', split='train', transfo
rm=data_transform)
train_aug_loader = torch.utils.data.DataLoader(data_aug_trai
n, batch_size=batch_size, sampler=train_sampler)
loss_history, train_history, val_history = train_model(lenet
_model, train_aug_loader, val_loader, loss, optimizer, 2, devi
ce);
# Результаты
get_nn_f1(lenet_model, device)
correct = np.zeros((len(data)))
147
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
result = torch.mode(results)[0].to(cpu)
return accuracy_score(result, correct)
148
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
Требуется определить для каждого объекта его кластер 𝑦(𝑥⃗) так, чтобы объекты
в одном кластере оказались похожими, а объекты в разных кластерах – отличались.
Существует много разных постановок задачи для определения “сходства” и
“различия” объектов.
1. Имеется выборка 𝕏 из L объектов
2. Определена функция расстояния 𝜌(𝑥⃗𝑖 , 𝑥⃗𝑗 )
3. Задано число кластеров.
Требуется определить центры кластеров 𝜃⃗𝑦 и отнести каждый объект к кластеру
с ближайшим центром (принцип жесткой конкуренции):
𝑎(𝑥⃗) = arg min 𝜌(𝑥⃗, 𝜃⃗𝑦 )
𝑦
Средний квадрат внутрикластерного расстояния минимален:
𝐿
1
𝑄(𝜃⃗) = ∑ 𝜌2 (𝑥⃗𝑖 , 𝜃⃗𝑎(𝑥⃗𝑖 ) ) → min
𝐿
𝑖=1
Разделительная кластеризация (k-means)
Принцип жесткой конкуренции
Пусть векторы 𝑥⃗ и 𝜃⃗ – нормированные.
Минимум расстояния в евклидовой метрике: 𝜌(𝑥⃗, 𝜃⃗ ) = (𝑥⃗ − 𝜃⃗)2 .
Двуслойная нейронная сеть:
1 слой – вычисление расстояний 𝜌(𝑥⃗, 𝜃⃗);
2 слой – 𝑎(𝑥⃗) = arg max 𝜌(𝑥⃗, 𝜃⃗𝑦 )
𝑦
149
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
150
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
151
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
𝐿
1 1
𝑄PCA (𝐔) = ‖𝐆𝐔𝑇 − 𝒳‖2 = ∑‖𝐔𝐔𝑇 𝑥⃗𝑖 − 𝑥⃗𝑖 ‖2 → min
𝐿 𝐿 𝐔
𝑖=1
Двуслойная нейросеть
Кодировщик 𝑓⃗(𝑥⃗, 𝐀) = 𝜎⃗𝑓 (𝐀𝑥⃗); 𝑥⃗ ∈ ℛ 𝑛 ;
Декодировщик 𝑔⃗(𝑦⃗, 𝐁) = 𝜎⃗𝑔 (𝐁𝑦⃗); 𝑦⃗ ∈ ℛ 𝑚 ;
𝜎⃗𝑓 , 𝜎⃗𝑔 – функции активации слоев нейросети.
1
𝑄𝐴𝐸 (𝐀, 𝐁) = (𝜎⃗𝑔 (𝐁𝜎⃗𝑓 (𝐀𝑥⃗𝑖 ))𝑥⃗𝑖 − 𝑥⃗𝑖 )2 → min
𝐿 𝐀,𝐁
Применение автокодировщиков
152
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
153
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
𝐿 𝑚
154
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
𝑄RAE (𝛼⃗, 𝛽⃗ ) = 𝑄AE (𝛼⃗, 𝛽⃗ ) + 𝜆 ∑ ℒ(𝑟⃗{𝑎⃗(𝑥⃗𝑖 ′ ), 𝑎⃗(𝑥⃗𝑖 ′′ )}, 𝑟⃗{𝑥⃗𝑖 ′ , 𝑥⃗𝑖 ′′ }) → min
⃗⃗⃗
⃗⃗,𝛽
𝛼
𝑖 ′ <𝑖 ′′
Наряду с самими объектами 𝑥⃗𝑖 требуется сохранять отношения 𝑟⃗{𝑥⃗𝑖 ′ , 𝑥⃗𝑖 ′′ } между
ними.
Например, 𝑟⃗{𝑥⃗𝑖 ′ , 𝑥⃗𝑖 ′′ } = (𝑥⃗𝑖 ′ , 𝑥⃗𝑖 ′′ ) – скалярное произведение.
155
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
156
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
𝐿 𝐿
𝑝⃗⃗⃗𝛽 (𝑥⃗𝑖 |𝑦⃗)𝑝(𝑦⃗)
ln 𝐿 = ∑ ln 𝑝(𝑥⃗𝑖 ) = ∑ ln ∫ 𝑞𝛼⃗⃗ (𝑦⃗|𝑥⃗𝑖 ) 𝑑𝑦⃗ ≥
𝑞𝛼⃗⃗ (𝑦⃗|𝑥⃗𝑖 )
𝑖=1 𝑖=1
𝐿
𝑝𝛽⃗⃗⃗ (𝑥⃗𝑖 |𝑦⃗)𝑝(𝑦⃗)
≥ ∑ ∫ 𝑞𝛼⃗⃗ (𝑦⃗|𝑥⃗𝑖 ) ln 𝑑𝑦⃗
𝑞𝛼⃗⃗ (𝑦⃗|𝑥⃗𝑖 )
𝑖=1
𝐿 𝐿
𝑝(𝑦⃗)
= ∑ ∫ 𝑞𝛼⃗⃗ (𝑦⃗|𝑥⃗𝑖 ) ln 𝑑𝑦⃗ + ∑ ∫ 𝑞𝛼⃗⃗ (𝑦⃗|𝑥⃗𝑖 ) ln 𝑝⃗⃗⃗𝛽 (𝑥⃗𝑖 |𝑦⃗) 𝑑𝑦⃗ → min
𝑞𝛼⃗⃗ (𝑦⃗|𝑥⃗𝑖 ) ⃗⃗⃗
⃗⃗,𝛽
𝛼
𝑖=1 𝑖=1
𝐿
𝑝(𝑦⃗)
∑ ∫ 𝑞𝛼⃗⃗ (𝑦⃗|𝑥⃗𝑖 ) ln 𝑑𝑦⃗ = −𝐷KL (𝑞𝛼⃗⃗ (𝑦⃗|𝑥⃗𝑖 )||𝑝(𝑦⃗))
𝑞𝛼⃗⃗ (𝑦⃗|𝑥⃗𝑖 )
𝑖=1
𝐿 𝐿
∑ ∫ 𝑞𝛼⃗⃗ (𝑦⃗|𝑥⃗𝑖 ) ln 𝑝𝛽⃗⃗⃗ (𝑥⃗𝑖 |𝑦⃗) 𝑑𝑦⃗ = ∑ ℳ𝑦~𝑞𝛼⃗⃗⃗(𝑦⃗⃗;𝑥⃗𝑖 ) {ln 𝑝𝛽⃗⃗⃗ (𝑥⃗𝑖 |𝑦⃗)}
𝑖=1 𝑖=1
Идея: вместо распределения 𝑞𝛼⃗⃗ (𝑦⃗|𝑥⃗𝑖 ) рассматривается 𝑦⃗ = 𝑦⃗(𝑥⃗𝑖 , 𝛼⃗, 𝜖⃗), где
𝜖⃗~𝒩(0, 𝐈).
157
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
158
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
159
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
∑ ∑ ln 𝑝(𝑤|𝑤𝑖 ) → min
𝐔,𝐕
𝑖=1 𝑤∈𝐶𝑖
Критерий Skip-gram Negative Sampling:
160
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
161
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
162
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
163
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
Определение 16.5
∞
𝐻(𝑧) = ∫ ℎ(𝜏)𝑧 −𝜏 𝑑𝜏 — непрерывная системная функция
𝜏=−∞
𝑓(𝑡) = 𝑧 𝑡 — собственные функции оператора 𝐴̂
𝐻(𝑧)— собственные значения оператора 𝐴̂
∞
Определение 16.6
∞
𝐻(𝑧) = ∫ ℎ(𝜏)𝑧 −𝜏 𝑑𝜏 — непрерывная системная функция
𝜏=−∞
𝑓(𝑡) = 𝑧 𝑡 — собственные функции оператора 𝐴̂
𝐻(𝑧)— собственные значения оператора 𝐴̂
Z-преобразование
Прямое преобразование: ℤ{ℎ[𝑛]} ≡ ∑∞
𝑛=−∞ ℎ[𝑛]𝑧
−𝑛
164
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
1
Обратное преобразование: ℤ−1 {𝐻(𝑧)} ≡ 2𝜋𝑖 ∮𝐶 𝐻(𝑧)𝑧 𝑛−1 𝑑𝑧. Контур 𝐶 охватывает
область сходимости 𝐻(𝑧) и содержит все полюсы 𝐻(𝑧).
• Если положить 𝑧 = 𝑒 𝑖𝜔𝑡 , то получается преобразование Фурье.
• Свойства Z-преобразования те же, что и у преобразования Фурье.
• 𝑧 −1 – операция сдвига на 1 отсчет.
Модель APCC (ARMA). Модель AR(1). Единичные корни
= 𝑋(𝑧) ∑ 𝑏[𝑘]𝑧 −𝑘
𝑘=0
𝑝 𝑝
165
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
𝑞 𝑝
166
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
Для моделей 𝐴𝑅(𝑝) характерно плавное спадание 𝐴𝐶𝐹 и отсечка 𝑃𝐴𝐶𝐹 на лаге 𝑝.
Сравнение ACF и PACF. Модель MA(1)
𝑦[𝑛] = 𝑎𝜖[𝑛 − 1] + 𝜖[𝑛]; 𝜖[𝑛]~𝒩(0, 𝜎 2 )
Для моделей 𝑀𝐴(1) характерно плавное спадание 𝑃𝐴𝐶𝐹 и отсечка 𝐴𝐶𝐹 на лаге 𝑞.
Модель AR(1) и стационарность процесса
𝐴𝑅(1): 𝑦[𝑛] = 𝑎𝑦[𝑛 − 1] + 𝜖[𝑛]; 𝜖[𝑛]~𝒩(0, 𝜎 2 )
𝑛−1
167
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
𝑘=0
⇒ процесс нестационарен, существует единичный
корень. Рисунок 13.11 Процесс
нестационарен, существует
Единичные корни единичный корень.
𝑞 𝑝
𝑌(𝑥) ∑𝑘=0 𝑏[𝑘]𝑧 −𝑘 ∏𝑘=0(1 − 𝑧𝑘 ⁄𝑧)
𝐻(𝑧) = = = 𝑏[0] 𝑝
𝑋(𝑧) 1 + ∑𝑝𝑘=1 𝑎[𝑘]𝑧 −𝑘 ∏𝑘=1(1 − 𝑝𝑘 ⁄𝑧)
• При 𝑧 = 𝑝𝑘 получается 𝑋(𝑧) = 0; 𝐻(𝑧) = ∞
• Если |𝑝𝑘 | = 1 – единичный корень, то ∃𝜔: 𝑧 = 𝑝𝑘 = 𝑒 𝑖𝜔𝑡 .
• Процесс нестационарный, т.к. спектральная компонента 𝜔 растет.
• Пусть имеется 𝑑 единичных корней, тогда
𝑝 𝑝−𝑑 𝑑
−𝑘 ′ [𝑘]𝑧 −𝑘 −1 𝑑 ′ (𝑧) −1
1 + ∑ 𝑎[𝑘]𝑧 = (1 + ∑ 𝑎 ) (1 − 𝑧 ) =𝑋 (1
⏟− 𝑧 )
𝑘=1 𝑘=1 ∆
• ∆= 1 − 𝑧 – разностный оператор
−1
168
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
𝑘=1 𝑘=1
Учитываются лаги 𝑚, 2𝑚, . . . , 𝑝𝑚 и 1, 2, . . . , 𝑞𝑚.
Модель 𝑆𝐴𝑅𝐼𝑀𝐴(𝑝, 𝑑, 𝑞) ⏟
(𝑃, 𝐷, 𝑄)𝑚
Сезонность
Учитываются лаги 1, 2, . . . , 𝑝 и 1, 2, . . . , 𝑞.
Учитываются лаги 𝑚, 2𝑚, . . . , 𝑃𝑚 и 1, 2, . . . , 𝑄𝑚.
Модель ARCH, GARCH. Нейросетевые методы прогнозирования
169
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
170
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
171
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ В АНАЛИЗЕ
КОНСПЕКТ ПОДГОТОВЛЕН СТУДЕНТАМИ, НЕ ПРОХОДИЛ
ИЗОБРАЖЕНИЙ И ВРЕМЕННЫХ РЯДОВ ПРОФ РЕДАКТУРУ И МОЖЕТ СОДЕРЖАТЬ ОШИБКИ
ДМИТРИЕВ КОНСТАНТИН ВЯЧЕСЛАВОВИЧ СЛЕДИТЕ ЗА ОБНОВЛЕНИЯМИ НА VK.COM/TEACHINMSU
172
ФИЗИЧЕСКИЙ
ФАКУЛЬТЕТ
МГУ ИМЕНИ
М.В. ЛОМОНОСОВА