Theory Flashcards

1
Q

В чем отличие между искусственным интеллектом, машинным обучением и Data Science?

A

“Искусственный интеллект” (ИИ) – термин, относящийся к широкому диапазону приложений от робототехники до анализа текста, и являющийся комбинацией бизнес-аспектов и технических аспектов. Машинное обучение – это подмножество ИИ, фокусирующееся на узком диапазоне задач и выполняющее сугубо техническую роль. Data Science (“наука о данных”) – не подмножество машинного обучения, но использует его для анализа и предсказаний будущего. Она в основном ориентирована на бизнес-приложения.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Что такое рекомендательные системы?

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Что такое нормальное распределение?

A

Нормальное распределение, также известное как “график колокола”, можно описать как распределение, при котором большинство наблюдений находится в центре, и по мере удаления от центра количество наблюдений падает. С точки зрения статистики наиболее важно то, что при нормальном распределении 68% данных находится в пределах одного стандартного отклонения от среднего значения, 95% – в пределах двух стандартных отклонений, и 99.7% – в пределах трех стандартных отклонений от среднего.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

В чем разница между линейной и логистической регрессией?

A

Линейная регрессия – это статистический метод, в котором линия (или n-мерная плоскость в случае множества параметров) подстраивается под данные. Он используется для регрессии – когда целевое значение представляет собой действительное число. Логистическая регрессия – это метод классификации. Это трансформация линейной регрессии посредством функции сигмоиды, возвращающей вероятность соответствия входного набора классу 0 или классу 1.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Как выбрать число k для алгоритма кластеризации “метод k-средних” (k-Means Clustering), не смотря на кластеры?

A

Есть два метода выбора значения k для метода k-средних. Первый – это “метод локтя”. Строится график зависимости функции потерь от количества кластеров k, и если представить, что график – это “рука”, то лучшее значение количества кластеров будет там, где “локоть” этой “руки”.

не всегда так очевидно, поэтому в тех случаях, когда это не так, используется метод силуэта. Этот метод использует “рейтинг силуэта”, находящийся в диапазоне от -1 до 1 для каждого количества кластеров. Количество кластеров с максимальным рейтингом обычно является оптимальным.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Тест имеет показатель истинной позитивности 100% и ложной позитивности 5%. В вашей популяции каждый тысячный имеет болезнь, на которую проверяет тест. Учитывая только то, что вы получили положительный результат теста, какова вероятность того, что вы действительно болеете этой болезнью? (Тема: Показатели классификации)

A

Если вы больны, тест это покажет (поскольку истинная позитивность абсолютна). Но если вы не больны, то тест выдаст результат, что вы больны, с вероятностью 5%, и с вероятностью 95%, что не больны. То есть, присутствует 5% ошибка, если вы не больны. Из 1000 человек один больной получит истинный положительный результат. Из остальных 999 человек 5% получат ложные положительные результаты – почти 50 человек. То есть, из 1000 человек 51 получит положительный результат теста, но всего один будет болен на самом деле. Вероятность, что вы больны даже при положительном результате теста, составляет всего около 2%!

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Как преобразование Бокса-Кокса улучшает качество модели?

A

Преобразование Бокса-Кокса заключается в возведении данных в некоторую степень: в квадрат, куб, взятие квадратного корня (степень 1/2). Поскольку возведение в степень 0 всегда дает 1, под “степенью 0” в методе Бокса-Кокса подразумевается логарифмическая трансформация.

Логарифмическая функция может особенно улучшить качество модели, поскольку она превращает экспоненциальные функции в линейные. Это значит, что линейные модели вроде линейной регрессии смогут добиться намного лучших результатов.

Возведение в квадрат или в куб также может выпрямить распределение данных или выделить наиболее важные части данных.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Всегда ли методы градиентного спуска сходятся в одной и той же точке?

A

Нет, методы градиентного спуска не всегда сходятся в одной и той же точке. Поскольку пространство ошибок может иметь несколько локальных минимумов, различные методы градиентного спуска могут сходиться в разных точках, в зависимости от их характеристик вроде момента или веса.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Каковы ключевые шаги аналитического проекта?

A

Изучение бизнес-проблемы и целей анализа.

Исследование данных и знакомство с ними.

Подготовка данных к моделированию путем их очистки (обнаружение выбросов и пропусков, трансформация переменных и т.д.)

Запуск модели и нахождение оптимальных гиперпараметров.

Валидация модели на новых данных.

Ввод модели в эксплуатацию и получение выводов на основе ее предсказаний.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Что такое “проклятие размерности” (curse of dimensionality)?

A

“Проклятие размерности” – это явления, которые возникают при анализе данных с большим количеством признаков (данных высокой размерности), которых не возникает в обычных двухмерном и трехмерном пространстве. Общая тема: при росте размерности разреженность растет так быстро, что рассчитать все значения, необходимые для модели, становится практически нереально из-за нехватки вычислительной мощности. Нужно отметить, что в пространствах очень высокой размерности Евклидово расстояние между двумя элементами настолько мало, что любые методы или методы машинного обучения, требующие расчета дистанции между двумя точками, перестают работать. (Это одна из причин, по которым для распознавания образов большой размерности предпочитают сверточные нейронные сети).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Что такое полнота (recall) и точность (precision)?

A

Полноту можно описать как “процент реально истинных результатов, которые наша модель правильно распознала”. Точность можно описать как “процент реально истинных результатов среди тех, которые наша модель посчитала истинными”.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Как бы вы справились с разными формами сезонности при моделировании временных рядов?

A

В реальных данных временных рядов (например, количества плюшевых мишек, закупаемых на фабрике игрушек) часто встречаются различные виды сезонности, которые могут пересекаться друг с другом. Годичная сезонность, вроде пика перед Рождеством и летнего спада, может сочетаться с месячной, недельной или даже дневной сезонностью. Это делает временной ряд нестационарным, поскольку среднее значение переменной различно для разных периодов времени.

Лучший способ удаления сезонности из данных – это дифференцирование временного ряда. Это процесс получения разности между датой x и x минус период сезонности, которым может быть год, месяц, или что-нибудь другое. При этом первый период сырых данных теряется, поскольку из них нечего вычитать.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Часто считается, что Ложный Негативный результат хуже, чем Ложный Позитивный. Можете ли вы привести пример, когда Ложный Позитивный результат хуже Ложного Негативного?

A

Вот один пример из многих. Предположим, компания электронной торговли решила подарить чек на $1000 клиентам, которые, по ее мнению, купят товаров не менее чем на $5000. Если модель, используемая компанией, выдаст Ложный Негативный результат, она (ошибочно) не пошлет чек данному клиенту, поскольку считает, что он не потратит $5000 на товары. Хотя это далеко не идеально, компания не потеряет на этом денег. А вот если компания пошлет чек клиенту c Ложным Позитивным результатом (для которого модель ошибочно утверждает, что он купит на $5000), она потеряет на этом деньги.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

В чем разница между тестовым и валидационным наборами данных?

A

Тестовый набор данных используется для оценки качества модели после ее обучения. Валидационный набор используется в процессе обучения для выбора гиперпараметров и предотвращения переобучения на тренировочном наборе.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

В каких случаях вы бы предпочли использовать SVM, а не Случайный Лес (и наоборот)?

A

И SVM, и Случайный Лес – мощные алгоритмы классификации. Если данные хорошо очищены и не содержат выбросов, SVM будет хорошим выбором. В противном случае, Случайный Лес может суметь адаптироваться к этим данным. SVM (особенно с широким поиском параметров) потребляет намного больше вычислительной мощности, чем Случайные Леса, так что при нехватке памяти Случайный Лес будет предпочтительнее. Случайный Лес также предпочтителен для задач мультиклассовой классификации, тогда как SVM предпочтителен для задач высокой размерности, таких, как классификация текста.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Что такое ансамбли, и чем они полезны?

A

Ансамбли – это группы алгоритмов, которые “голосуют” для принятия финального решения. Ансамбли успешны, поскольку слабые стороны одной модели могут быть компенсированы сильными сторонами других моделей, это значит, что успешные модели должны быть диверсифицированы. Это также значит, что модели, входящие в ансамбль, должны иметь разные слабые стороны. Исследования показали, что правильно созданные ансамбли дают лучшие результаты, чем одиночные классификаторы.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Какие методы можно использовать для заполнения пропущенных данных, и каковы последствия невнимательного заполнения данных?

A

Если полное удаление пропусков невозможно, существует множество методов их заполнения – такие, как заполнение средним значением, медианой или модой. Какой из них лучше, зависит от контекста.

Другой метод – это использовать k ближайших соседей (KNN), чтобы определить ближайших соседей строки с пропущенными данными и использовать среднее значение, медиану или моду для этих соседей. Это обеспечивает большую настраиваемость и управляемость, чем можно добиться использованием статистических значений.

Если метод заполнения пропусков реализован неаккуратно, оно может привести к ошибке выборки – любая модель хороша настолько, насколько хороши ее исходные данные, и если данные отклоняются от реальности, то же самое будет с моделью.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Каковы основные предположения о данных, которые должны быть сделаны перед их передачей в модель линейной регрессии?

A

Данные должны иметь нормальное остаточное распределение, статистическую зависимость ошибок и линейность.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

В каких случаях вы бы использовали MSE и MAE?

A

MSE может быть лучше, если вам просто нужно сравнивать модели друг с другом, но не нужно интерпретировать саму метрику, но если нужно интерпретировать результат метрики, лучше использовать MAE (например, модель в среднем ошибается на $4).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Что показывает P-значение о данных?

A

P-значение используется для проверки значимости результатов после статистического теста гипотезы. P-значения помогают анализирующему делать выводы и всегда находятся в диапазоне между 0 и 1.

P-значение, превышающее 0.05, обозначает недостаточные доказательства против нулевой гипотезы – а это значит, что нулевая гипотеза не может быть отвергнута.
P-значение, меньшее 0.05, обозначает сильные доказательства против нулевой гипотезы – это значит, что нулевая гипотеза может быть отвергнута.
P-значение, равное 0.05, находится на границе, то есть мы не можем сделать уверенного вывода о том, можно ли отвергнуть нулевую гипотезу.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Что такое ROC-кривая? Что такое AUC?

A

ROC-кривая – это кривая роста процента истинно позитивных результатов по мере роста процента ложных позитивных результатов. Полностью случайное предсказание будет изображаться прямой диагональной линией (черная штриховая линия на рисунке). Оптимальная модель будет как можно более близкой к оси y и к линии “y=1”.

Одна из метрик того, насколько близка кривая ROC к этим линиям – AUC, или площадь под кривой (Area Under Curve). Чем выше AUC, тем лучше работает модель.

22
Q

Что такое PCA, и чем он может помочь?

A

Метод главных компонент (Principal Component Analysis, PCA) – метод сокращения размерности путем нахождения n ортогональных векторов, представляющих наибольшую вариантность из данных, где n – это размерность, до которой пользователь хочет сократить данные. Эти n векторов служат измерениями для новых данных.

PCA может помочь ускорить работу алгоритмов машинного обучения или визуализировать данные слишком большой размерности.

23
Q

Объясните дилемму смещения-дисперсии (bias-variance tradeoff) и приведите примеры алгоритмов с высоким и низким смещением.

A

Смещение (bias) – это ошибка, внесенная в вашу модель из-за чрезмерного упрощения алгоритма машинного обучения, которое может привести к недообучению. В процессе обучения модели делаются упрощенные предположения, чтобы сделать целевую функцию более простой для понимания. Алгоритмы машинного обучения с низким смещением включают деревья решений, KNN и SVM. Высоким смещением, в частности, отличаются линейная и логистическая регрессия.

Дисперсия (variance) – это ошибка, внесенная в вашу модель сложным алгоритмом машинного обучения, при котором модель усваивает также и шум из тренировочного набора данных, что приводит к плохой точности на тестовом наборе данных. Это может привести к высокой чувствительности и переобучению.

Обычно, по мере усложения модели вы увидите снижение ошибки вследствие уменьшения смещения модели. Однако, это происходит только до определенной точки – и если вы будете усложнять свою модель дальше, в конце концов вы ее переобучите.

24
Q

Почему нелинейная функция Softmax часто бывает последней операцией в сложной нейронной сети?

A

Потому, что она принимает вектор действительных чисел и возвращает распределение вероятностей. Какой бы вектор x ни подали на ее вход (неважно, положительных или отрицательных), на выходе будет набор чисел, пригодный в качестве распределения вероятностей: каждый элемент выходного значения будет неотрицательным, и их сумма будет равна 1.

25
Q

Что такое векторизация TF/IDF?

A

TF/IDF – это сокращение для Term Frequency/Inverse Document Frequency. Это числовая статистика, которая должна отражать, насколько данное слово важно для документа, являющегося частью набора документов. Она часто используется в качестве взвешивающего множителя при получении информации и извлечении текста. Значение TF/IDF увеличивается пропорционально количеству появлений этого слова в документе, но уменьшается пропорционально частоте использования этого слова во всем наборе документов, что помогает компенсировать тот факт, что некоторые слова в принципе встречаются чаще других.

26
Q

Какие формы ошибок выборки (selection bias) можно встретить в данных?

A

Ошибка отбора (sampling bias)- систематическая ошибка, возникающая из-за неслучайного отбора участников выборки, что приводит к тому, что некоторые категории популяции встречаются в выборках реже, чем другие. Например, онлайн-опросы могут исключать бедные семьи или включать их реже, чем они реально встречаются.

Ошибка временного интервала (time interval bias) - прерывание испытания при достижении желаемого результата или экстремального результата (обычно по этическим причинам). Ошибка в том, что преждевременное достижение результата характерно для переменных с высокой дисперсией, даже если среднее значение всех переменных одинаково.

Ошибка выбора данных (data bias) – выбор подмножеств данных для доказательства или опровержения гипотез не соответствует предварительно объявленным или согласованным критериям.

Наконец, ошибка выжившего (attrition bias) – ошибка, вызванная потерей значительной доли участников, поскольку те участники, которые не дошли до конца испытаний, не учитываются.

27
Q

Определите Процент ошибок (Error Rate), Достоверность (Accuracy), Чувствительность/Полноту (Sensitivity/Recall), Специфичность (Specificity), Точность (Precision) и F-меру (F-Score)

A

Рассмотрим матрицу ошибок, где T – это истинный результат (True), F – ложный результат (False), P – позитивный результат (Positive), а N – негативный (Negative):

Error Rate: (FP + FN) / (P + N). Это доля ошибочных предсказаний из всех.

Accuracy: (TP + TN) / (P + N). Это доля истинных предсказаний из всех.

Sensitivity/Recall: TP / P. Это доля истинно предсказанных позитивных.

Specificity: TN / N. Это доля истинных предсказаний из негативных.

Precision: TP / (TP + FP). Доля истинных позитивных из предсказанных позитивных.

F-Score: гармоническое среднее между Precision и Recall.

28
Q

Чем корреляция отличается от ковариации?

A

Корреляция считается лучшей техникой для измерения и количественной оценки соотношения между двумя переменными, и измеряет, насколько сильна зависимость между ними.

Ковариация измеряет степень, в которой две случайные переменные изменяются в цикле. Иначе говоря, она измеряет систематическую зависимость переменных друг от друга, при которой изменение одной переменной приводит к соответствующим изменениям второй.

29
Q

Почему A/B тестирование эффективно?

A

A/B тестирование – это тестирование гипотезы для рандомизированного эксперимента с двумя переменными A и B. Его цель – идентифицировать любые изменения, например, на web-странице, на которой клиенты из группы A получают приветствие «Добрый день», а клиенты из группы B – «Добро пожаловать». A/B тестирование эффективно, поскольку оно минимизирует сознательное предубеждение – люди из группы А не знают, что они из группы А, что существует группа B и наоборот. Это хороший способ получить данные о честной переменной. Однако A/B тестирование трудно проводить для любого контекста, кроме Интернет-бизнесов.

30
Q

Как бы вы сгенерировали случайное число от 1 до 7, имея всего один шестигранный кубик?

A

Как бы вы сгенерировали случайное число от 1 до 7, имея всего один шестигранный кубик?

Одно из решений – это бросить кубик два раза. При этом количество возможных комбинаций равно 6*6 = 36. Если исключить одну комбинацию (например, 6 и 6), останется 35 возможных комбинаций. Если мы назначим по 5 комбинаций (порядок имеет значение!) каждому из 7 возможных результатов, мы получим случайное число от 1 до 7.

Например, мы выбросили (1, 2). Поскольку мы, гипотетически, назначили комбинации бросков (1, 1), (1, 2), (1, 3), (1, 4) и (1, 5) результату 1, то наше случайно сгенерированное число будет равно 1.

31
Q

В чем разница между унивариационным, бивариационным и мультивариационным анализом?

A

Унивариационный анализ – это методы статистического анализа, требующие только одной переменной. Он включает диаграммы, гистограммы и «ящики с усами» (boxplots).

Бивариационный анализ пытается понять соотношение между двумя переменными. Это может включать диаграммы рассеяния (scatter plot), контурные диаграммы и анализ временных рядов.

Мультивариационный анализ имеет дело с несколькими переменными, чтобы понять влияние этих переменных на целевую переменную. Он может включать обучение нейронных сетей для предсказаний или получение SHAP-графиков важности значений/комбинаций для нахождения самого важного признака. Он также может включать диаграммы рассеяния с третьим параметром в виде цвета или размера точек.

32
Q

Что такое кросс-валидация? Какие проблемы она пытается решить? Почему она эффективна?

A

Кросс-валидация – это метод определения, насколько хорошо модель обобщается на весь набор данных. Традиционное разделение данных на тестовые и тренировочные, при котором часть данных случайно выбирается для обучения модели, а остальные данные – для тестирования, может привести к тому, что модель будет хорошо работать на одних случайно выбранных фрагментах тестовых данных и плохо работать на других фрагментах. Иными словами, метрики будут соответствовать не качеству модели, а случайному выбору тестовых данных.

Кросс-валидация делит данные на n сегментов. Модель обучается на n-1 сегментах и тестируется на оставшемся сегменте. Затем модель заново инициализируется и обучается на другом наборе из n-1 сегментов. Этот процесс повторяется, пока модель не предскажет значения для всех данных (результаты предсказаний усредняются). Кросс-валидация полезна, поскольку она предоставляет более полное представление о качестве модели на всем наборе данных.

33
Q

Что означает слово «наивный» в «Наивном Байесовском классификаторе»?

A

Наивный Байесовский алгоритм основан на теореме Байеса, которая описывает вероятность события, основываясь на предыдущем знании условий, которые могут иметь отношение к этому событию. Алгоритм считается «наивным», поскольку делает ряд предположений, которые могут быть или не быть верными. Вот почему этот алгоритм может быть очень мощным, если он используется правильно – он может пропустить поиск знания, которое другие алгоритмы должны искать, просто принимая на веру его истинность

34
Q

Какие ядра используются в SVM?

A

Линейное ядро.
Полиномиальное ядро.
Ядро радиального базиса.
Сигмоидное ядро.

35
Q

Как справиться с переобучением Деревьев Решений?

A

Деревья Решений часто имеют высокое смещение (bias), поскольку суть алгоритма включает нахождение нишевых паттернов данных и создании новых узлов дерева специально для таких ниш. Если это не контролировать, дерево решений создаст такое огромное количество узлов, что будет отлично работать на тренировочных данных, но очень плохо на тестовых. Один из методов борьбы с переобучением деревьев решений называется подрезкой (pruning).

Обрезка – это метод сокращения деревьев решений посредством удаления тех секций дерева, которые мало помогают классификации. Это позволяет обобщить дерево решений и заставляет алгоритм создавать только узлы, важные для структуры данных, а не просто шум.

36
Q

Объясните и дайте примеры коллаборативной фильтрации, фильтрации контента и гибридной фильтрации

A

Коллаборативная фильтрация – это форма рекомендательной системы, которая определяет то, что может понравиться пользователю, исключительно по его рейтингам. Все атрибуты товара изучаются посредством взаимодействия с пользователем или отбрасываются. Один из примеров коллаборативной фильтрации – это факторизация матриц.

Фильтрация контента – другая форма рекомендательной системы, выдающая рекомендации исключительно исходя из внутренних атрибутов товаров и клиентов, таких, как цена товара, возраст клиента и т.п. Один из способов добиться фильтрации контента – найти сходство между вектором профиля и вектором товара, например, косинусную меру сходства.

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

37
Q

В чем разница между bagging и boosting для ансамблей?

A

Bagging – это метод обучения ансамблей, при котором готовятся несколько поднаборов данных случайным выбором из всего набора данных (они могут перекрываться). После этого все модели обучаются на одном поднаборе, и их решения собираются вместе с помощью какой-либо функции.

Boosting – это итеративная техника, которая изменяет вес наблюдения в зависимости от последней классификации. Если наблюдение было классифицировано правильно, его вес увеличивается, и наоборот. Бустинг уменьшает ошибку смещения и строит сильные предсказательные модели.

38
Q

В чем разница между жестким и мягким голосованием в ансамблях?

A

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

Мягкое голосование – это когда аггрегируются итоговые вероятности (например, 85% вероятность классификации 1), обычно с помощью среднего значения.

Мягкое голосование может в некоторых случаях принести преимущества, но может привести к переобучению и недостаточному обобщению модели.

39
Q

В вашем компьютере 5Гб ОЗУ, а вам нужно обучить модель на 10-гигабайтовом наборе данных. Как вы это сделаете?

A

Для SVM может сработать частичное обучение. Набор данных можно разбить на несколько наборов меньшего размера. Поскольку SVM – это алгоритм с низкими вычислительными требованиями, в данном сценарии это может быть лучшим выбором.

Если данные не подходят для SVM, можно обучить нейронную сеть с достаточно малым размером пакета (batch size) на сжатом массиве NumPy. В NumPy есть несколько инструментов для сжатия больших наборов данных, которые интегрированы в широко распространенные пакеты нейронных сетей вроде Keras/Tensorflow и PyTorch.

40
Q

Теория глубокого обучения известна довольно давно, но лишь недавно получила большую популярность. Как вы думаете, почему глубокое обучение так поднялось за последние годы?

A

Глубокое обучение растет очень быстро, поскольку лишь недавно оно стало необходимым. Недавно усовершенствованные методы сдвига от физических экспериментов к онлайновым означают, что можно собрать намного больше данных. Вследствие перехода покупок в онлайн глубокое обучение получило больше возможностей повысить доход и вероятность возврата покупателей, чем, допустим, в физических бакалейных лавках. Стоит отметить, что две крупнейших модели машинного обучения на PyTorch (Tensorflow и PyTorch) были созданы крупными корпоративными компаниями Google и Facebook. Кроме того, развитие GPU позволило обучать модели быстрее.

41
Q

Что такое глубокое обучение?

A

разновидность машинного обучения на основе искусственных нейронных сетей. Процесс обучения называется глубоким, так как структура искусственных нейронных сетей состоит из нескольких входных, выходных и скрытых слоев. Каждый слой содержит единицы, преобразующие входные данные в сведения, которые следующий слой может использовать для определенной задачи прогнозирования.

42
Q

Как бы вы инициализировали веса нейронной сети?

A

Самый широко встречающийся метод – инициализировать веса случайно, близкими к нулю значениями. Затем правильно выбранный оптимизатор может сдвинуть веса в нужном направлении. Если пространство ошибок слишком крутое, оптимизатору может быть сложно избежать локального минимума. В этом случае может быть хорошей идеей инициализировать несколько нейронных сетей в различных локациях пространства ошибок, чтобы повысить шанс нахождения глобального минимума хотя бы одной из моделей.

43
Q

Каковы последствия установки неправильной скорости обучения?

A

Если скорость обучения слишком мала, обучение модели будет слишком медленным, поскольку веса будут изменяться ненамного. Однако, если скорость обучения слишком велика, это может привести к тому, что функция потерь будет беспорядочно прыгать вследствие сильных изменений весов. Модель может не сойтись в какой-то одной точке или даже отклониться от минимума, если данные слишком хаотичны для обучения нейронной сети.

44
Q

Объясните разницу между эпохой, пакетом (batch) и итерацией.

A

Эпоха – один проход по всему набору данных, предназначенному для обучения.

Пакет. Поскольку передача сразу всего набора данных в нейронную сеть требует слишком много вычислительной мощности, набор данных делится на пакеты.

Итерация – количество запусков пакетов в каждой эпохе. Если у нас 50.000 строк данных, а размер пакета составляет 1000 строк, в каждой эпохе будет запущено 50 итераций.

45
Q

Какие три основных вида слоев обычно используются в сверточных нейронных сетях? Как они обычно сочетаются?

A

Три основных вида слоев, используемых в сверточных нейронных сетях – это:

Сверточный слой: слой, выполняющий операцию свертки, которая создает несколько окон-картинок, обобщая изображение.

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

Слой группировки (pooling): операция сокращения, которая сокращает размерность карты признаков.

Сверточная нейронная сеть обычно состоит из нескольких последовательностей сверточного, активационного и группирующего слоев. За всем этим могут следовать один или два полносвязных слоя или слоя исключения (dropout) для дальнейшего обобщения, и последним идет полносвязный слой.

46
Q

Что такое слой исключения (dropout), и чем он может помочь?

A

Слой исключения сокращает переобучение нейронной сети, предотвращая комплексную со-адаптацию к тренировочным данным. Слой исключения служит маской, случайным образом предотвращая связи с некоторыми узлами. Иными словами, в процессе обучения примерно половина нейронов слоя исключения будет деактивирована, что заставляет нейроны нести больше информации, чем оставалось после деактивированных нейронов. Иногда слои исключения используются после слоев максимальной группировки (max-pooling).

47
Q

Если говорить упрощенно и на фундаментальном уровне, что делает недавно разработанный BERT лучше, чем традиционные модели NLP?

A

Традиционные модели NLP, чтобы познакомиться с текстом, получают задачу предсказания следующего слова в предложении (например, слово “dogs” в предложении “It’s raining cats and ___”). Другие модели могут дополнительно обучаться предсказывать предыдущее слово в предложении по контексту после него. BERT случайным образом маскирует слово в предложении и заставляет модель предсказывать это слово, исходя из контекста до и после него – например, слово “raining” в предложении “It’s _____ cats and dogs”.

Это значит, что BERT может усвоить более сложные зависимости между словами, которые нельзя предсказать только по предыдущему (или только по следующему) контексту. Конечно, BERT имеет множество других улучшений, таких, как различные слои кодирования, но на фундаментальном уровне его успех обусловлен способом чтения текста.

48
Q

Что такое «Распознавание Именованных Сущностей» (Named Entity Recognition, NER)?

A

NER, также известная как идентификация сущностей, выделение сущностей или извлечение сущностей – это подзадача извлечения информации, направленная на нахождение и классификацию именованных сущностей в неструктурированном тексте по категориям – таким, как имена, организации, локации, суммы денег, время и т.д. NER пытается разделить слова, которые пишутся одинаково, но означают разные вещи, и корректно идентифицировать сущности, содержащие под-сущности, например, “America” и “Bank of America”.

49
Q

Вам дали большой набор данных твитов, и ваша задача – предсказать их тональность (положительная или отрицательная). Объясните, как бы вы проводили предварительную обработку данных.

A

Поскольку твиты наполнены хэштегами, которые могут представлять важную информацию, и, возможно, создать набор признаков, закодированных унитарным кодом (one-hot encoding), в котором ‘1’ будет означать наличие хэштега, а ‘0’ – его отсутствие. То же самое можно сделать с символами ‘@’ (может быть важно, какому аккаунту адресован твит). В твитах особенно часто встречаются сокращения (поскольку есть лимит количества символов), так что в текстах наверняка будет много намеренно неправильно записанных слов, которые придется восстанавливать. Возможно, само количество неправильно написанных слов также представляет полезную информацию: разозленные люди обычно пишут больше неправильных слов.

Удаление пунктуации, хоть оно и является стандартным для NLP, в данном случае можно пропустить, поскольку восклицательные знаки, вопросы, точки и пр. могут нести важную информацию, в сочетании с текстом, в котором они применяются. Можно создать три или большее количество столбцов, в которых будет указано количество восклицательных знаков, вопросительных знаков и точек. Однако перед передачей данных в модель пунктуацию следует убрать из текста.

Затем нужно провести лемматизацию и токенизацию текста. В модель следует передать не только чистый текст, но и информацию о хэштегах, ‘@’, неправильно написанных словах и пунктуации. Все это, вероятно, повысит точность предсказаний.

50
Q

Как можно определить сходство двух абзацев текста?

A

Первый шаг – это перевести абзацы в числовую форму с помощью векторизатора – например, “мешка слов” (bag of words) или TF/IDF. В данном случае “мешок слов” может быть лучше, поскольку набор текстов совсем невелик. Кроме того, он может дать лучшее представление о тексте, ведь TF/IDF предназначен преимущественно для моделей.

После этого для измерения сходства между двумя векторами можно использовать косинусную меру или Евклидово расстояние между ними.

51
Q

В наборе из N документов один случайный документ содержит T терминов. Термин ‘hello’ встречается в этом документе K раз. Чему равно произведение TF (Term Frequency) и IDF (Inverted Document Frequency), если термин ‘hello’ встречается примерно в трети всех документов?

A

Формула для Term Frequency = K/T, а формула для IDF – это логарифм отношения количества всех документов к количеству документов, содержащих термин (то есть, log(1/(1/3)) = log(3). Поэтому значение TF/IDF для слова ‘hello’ будет равно K * log(3) / T.

52
Q

Существует ли универсальный набор стоп-слов? В каких случаях вы бы расширили набор стоп-слов, и в каких, наоборот, уменьшили его?

A

В библиотеке NLTK на Python’е задан общепринятый набор стоп-слов (для английского языка), но в некоторых случаях список стоп-слов нужно расширить или сократить, в зависимости от контекста. Например, для твитов набор стоп-слов придется сократить, поскольку у нас не так много текста. Следовательно, важная информация может быть выражена небольшим количеством символов, и удаление того, что мы посчитаем стоп-словами, может привести к потере этой информации.

С другой стороны, если мы имеем дело с тысячей коротких рассказов, мы можем захотеть удалять больше стоп-слов, не только для экономии машинного времени, но и для упрощения нахождения разницы между этими рассказами, каждый из которых, вероятно, будет содержать множество стоп-слов.