Глоссарий по машинному обучению: основы машинного обучения

Оптимизируйте свои подборки Сохраняйте и классифицируйте контент в соответствии со своими настройками.

Эта страница содержит термины из глоссария ML Fundamentals. Чтобы просмотреть все термины глоссария, щелкните здесь .

А

точность

#основы

Количество правильных прогнозов классификации, деленное на общее количество прогнозов. То есть:

$$\text{Accuracy} = \frac{\text{correct predictions}} {\text{correct predictions + incorrect predictions }}$$

Например, модель, которая сделала 40 правильных прогнозов и 10 неверных прогнозов, будет иметь точность:

$$\text{Accuracy} = \frac{\text{40}} {\text{40 + 10}} = \text{80%}$$

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

$$\text{Accuracy} = \frac{\text{TP} + \text{TN}} {\text{TP} + \text{TN} + \text{FP} + \text{FN}}$$

куда:

Сравните и сопоставьте точность с точностью и отзывом .

функция активации

#основы

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

Популярные функции активации включают в себя:

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

Картезианский сюжет из двух линий. Первая строка имеет постоянное значение y, равное 0, и проходит вдоль оси x от -infinity,0 до 0,-0. Вторая строка начинается с 0,0. Эта линия имеет наклон +1, поэтому она проходит от 0,0 до +бесконечности,+бесконечности.

График сигмовидной функции активации выглядит следующим образом:

Двумерный криволинейный график со значениями x, охватывающими диапазон от -бесконечности до + положительного, а значения y охватывают диапазон от почти 0 до почти 1. Когда x равно 0, y равно 0,5. Наклон кривой всегда положительный, с максимальным наклоном 0,0,5 и постепенно уменьшающимися наклонами по мере увеличения абсолютного значения x.

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

#основы

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

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

AUC (площадь под кривой ROC)

#основы

Число от 0,0 до 1,0, представляющее способность модели бинарной классификации отделять положительные классы от отрицательных . Чем ближе AUC к 1,0, тем лучше способность модели отделять классы друг от друга.

Например, на следующем рисунке показана модель классификатора, которая идеально отделяет положительные классы (зеленые овалы) от отрицательных классов (фиолетовые прямоугольники). Эта нереально идеальная модель имеет AUC 1,0:

Числовая линия с 8 положительными примерами на одной стороне и 9 отрицательными примерами на другой стороне.

И наоборот, на следующем рисунке показаны результаты для модели классификатора, которая сгенерировала случайные результаты. Эта модель имеет AUC 0,5:

Числовая строка с 6 положительными примерами и 6 отрицательными примерами. Последовательность примеров положительная, отрицательная, положительная, отрицательная, положительная, отрицательная, положительная, отрицательная, положительная отрицательная, положительная, отрицательная.

Да, предыдущая модель имеет AUC 0,5, а не 0,0.

Большинство моделей находятся где-то между двумя крайностями. Например, следующая модель несколько отделяет положительные результаты от отрицательных и, следовательно, имеет AUC где-то между 0,5 и 1,0:

Числовая строка с 6 положительными примерами и 6 отрицательными примерами. Последовательность примеров: отрицательный, отрицательный, отрицательный, отрицательный, положительный, отрицательный, положительный, положительный, отрицательный, положительный, положительный, положительный.

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

Б

обратное распространение

#основы

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

Обучение нейронной сети включает множество итераций следующего двухпроходного цикла:

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

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

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

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

Несколько лет назад специалистам по машинному обучению приходилось писать код для реализации обратного распространения ошибки. Современные API машинного обучения, такие как TensorFlow, теперь реализуют для вас обратное распространение. Фу!

партия

#основы

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

См. « Эпоха » для объяснения того, как пакет относится к эпохе.

размер партии

#основы

Количество примеров в партии . Например, если размер пакета равен 100, то модель обрабатывает 100 примеров за итерацию .

Ниже приведены популярные стратегии размера партии:

  • Стохастический градиентный спуск (SGD) , в котором размер пакета равен 1.
  • полный пакет, в котором размер пакета — это количество примеров во всем обучающем наборе . Например, если обучающий набор содержит миллион примеров, размер пакета будет равен миллиону примеров. Полная партия обычно является неэффективной стратегией.
  • мини-пакет , в котором размер пакета обычно составляет от 10 до 1000. Мини-пакет обычно является наиболее эффективной стратегией.

предвзятость (этика/справедливость)

#справедливость
#основы

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

2. Систематическая ошибка, вызванная процедурой выборки или отчетности. Формы этого типа смещения включают в себя:

Не путать с термином смещения в моделях машинного обучения или смещением прогнозирования .

предвзятость (математика) или термин смещения

#основы

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

  • б
  • ш 0

Например, смещение — это b в следующей формуле:

$$y' = b + w_1x_1 + w_2x_2 + … w_nx_n$$

В простой двумерной линии смещение означает просто «пересечение по оси Y». Например, смещение линии на следующем рисунке равно 2.

График линии с наклоном 0,5 и смещением (пересечение по оси Y) 2.

Смещение существует, потому что не все модели начинаются с начала координат (0,0). Например, предположим, что вход в парк развлечений стоит 2 евро и дополнительно 0,5 евро за каждый час пребывания посетителя. Таким образом, модель, отображающая общую стоимость, имеет смещение, равное 2, поскольку самая низкая стоимость составляет 2 евро.

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

бинарная классификация

#основы

Тип задачи классификации , которая предсказывает один из двух взаимоисключающих классов:

Например, следующие две модели машинного обучения выполняют бинарную классификацию:

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

В отличие от многоклассовой классификации .

См. также логистическая регрессия и порог классификации .

ковширование

#основы

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

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

  • <= 10 градусов по Цельсию будет "холодным" ведром.
  • 11-24 градуса Цельсия будет "умеренным" ведром.
  • >= 25 градусов по Цельсию будет "теплым" ведром.

Модель будет одинаково обрабатывать каждое значение в одном сегменте. Например, значения 13 и 22 находятся в диапазоне умеренных температур, поэтому модель обрабатывает эти два значения одинаково.

С

категориальные данные

#основы

Особенности , имеющие определенный набор возможных значений. Например, рассмотрим категориальный признак с именем traffic-light-state , который может иметь только одно из следующих трех возможных значений:

  • red
  • yellow
  • green

Представляя traffic-light-state как категориальный признак, модель может изучать различное влияние red , green и yellow на поведение водителя.

Категориальные признаки иногда называют дискретными признаками .

Сравните с числовыми данными .

учебный класс

#основы

Категория, к которой может принадлежать ярлык . Например:

Модель классификации предсказывает класс. Напротив, модель регрессии предсказывает число, а не класс.

классификационная модель

#основы

Модель , предсказание которой является классом . Например, ниже приведены все модели классификации:

  • Модель, которая предсказывает язык входного предложения (французский? испанский? итальянский?).
  • Модель, предсказывающая виды деревьев (клен? дуб? баобаб?).
  • Модель, предсказывающая положительный или отрицательный класс для конкретного заболевания.

Напротив, регрессионные модели предсказывают числа, а не классы.

Два распространенных типа моделей классификации:

порог классификации

#основы

В бинарной классификации - число от 0 до 1, которое преобразует необработанные выходные данные модели логистической регрессии в предсказание положительного или отрицательного класса . Обратите внимание, что порог классификации — это значение, которое выбирает человек, а не значение, выбранное при обучении модели.

Модель логистической регрессии выводит необработанное значение от 0 до 1. Затем:

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

Например, предположим, что порог классификации равен 0,8. Если исходное значение равно 0,9, то модель предсказывает положительный класс. Если исходное значение равно 0,7, то модель предсказывает отрицательный класс.

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

несбалансированный по классам набор данных

#основы

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

  • 1 000 000 минус-меток
  • 10 положительных ярлыков

Соотношение отрицательных и положительных меток составляет 100 000 к 1, поэтому это набор данных с несбалансированным классом.

Напротив, следующий набор данных не является несбалансированным по классам, поскольку отношение отрицательных меток к положительным меткам относительно близко к 1:

  • 517 минус-меток
  • 483 положительных ярлыка

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

  • 1 000 000 этикеток с классом "зеленый"
  • 200 этикеток с классом "фиолетовый"
  • 350 этикеток с классом "оранжевый"

См. также энтропия , класс большинства и класс меньшинства .

вырезка

#основы

Техника обработки выбросов путем выполнения одного или обоих из следующих действий:

  • Уменьшение значений характеристик , которые превышают максимальное пороговое значение, до этого максимального порогового значения.
  • Увеличение значений признаков, которые меньше минимального порога, до этого минимального порога.

Например, предположим, что <0,5 % значений определенного признака выходят за пределы диапазона 40–60. В этом случае вы можете сделать следующее:

  • Обрежьте все значения выше 60 (максимальный порог), чтобы они были ровно 60.
  • Обрежьте все значения ниже 40 (минимальный порог), чтобы они были ровно 40.

Выбросы могут повредить модели, что иногда приводит к переполнению весов во время обучения. Некоторые выбросы также могут сильно испортить такие показатели, как точность . Отсечение является распространенным методом ограничения ущерба.

Отсечение градиента заставляет значения градиента находиться в пределах заданного диапазона во время обучения.

матрица путаницы

#основы

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

Опухоль (прогнозируется) Неопухолевый (прогнозируемый)
Опухоль (наземная правда) 18 (ТП) 1 (ФН)
Неопухолевые (наземная правда) 6 (ФП) 452 (Тенн.)

Предыдущая матрица путаницы показывает следующее:

  • Из 19 прогнозов, в которых основной истиной была опухоль, модель правильно классифицировала 18 и неправильно классифицировала 1.
  • Из 458 прогнозов, в которых истинной истиной было отсутствие опухоли, модель правильно классифицировала 452 и неправильно классифицировала 6.

Матрица путаницы для проблемы классификации нескольких классов может помочь вам определить шаблоны ошибок. Например, рассмотрим следующую матрицу путаницы для трехклассовой мультиклассовой модели классификации, которая классифицирует три разных типа радужной оболочки (Virginica, Versicolor и Setosa). Когда основной истиной была Вирджиния, матрица путаницы показывает, что модель с гораздо большей вероятностью ошибочно предсказывала Versicolor, чем Setosa:

Сетоса (прогноз) Версиколор (прогноз) Вирджиния (прогноз)
Сетоса (наземная правда) 88 12 0
Версиколор (наземная правда) 6 141 7
Вирджиния (наземная правда) 2 27 109

В качестве еще одного примера матрица путаницы может показать, что модель, обученная распознавать рукописные цифры, имеет тенденцию ошибочно предсказывать 9 вместо 4 или ошибочно предсказывать 1 вместо 7.

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

непрерывная функция

#основы

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

В отличие от дискретной функции .

конвергенция

#основы

Достигнутое состояние, когда значения потерь меняются очень мало или вообще не меняются с каждой итерацией . Например, следующая кривая потерь предполагает сходимость примерно через 700 итераций:

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

Модель сходится , когда дополнительное обучение не улучшит модель.

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

См. также раннюю остановку .

Д

кадр данных

#основы

Популярный тип данных pandas для представления наборов данных в памяти.

DataFrame аналогичен таблице или электронной таблице. Каждый столбец DataFrame имеет имя (заголовок), а каждая строка идентифицируется уникальным номером.

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

См. также официальную справочную страницу pandas.DataFrame .

набор данных или набор данных

#основы

Набор необработанных данных, обычно (но не исключительно) организованный в одном из следующих форматов:

  • электронная таблица
  • файл в формате CSV (значения, разделенные запятыми)

глубокая модель

#основы

Нейронная сеть , содержащая более одного скрытого слоя .

Глубокая модель также называется глубокой нейронной сетью .

Контраст с широкой моделью .

плотная черта

#основы

Функция, в которой большинство или все значения не равны нулю, обычно тензор значений с плавающей запятой. Например, следующий 10-элементный тензор является плотным, поскольку 9 его значений отличны от нуля:

8 3 7 5 2 4 0 4 9 6

Контраст с разреженной чертой .

глубина

#основы

Сумма следующего в нейронной сети :

Например, нейронная сеть с пятью скрытыми слоями и одним выходным слоем имеет глубину 6.

Обратите внимание, что входной слой не влияет на глубину.

дискретная функция

#основы

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

В отличие от непрерывной функции .

динамичный

#основы

Что-то делается часто или постоянно. Термины « динамический » и « онлайн » являются синонимами в машинном обучении. Ниже приведены распространенные способы использования динамического и онлайн- обучения в машинном обучении:

  • Динамическая модель (или онлайн-модель ) — это модель, которая часто или постоянно переобучается.
  • Динамическое обучение (или онлайн-обучение ) — это процесс частого или непрерывного обучения.
  • Динамический вывод (или онлайн-вывод ) — это процесс создания прогнозов по запросу.

динамическая модель

#основы

Модель , которая часто (возможно, даже постоянно) переобучается. Динамическая модель — это «учеба на протяжении всей жизни», которая постоянно адаптируется к меняющимся данным. Динамическая модель также известна как онлайн-модель .

В отличие от статической модели .

Е

ранняя остановка

#основы

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

встраиваемый слой

#язык
#основы

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

Например, Земля в настоящее время поддерживает около 73 000 видов деревьев. Предположим, что древесные породы являются функцией вашей модели, поэтому входной слой вашей модели включает однократный вектор длиной 73 000 элементов. Например, возможно, baobab будет представлен примерно так:

Массив из 73 000 элементов. Первые 6 232 элемента содержат значение 0. Следующий элемент содержит значение 1. Последние 66 767 элементов содержат нулевое значение.

Массив из 73 000 элементов очень длинный. Если вы не добавите в модель слой внедрения, обучение займет очень много времени из-за умножения 72 999 нулей. Возможно, вы выбираете слой внедрения, состоящий из 12 измерений. Следовательно, слой внедрения будет постепенно изучать новый вектор внедрения для каждой породы деревьев.

В определенных ситуациях хеширование является разумной альтернативой встраивающему слою.

эпоха

#основы

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

Эпоха представляет N /обучающих итераций размера пакета , где N — общее количество примеров.

Например, предположим следующее:

  • Набор данных состоит из 1000 примеров.
  • Размер партии составляет 50 экземпляров.

Следовательно, для одной эпохи требуется 20 итераций:

1 epoch = (N/batch size) = (1,000 / 50) = 20 iterations

пример

#основы

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

  • Пример с меткой состоит из одной или нескольких функций и метки. Размеченные примеры используются во время обучения.
  • Пример без меток состоит из одной или нескольких функций, но без метки. Во время вывода используются неразмеченные примеры.

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

Функции Этикетка
Температура Влажность Давление Тестовый балл
15 47 998 Хороший
19 34 1020 Превосходно
18 92 1012 Бедный

Вот три немаркированных примера:

Температура Влажность Давление
12 62 1014
21 47 1017
19 41 1021

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

Ф

ложноотрицательный (FN)

#основы

Пример, в котором модель ошибочно предсказывает отрицательный класс . Например, модель предсказывает, что конкретное сообщение электронной почты не является спамом (отрицательный класс), но на самом деле является спамом .

ложноположительный результат (FP)

#основы

Пример, в котором модель ошибочно предсказывает положительный класс . Например, модель предсказывает, что конкретное сообщение электронной почты является спамом (положительный класс), но на самом деле это сообщение электронной почты не является спамом .

частота ложных срабатываний (FPR)

#основы

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

$$\text{false positive rate} = \frac{\text{false positives}}{\text{false positives} + \text{true negatives}}$$

Частота ложных срабатываний — это ось x на кривой ROC .

особенность

#основы

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

Функции Этикетка
Температура Влажность Давление Тестовый балл
15 47 998 92
19 34 1020 84
18 92 1012 87

Контраст с этикеткой .

черта креста

#основы

Синтетический признак , образованный путем «пересечения» категориальных или сегментированных признаков.

Например, рассмотрим модель «прогнозирования настроения», которая представляет температуру в одном из следующих четырех сегментов:

  • freezing
  • chilly
  • temperate
  • warm

И представляет скорость ветра в одном из следующих трех сегментов:

  • still
  • light
  • windy

Без перекрестных признаков линейная модель обучается независимо на каждом из предыдущих семи различных сегментов. Итак, модель тренируется, например, на freezing независимо от тренировки, например, на windy .

В качестве альтернативы вы можете создать перекрестную характеристику температуры и скорости ветра. Эта синтетическая функция будет иметь следующие 12 возможных значений:

  • freezing-still
  • freezing-light
  • freezing-windy
  • chilly-still
  • chilly-light
  • chilly-windy
  • temperate-still
  • temperate-light
  • temperate-windy
  • warm-still
  • warm-light
  • warm-windy

Благодаря перекрестным чертам модель может запоминать разницу в настроении между freezing-windy днем ​​и freezing-still днем.

Если вы создадите синтетическую функцию из двух функций, каждая из которых имеет множество разных сегментов, результирующий набор функций будет иметь огромное количество возможных комбинаций. Например, если одна функция имеет 1 000 сегментов, а другая — 2 000 сегментов, результирующий набор функций будет иметь 2 000 000 сегментов.

Формально крест является декартовым произведением .

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

разработка функций

#основы
#TensorFlow

Процесс, который включает следующие этапы:

  1. Определение того, какие функции могут быть полезны при обучении модели.
  2. Преобразование необработанных данных из набора данных в эффективные версии этих функций.

Например, вы можете определить, что temperature может быть полезной функцией. Затем вы можете поэкспериментировать с группировкой , чтобы оптимизировать то, что модель может узнать из разных temperature диапазонов.

Инжиниринг признаков иногда называют извлечением признаков .

набор функций

#основы

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

вектор признаков

#основы

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

[0.92, 0.56]

Четыре слоя: входной слой, два скрытых слоя и один выходной слой. Входной слой содержит два узла, один из которых содержит значение 0,92, а другой — значение 0,56.

Each example supplies different values for the feature vector, so the feature vector for the next example could be something like:

[0.73, 0.49]

Feature engineering determines how to represent features in the feature vector. For example, a binary categorical feature with five possible values might be represented with one-hot encoding . In this case, the portion of the feature vector for a particular example would consist of four zeroes and a single 1.0 in the third position, as follows:

[0.0, 0.0, 1.0, 0.0, 0.0]

As another example, suppose your model consists of three features:

  • a binary categorical feature with five possible values represented with one-hot encoding; for example: [0.0, 1.0, 0.0, 0.0, 0.0]
  • another binary categorical feature with three possible values represented with one-hot encoding; for example: [0.0, 0.0, 1.0]
  • a floating-point feature; for example: 8.3 .

In this case, the feature vector for each example would be represented by nine values. Given the example values in the preceding list, the feature vector would be:

0.0
1.0
0.0
0.0
0.0
0.0
0.0
1.0
8.3

feedback loop

#fundamentals

In machine learning, a situation in which a model's predictions influence the training data for the same model or another model. For example, a model that recommends movies will influence the movies that people see, which will then influence subsequent movie recommendation models.

G

generalization

#fundamentals

A model's ability to make correct predictions on new, previously unseen data. A model that can generalize is the opposite of a model that is overfitting .

generalization curve

#fundamentals

A plot of both training loss and validation loss as a function of the number of iterations .

A generalization curve can help you detect possible overfitting . For example, the following generalization curve suggests overfitting because validation loss ultimately becomes significantly higher than training loss.

A Cartesian graph in which the y-axis is labeled 'loss' and the x-axis
          is labeled 'iterations'. Two plots appear. One plots shows the
          training loss and the other shows the validation loss.
          The two plots start off similarly, but the training loss eventually
          dips far lower than the validation loss.

gradient descent

#fundamentals

A mathematical technique to minimize loss . Gradient descent iteratively adjusts weights and biases , gradually finding the best combination to minimize loss.

Gradient descent is older—much, much older—than machine learning.

ground truth

#fundamentals

Reality.

The thing that actually happened.

For example, consider a binary classification model that predicts whether a student in their first year of university will graduate within six years. Ground truth for this model is whether or not that student actually graduated within six years.

H

hidden layer

#fundamentals

A layer in a neural network between the input layer (the features) and the output layer (the prediction). Each hidden layer consists of one or more neurons . For example, the following neural network contains two hidden layers, the first with three neurons and the second with two neurons:

Four layers. The first layer is an input layer containing two
          features. The second layer is a hidden layer containing three
          neurons. The third layer is a hidden layer containing two
          neurons. The fourth layer is an output layer. Each feature
          contains three edges, each of which points to a different neuron
          in the second layer. Each of the neurons in the second layer
          contains two edges, each of which points to a different neuron
          in the third layer. Each of the neurons in the third layer contain
          one edge, each pointing to the output layer.

A deep neural network contains more than one hidden layer. For example, the preceding illustration is a deep neural network because the model contains two hidden layers.

hyperparameter

#fundamentals

The variables that you or a hyperparameter tuning serviceadjust during successive runs of training a model. For example, learning rate is a hyperparameter. You could set the learning rate to 0.01 before one training session. If you determine that 0.01 is too high, you could perhaps set the learning rate to 0.003 for the next training session.

In contrast, parameters are the various weights and bias that the model learns during training.

I

independently and identically distributed (iid)

#fundamentals

Data drawn from a distribution that doesn't change, and where each value drawn doesn't depend on values that have been drawn previously. An iid is the ideal gas of machine learning—a useful mathematical construct but almost never exactly found in the real world. For example, the distribution of visitors to a web page may be iid over a brief window of time; that is, the distribution doesn't change during that brief window and one person's visit is generally independent of another's visit. However, if you expand that window of time, seasonal differences in the web page's visitors may appear.

See also nonstationarity .

inference

#fundamentals

In machine learning, the process of making predictions by applying a trained model to unlabeled examples .

Inference has a somewhat different meaning in statistics. See the Wikipedia article on statistical inference for details.

input layer

#fundamentals

The layer of a neural network that holds the feature vector . That is, the input layer provides examples for training or inference . For example, the input layer in the following neural network consists of two features:

Four layers: an input layer, two hidden layers, and an output layer.

interpretability

#fundamentals

The ability to explain or to present an ML model's reasoning in understandable terms to a human.

Most linear regression models, for example, are highly interpretable. (You merely need to look at the trained weights for each feature.) Decision forests are also highly interpretable. Some models, however, require sophisticated visualization to become interpretable.

iteration

#fundamentals

A single update of a model's parameters—the model's weights and biases —during training . The batch size determines how many examples the model processes in a single iteration. For instance, if the batch size is 20, then the model processes 20 examples before adjusting the parameters.

When training a neural network , a single iteration involves the following two passes:

  1. A forward pass to evaluate loss on a single batch.
  2. A backward pass ( backpropagation ) to adjust the model's parameters based on the loss and the learning rate.

L

L 0 regularization

#fundamentals

A type of regularization that penalizes the total number of nonzero weights in a model. For example, a model having 11 nonzero weights would be penalized more than a similar model having 10 nonzero weights.

L 0 regularization is seldom used.

L 1 loss

#fundamentals

A loss function that calculates the absolute value of the difference between actual label values and the values that a model predicts. For example, here's the calculation of L 1 loss for a batch of five examples :

Actual value of example Model's predicted value Absolute value of delta
7 6 1
5 4 1
8 11 3
4 6 2
9 8 1
8 = L 1 loss

L 1 loss is less sensitive to outliers than L 2 loss .

The Mean Absolute Error is the average L 1 loss per example.

L 1 regularization

#fundamentals

A type of regularization that penalizes weights in proportion to the sum of the absolute value of the weights. L 1 regularization helps drive the weights of irrelevant or barely relevant features to exactly 0 . A feature with a weight of 0 is effectively removed from the model.

Contrast with L 2 regularization .

L 2 loss

#fundamentals

A loss function that calculates the square of the difference between actual label values and the values that a model predicts. For example, here's the calculation of L 2 loss for a batch of five examples :

Actual value of example Model's predicted value Square of delta
7 6 1
5 4 1
8 11 9
4 6 4
9 8 1
16 = L 2 loss

Due to squaring, L 2 loss amplifies the influence of outliers . That is, L 2 loss reacts more strongly to bad predictions than L 1 loss . For example, the L 1 loss for the preceding batch would be 8 rather than 16. Notice that a single outlier accounts for 9 of the 16.

Regression models typically use L 2 loss as the loss function.

The Mean Squared Error is the average L 2 loss per example. Squared loss is another name for L 2 loss.

L 2 regularization

#fundamentals

A type of regularization that penalizes weights in proportion to the sum of the squares of the weights. L 2 regularization helps drive outlier weights (those with high positive or low negative values) closer to 0 but not quite to 0 . Features with values very close to 0 remain in the model but don't influence the model's prediction very much.

L 2 regularization always improves generalization in linear models .

Contrast with L 1 regularization .

label

#fundamentals

In supervised machine learning , the "answer" or "result" portion of an example .

Each labeled example consists of one or more features and a label. For instance, in a spam detection dataset, the label would probably be either "spam" or "not spam." In a rainfall dataset, the label might be the amount of rain that fell during a certain period.

labeled example

#fundamentals

An example that contains one or more features and a label . For example, the following table shows three labeled examples from a house valuation model, each with three features and one label:

Number of bedrooms Number of bathrooms House age House price (label)
3 2 15 $345,000
2 1 72 $179,000
4 2 34 $392,000

In supervised machine learning , models train on labeled examples and make predictions on unlabeled examples .

Contrast labeled example with unlabeled examples.

lambda

#fundamentals

Synonym for regularization rate .

Lambda is an overloaded term. Here we're focusing on the term's definition within regularization .

layer

#fundamentals

A set of neurons in a neural network . Three common types of layers are as follows:

For example, the following illustration shows a neural network with one input layer, two hidden layers, and one output layer:

A neural network with one input layer, two hidden layers, and one
          output layer. The input layer consists of two features. The first
          hidden layer consists of three neurons and the second hidden layer
          consists of two neurons. The output layer consists of a single node.

In TensorFlow , layers are also Python functions that take Tensors and configuration options as input and produce other tensors as output.

learning rate

#fundamentals

A floating-point number that tells the gradient descent algorithm how strongly to adjust weights and biases on each iteration . For example, a learning rate of 0.3 would adjust weights and biases three times more powerfully than a learning rate of 0.1.

Learning rate is a key hyperparameter . If you set the learning rate too low, training will take too long. If you set the learning rate too high, gradient descent often has trouble reaching convergence .

linear model

#fundamentals

A model that assigns one weight per feature to make predictions . (Linear models also incorporate a bias .) In contrast, the relationship of features to predictions in deep models is generally nonlinear .

Linear models are usually easier to train and more interpretable than deep models. However, deep models can learn complex relationships between features.

Linear regression and logistic regression are two types of linear models.

linear

#fundamentals

A relationship between two or more variables that can be represented solely through addition and multiplication.

The plot of a linear relationship is a line.

Contrast with nonlinear .

linear regression

#fundamentals

A type of machine learning model in which both of the following are true:

  • The model is a linear model .
  • The prediction is a floating-point value. (This is the regression part of linear regression .)

Contrast linear regression with logistic regression . Also, contrast regression with classification .

logistic regression

#fundamentals

A type of regression model that predicts a probability. Logistic regression models have the following characteristics:

  • The label is categorical . The term logistic regression usually refers to binary logistic regression , that is, to a model that calculates probabilities for labels with two possible values. A less common variant, multinomial logistic regression , calculates probabilities for labels with more than two possible values.
  • The loss function during training is Log Loss . (Multiple Log Loss units can be placed in parallel for labels with more than two possible values.)
  • The model has a linear architecture, not a deep neural network. However, the remainder of this definition also applies to deep models that predict probabilities for categorical labels.

For example, consider a logistic regression model that calculates the probability of an input email being either spam or not spam. During inference, suppose the model predicts 0.72. Therefore, the model is estimating:

  • A 72% chance of the email being spam.
  • A 28% chance of the email not being spam.

A logistic regression model uses the following two-step architecture:

  1. The model generates a raw prediction (y') by applying a linear function of input features.
  2. The model uses that raw prediction as input to a sigmoid function , which converts the raw prediction to a value between 0 and 1, exclusive.

Like any regression model, a logistic regression model predicts a number. However, this number typically becomes part of a binary classification model as follows:

  • If the predicted number is greater than the classification threshold , the binary classification model predicts the positive class.
  • If the predicted number is less than the classification threshold, the binary classification model predicts the negative class.

Log Loss

#fundamentals

The loss function used in binary logistic regression .

log-odds

#fundamentals

The logarithm of the odds of some event.

loss

#fundamentals

During the training of a supervised model , a measure of how far a model's prediction is from its label .

A loss function calculates the loss.

loss curve

#fundamentals

A plot of loss as a function of the number of training iterations . The following plot shows a typical loss curve:

A Cartesian graph of loss versus training iterations, showing a
          rapid drop in loss for the initial iterations, followed by a gradual
          drop, and then a flat slope during the final iterations.

Loss curves can help you determine when your model is converging or overfitting .

Loss curves can plot all of the following types of loss:

See also generalization curve .

loss function

#fundamentals

During training or testing, a mathematical function that calculates the loss on a batch of examples. A loss function returns a lower loss for models that makes good predictions than for models that make bad predictions.

The goal of training is typically to minimize the loss that a loss function returns.

Many different kinds of loss functions exist. Pick the appropriate loss function for the kind of model you are building. For example:

M

machine learning

#fundamentals

A program or system that trains a model from input data. The trained model can make useful predictions from new (never-before-seen) data drawn from the same distribution as the one used to train the model.

Machine learning also refers to the field of study concerned with these programs or systems.

majority class

#fundamentals

The more common label in a class-imbalanced dataset . For example, given a dataset containing 99% negative labels and 1% positive labels, the negative labels are the majority class.

Contrast with minority class .

mini-batch

#fundamentals

A small, randomly selected subset of a batch processed in one iteration . The batch size of a mini-batch is usually between 10 and 1,000 examples.

For example, suppose the entire training set (the full batch) consists of 1,000 examples. Further suppose that you set the batch size of each mini-batch to 20. Therefore, each iteration determines the loss on a random 20 of the 1,000 examples and then adjusts the weights and biases accordingly.

It is much more efficient to calculate the loss on a mini-batch than the loss on all the examples in the full batch.

minority class

#fundamentals

The less common label in a class-imbalanced dataset . For example, given a dataset containing 99% negative labels and 1% positive labels, the positive labels are the minority class.

Contrast with majority class .

model

#fundamentals

In general, any mathematical construct that processes input data and returns output. Phrased differently, a model is the set of parameters and structure needed for a system to make predictions. In supervised machine learning , a model takes an example as input and infers a prediction as output. Within supervised machine learning, models differ somewhat. For example:

  • A linear regression model consists of a set of weights and a bias .
  • A neural network model consists of:
    • A set of hidden layers , each containing one or more neurons .
    • The weights and bias associated with each neuron.
  • A decision tree model consists of:
    • The shape of the tree; that is, the pattern in which the conditions and leaves are connected.
    • The conditions and leaves.

You can save, restore, or make copies of a model.

Unsupervised machine learning also generates models, typically a function that can map an input example to the most appropriate cluster .

multi-class classification

#fundamentals

In supervised learning, a classification problem in which the dataset contains more than two classes of labels. For example, the labels in the Iris dataset must be one of the following three classes:

  • Iris setosa
  • Iris virginica
  • Iris versicolor

A model trained on the Iris dataset that predicts Iris type on new examples is performing multi-class classification.

In contrast, classification problems that distinguish between exactly two classes are binary classification models . For example, an email model that predicts either spam or not spam is a binary classification model.

In clustering problems, multi-class classification refers to more than two clusters.

N

negative class

#fundamentals

In binary classification , one class is termed positive and the other is termed negative . The positive class is the thing or event that the model is testing for and the negative class is the other possibility. For example:

  • The negative class in a medical test might be "not tumor."
  • The negative class in an email classifier might be "not spam."

Contrast with positive class .

neural network

#fundamentals

A model containing at least one hidden layer . A deep neural network is a type of neural network containing more than one hidden layer. For example, the following diagram shows a deep neural network containing two hidden layers.

A neural network with an input layer, two hidden layers, and an
          output layer.

Each neuron in a neural network connects to all of the nodes in the next layer. For example, in the preceding diagram, notice that each of the three neurons in the first hidden layer separately connect to both of the two neurons in the second hidden layer.

Neural networks implemented on computers are sometimes called artificial neural networks to differentiate them from neural networks found in brains and other nervous systems.

Some neural networks can mimic extremely complex nonlinear relationships between different features and the label.

See also convolutional neural network and recurrent neural network .

neuron

#fundamentals

In machine learning, a distinct unit within a hidden layer of a neural network . Each neuron performs the following two-step action:

  1. Calculates the weighted sum of input values multiplied by their corresponding weights.
  2. Passes the weighted sum as input to an activation function .

A neuron in the first hidden layer accepts inputs from the feature values in the input layer . A neuron in any hidden layer beyond the first accepts inputs from the neurons in the preceding hidden layer. For example, a neuron in the second hidden layer accepts inputs from the neurons in the first hidden layer.

The following illustration highlights two neurons and their inputs.

A neural network with an input layer, two hidden layers, and an
          output layer. Two neurons are highlighted: one in the first
          hidden layer and one in the second hidden layer. The highlighted
          neuron in the first hidden layer receives inputs from both features
          in the input layer. The highlighted neuron in the second hidden layer
          receives inputs from each of the three neurons in the first hidden
          layer.

A neuron in a neural network mimics the behavior of neurons in brains and other parts of nervous systems.

node (neural network)

#fundamentals

A neuron in a hidden layer .

nonlinear

#fundamentals

A relationship between two or more variables that can't be represented solely through addition and multiplication. A linear relationship can be represented as a line; a nonlinear relationship can't be represented as a line. For example, consider two models that each relate a single feature to a single label. The model on the left is linear and the model on the right is nonlinear:

Two plots. One plot is a line, so this is a linear relationship.
          The other plot is a curve, so this is a nonlinear relationship.

nonstationarity

#fundamentals

A feature whose values change across one or more dimensions, usually time. For example, consider the following examples of nonstationarity:

  • The number of swimsuits sold at a particular store varies with the season.
  • The quantity of a particular fruit harvested in a particular region is zero for much of the year but large for a brief period.
  • Due to climate change, annual mean temperatures are shifting.

Contrast with stationarity .

normalization

#fundamentals

Broadly speaking, the process of converting a variable's actual range of values into a standard range of values, such as:

  • -1 to +1
  • 0 to 1
  • the normal distribution

For example, suppose the actual range of values of a certain feature is 800 to 2,400. As part of feature engineering , you could normalize the actual values down to a standard range, such as -1 to +1.

Normalization is a common task in feature engineering . Models usually train faster (and produce better predictions) when every numerical feature in the feature vector has roughly the same range.

numerical data

#fundamentals

Features represented as integers or real-valued numbers. For example, a house valuation model would probably represent the size of a house (in square feet or square meters) as numerical data. Representing a feature as numerical data indicates that the feature's values have a mathematical relationship to the label. That is, the number of square meters in a house probably has some mathematical relationship to the value of the house.

Not all integer data should be represented as numerical data. For example, postal codes in some parts of the world are integers; however, integer postal codes should not be represented as numerical data in models. That's because a postal code of 20000 is not twice (or half) as potent as a postal code of 10000. Furthermore, although different postal codes do correlate to different real estate values, we can't assume that real estate values at postal code 20000 are twice as valuable as real estate values at postal code 10000. Postal codes should be represented as categorical data instead.

Numerical features are sometimes called continuous features .

O

offline

#fundamentals

Synonym for static .

offline inference

#fundamentals

The process of a model generating a batch of predictions and then caching (saving) those predictions. Apps can then access the desired prediction from the cache rather than rerunning the model.

For example, consider a model that generates local weather forecasts (predictions) once every four hours. After each model run, the system caches all the local weather forecasts. Weather apps retrieve the forecasts from the cache.

Offline inference is also called static inference .

Contrast with online inference .

one-hot encoding

#fundamentals

Representing categorical data as a vector in which:

  • One element is set to 1.
  • All other elements are set to 0.

One-hot encoding is commonly used to represent strings or identifiers that have a finite set of possible values. For example, suppose a certain categorical feature named Scandinavia has five possible values:

  • "Denmark"
  • "Sweden"
  • "Norway"
  • "Finland"
  • "Iceland"

One-hot encoding could represent each of the five values as follows:

country Vector
"Denmark" 1 0 0 0 0
"Sweden" 0 1 0 0 0
"Norway" 0 0 1 0 0
"Finland" 0 0 0 1 0
"Iceland" 0 0 0 0 1

Thanks to one-hot encoding, a model can learn different connections based on each of the five countries.

Representing a feature as numerical data is an alternative to one-hot encoding. Unfortunately, representing the Scandinavian countries numerically is not a good choice. For example, consider the following numeric representation:

  • "Denmark" is 0
  • "Sweden" is 1
  • "Norway" is 2
  • "Finland" is 3
  • "Iceland" is 4

With numeric encoding, a model would interpret the raw numbers mathematically and would try to train on those numbers. However, Iceland isn't actually twice as much (or half as much) of something as Norway, so the model would come to some strange conclusions.

one-vs.-all

#fundamentals

Given a classification problem with N classes, a solution consisting of N separate binary classifiers —one binary classifier for each possible outcome. For example, given a model that classifies examples as animal, vegetable, or mineral, a one-vs.-all solution would provide the following three separate binary classifiers:

  • animal vs. not animal
  • vegetable vs. not vegetable
  • mineral vs. not mineral

online

#fundamentals

Synonym for dynamic .

online inference

#fundamentals

Generating predictions on demand. For example, suppose an app passes input to a model and issues a request for a prediction. A system using online inference responds to the request by running the model (and returning the prediction to the app).

Contrast with offline inference .

output layer

#fundamentals

The "final" layer of a neural network. The output layer contains the prediction.

The following illustration shows a small deep neural network with an input layer, two hidden layers, and an output layer:

A neural network with one input layer, two hidden layers, and one
          output layer. The input layer consists of two features. The first
          hidden layer consists of three neurons and the second hidden layer
          consists of two neurons. The output layer consists of a single node.

overfitting

#fundamentals

Creating a model that matches the training data so closely that the model fails to make correct predictions on new data.

Regularization can reduce overfitting. Training on a large and diverse training set can also reduce overfitting.

P

pandas

#fundamentals

A column-oriented data analysis API built on top of numpy . Many machine learning frameworks, including TensorFlow, support pandas data structures as inputs. See the pandas documentation for details.

parameter

#fundamentals

The weights and biases that a model learns during training . For example, in a linear regression model, the parameters consist of the bias ( b ) and all the weights ( w 1 , w 2 , and so on) in the following formula:

$$y' = b + w_1x_1 + w_2x_2 + … w_nx_n$$

In contrast, hyperparameter are the values that you (or a hyperparameter turning service) supply to the model. For example, learning rate is a hyperparameter.

positive class

#fundamentals

The class you are testing for.

For example, the positive class in a cancer model might be "tumor." The positive class in an email classifier might be "spam."

Contrast with negative class .

post-processing

#fairness
#fundamentals

Adjusting the output of a model after the model has been run. Post-processing can be used to enforce fairness constraints without modifying models themselves.

For example, one might apply post-processing to a binary classifier by setting a classification threshold such that equality of opportunity is maintained for some attribute by checking that the true positive rate is the same for all values of that attribute.

prediction

#fundamentals

A model's output. For example:

  • The prediction of a binary classification model is either the positive class or the negative class.
  • The prediction of a multi-class classification model is one class.
  • The prediction of a linear regression model is a number.

proxy labels

#fundamentals

Data used to approximate labels not directly available in a dataset.

For example, suppose you must train a model to predict employee stress level. Your dataset contains a lot of predictive features but doesn't contain a label named stress level. Undaunted, you pick "workplace accidents" as a proxy label for stress level. After all, employees under high stress get into more accidents than calm employees. Or do they? Maybe workplace accidents actually rise and fall for multiple reasons.

As a second example, suppose you want is it raining? to be a Boolean label for your dataset, but your dataset doesn't contain rain data. If photographs are available, you might establish pictures of people carrying umbrellas as a proxy label for is it raining? Is that a good proxy label? Possibly, but people in some cultures may be more likely to carry umbrellas to protect against sun than the rain.

Proxy labels are often imperfect. When possible, choose actual labels over proxy labels. That said, when an actual label is absent, pick the proxy label very carefully, choosing the least horrible proxy label candidate.

R

rater

#fundamentals

A human who provides labels for examples . "Annotator" is another name for rater.

Rectified Linear Unit (ReLU)

#fundamentals

An activation function with the following behavior:

  • If input is negative or zero, then the output is 0.
  • If input is positive, then the output is equal to the input.

For example:

  • If the input is -3, then the output is 0.
  • If the input is +3, then the output is 3.0.

Here is a plot of ReLU:

A cartesian plot of two lines. The first line has a constant
          y value of 0, running along the x-axis from -infinity,0 to 0,-0.
          The second line starts at 0,0. This line has a slope of +1, so
          it runs from 0,0 to +infinity,+infinity.

ReLU is a very popular activation function. Despite its simple behavior, ReLU still enables a neural network to learn nonlinear relationships between features and the label .

regression model

#fundamentals

Informally, a model that generates a numerical prediction. (In contrast, a classification model generates a class prediction.) For example, the following are all regression models:

  • A model that predicts a certain house's value, such as 423,000 Euros.
  • A model that predicts a certain tree's life expectancy, such as 23.2 years.
  • A model that predicts the amount of rain that will fall in a certain city over the next six hours, such as 0.18 inches.

Two common types of regression models are:

  • Linear regression , which finds the line that best fits label values to features.
  • Logistic regression , which generates a probability between 0.0 and 1.0 that a system typically then maps to a class prediction.

Not every model that outputs numerical predictions is a regression model. In some cases, a numeric prediction is really just a classification model that happens to have numeric class names. For example, a model that predicts a numeric postal code is a classification model, not a regression model.

regularization

#fundamentals

Any mechanism that reduces overfitting . Popular types of regularization include:

Regularization can also be defined as the penalty on a model's complexity.

regularization rate

#fundamentals

A number that specifies the relative importance of regularization during training. Raising the regularization rate reduces overfitting but may reduce the model's predictive power. Conversely, reducing or omitting the regularization rate increases overfitting.

ReLU

#fundamentals

Abbreviation for Rectified Linear Unit .

ROC (receiver operating characteristic) Curve

#fundamentals

A graph of true positive rate vs. false positive rate for different classification thresholds in binary classification.

The shape of an ROC curve suggests a binary classification model's ability to separate positive classes from negative classes. Suppose, for example, that a binary classification model perfectly separates all the negative classes from all the positive classes:

A number line with 8 positive examples on the right side and
          7 negative examples on the left.

The ROC curve for the preceding model looks as follows:

An ROC curve. The x-axis is False Positive Rate and the y-axis
          is True Positive Rate. The curve has an inverted L shape. The curve
          starts at (0.0,0.0) and goes straight up to (0.0,1.0). Then the curve
          goes from (0.0,1.0) to (1.0,1.0).

In contrast, the following illustration graphs the raw logistic regression values for a terrible model that can't separate negative classes from positive classes at all:

A number line with positive examples and negative classes
          completely intermixed.

The ROC curve for this model looks as follows:

An ROC curve, which is actually a straight line from (0.0,0.0)
          to (1.0,1.0).

Meanwhile, back in the real world, most binary classification models separate positive and negative classes to some degree, but usually not perfectly. So, a typical ROC curve falls somewhere between the two extremes:

An ROC curve. The x-axis is False Positive Rate and the y-axis
          is True Positive Rate. The ROC curve approximates a shaky arc
          traversing the compass points from West to North.

The point on an ROC curve closest to (0.0,1.0) theoretically identifies the ideal classification threshold. However, several other real-world issues influence the selection of the ideal classification threshold. For example, perhaps false negatives cause far more pain than false positives.

A numerical metric called AUC summarizes the ROC curve into a single floating-point value.

Root Mean Squared Error (RMSE)

#fundamentals

The square root of the Mean Squared Error .

S

sigmoid function

#fundamentals

A mathematical function that "squishes" an input value into a constrained range, typically 0 to 1 or -1 to +1. That is, you can pass any number (two, a million, negative billion, whatever) to a sigmoid and the output will still be in the constrained range. A plot of the sigmoid activation function looks as follows:

A two-dimensional curved plot with x values spanning the domain
          -infinity to +positive, while y values span the range almost 0 to
          almost 1. When x is 0, y is 0.5. The slope of the curve is always
          positive, with the highest slope at 0,0.5 and gradually decreasing
          slopes as the absolute value of x increases.

The sigmoid function has several uses in machine learning, including:

softmax

#fundamentals

A function that determines probabilities for each possible class in a multi-class classification model . The probabilities add up to exactly 1.0. For example, the following table shows how softmax distributes various probabilities:

Image is a... Probability
dog .85
cat .13
horse .02

Softmax is also called full softmax .

Contrast with candidate sampling .

sparse feature

#language
#fundamentals

A feature whose values are predominately zero or empty. For example, a feature containing a single 1 value and a million 0 values is sparse. In contrast, a dense feature has values that are predominantly not zero or empty.

In machine learning, a surprising number of features are sparse features. Categorical features are usually sparse features. For example, of the 300 possible tree species in a forest, a single example might identify just a maple tree . Or, of the millions of possible videos in a video library, a single example might identify just "Casablanca."

In a model, you typically represent sparse features with one-hot encoding . If the one-hot encoding is big, you might put an embedding layer on top of the one-hot encoding for greater efficiency.

sparse representation

#language
#fundamentals

Storing only the position(s) of nonzero elements in a sparse feature.

For example, suppose a categorical feature named species identifies the 36 tree species in a particular forest. Further assume that each example identifies only a single species.

You could use a one-hot vector to represent the tree species in each example. A one-hot vector would contain a single 1 (to represent the particular tree species in that example) and 35 0 s (to represent the 35 tree species not in that example). So, the one-hot representation of maple might look something like the following:

A vector in which positions 0 through 23 hold the value 0, position
          24 holds the value 1, and positions 25 through 35 hold the value 0.

Alternatively, sparse representation would simply identify the position of the particular species. If maple is at position 24, then the sparse representation of maple would simply be:

24

Notice that the sparse representation is much more compact than the one-hot representation.

sparse vector

#fundamentals

A vector whose values are mostly zeroes. See also sparse feature and sparsity .

squared loss

#fundamentals

Synonym for L 2 loss .

static

#fundamentals

Something done once rather than continuously. The terms static and offline are synonyms. The following are common uses of static and offline in machine learning:

  • static model (or offline model ) is a model trained once and then used for a while.
  • static training (or offline training ) is the process of training a static model.
  • static inference (or offline inference ) is a process in which a model generates a batch of predictions at a time.

Contrast with dynamic .

static inference

#fundamentals

Synonym for offline inference .

stationarity

#fundamentals

A feature whose values don't change across one or more dimensions, usually time. For example, a feature whose values look about the same in 2020 and 2022 exhibits stationarity.

In the real world, very few features exhibit stationarity. Even features synonymous with stability (like sea level) change over time.

Contrast with nonstationarity .

stochastic gradient descent (SGD)

#fundamentals

A gradient descent algorithm in which the batch size is one. In other words, SGD trains on a single example chosen uniformly at random from a training set .

supervised machine learning

#fundamentals

Training a model from features and their corresponding labels . Supervised machine learning is analogous to learning a subject by studying a set of questions and their corresponding answers. After mastering the mapping between questions and answers, a student can then provide answers to new (never-before-seen) questions on the same topic.

Compare with unsupervised machine learning .

synthetic feature

#fundamentals

A feature not present among the input features, but assembled from one or more of them. Methods for creating synthetic features include the following:

  • Bucketing a continuous feature into range bins.
  • Creating a feature cross .
  • Multiplying (or dividing) one feature value by other feature value(s) or by itself. For example, if a and b are input features, then the following are examples of synthetic features:
    • ab
    • a 2
  • Applying a transcendental function to a feature value. For example, if c is an input feature, then the following are examples of synthetic features:
    • sin(c)
    • ln(c)

Features created by normalizing or scaling alone are not considered synthetic features.

T

test loss

#fundamentals

A metric representing a model's loss against the test set . When building a model , you typically try to minimize test loss. That's because a low test loss is a stronger quality signal than a low training loss or low validation loss .

A large gap between test loss and training loss or validation loss sometimes suggests that you need to increase the regularization rate .

training

#fundamentals

The process of determining the ideal parameters (weights and biases) comprising a model . During training, a system reads in examples and gradually adjusts parameters. Training uses each example anywhere from a few times to billions of times.

training loss

#fundamentals

A metric representing a model's loss during a particular training iteration. For example, suppose the loss function is Mean Squared Error . Perhaps the training loss (the Mean Squared Error) for the 10th iteration is 2.2, and the training loss for the 100th iteration is 1.9.

A loss curve plots training loss vs. the number of iterations. A loss curve provides the following hints about training:

  • A downward slope implies that the model is improving.
  • An upward slope implies that the model is getting worse.
  • A flat slope implies that the model has reached convergence .

For example, the following somewhat idealized loss curve shows:

  • A steep downward slope during the initial iterations, which implies rapid model improvement.
  • A gradually flattening (but still downward) slope until close to the end of training, which implies continued model improvement at a somewhat slower pace then during the initial iterations.
  • A flat slope towards the end of training, which suggests convergence.

The plot of training loss vs. iterations. This loss curve starts
     with a steep downward slope. The slope gradually flattens until the
     slope becomes zero.

Although training loss is important, see also generalization .

training-serving skew

#fundamentals

The difference between a model's performance during training and that same model's performance during serving .

training set

#fundamentals

The subset of the dataset used to train a model .

Traditionally, examples in the dataset are divided into the following three distinct subsets:

Ideally, each example in the dataset should belong to only one of the preceding subsets. For example, a single example should not belong to both the training set and the validation set.

true negative (TN)

#fundamentals

An example in which the model correctly predicts the negative class . For example, the model infers that a particular email message is not spam , and that email message really is not spam .

true positive (TP)

#fundamentals

An example in which the model correctly predicts the positive class . For example, the model infers that a particular email message is spam, and that email message really is spam.

true positive rate (TPR)

#fundamentals

Synonym for recall . That is:

$$\text{true positive rate} = \frac{\text{true positives}} {\text{true positives} + \text{false negatives}}$$

True positive rate is the y-axis in an ROC curve .

U

underfitting

#fundamentals

Producing a model with poor predictive ability because the model hasn't fully captured the complexity of the training data. Many problems can cause underfitting, including:

unlabeled example

#fundamentals

An example that contains features but no label . For example, the following table shows three unlabeled examples from a house valuation model, each with three features but no house value:

Number of bedrooms Number of bathrooms House age
3 2 15
2 1 72
4 2 34

In supervised machine learning , models train on labeled examples and make predictions on unlabeled examples .

In semi-supervised and unsupervised learning, unlabeled examples are used during training.

Contrast unlabeled example with labeled example .

unsupervised machine learning

#clustering
#fundamentals

Training a model to find patterns in a dataset, typically an unlabeled dataset.

The most common use of unsupervised machine learning is to cluster data into groups of similar examples. For example, an unsupervised machine learning algorithm can cluster songs based on various properties of the music. The resulting clusters can become an input to other machine learning algorithms (for example, to a music recommendation service). Clustering can help when useful labels are scarce or absent. For example, in domains such as anti-abuse and fraud, clusters can help humans better understand the data.

Contrast with supervised machine learning .

V

validation

#fundamentals

The initial evaluation of a model's quality. Validation checks the quality of a model's predictions against the validation set .

Because the validation set differs from the training set , validation helps guard against overfitting .

You might think of evaluating the model against the validation set as the first round of testing and evaluating the model against the test set as the second round of testing.

validation loss

#fundamentals

A metric representing a model's loss on the validation set during a particular iteration of training.

See also generalization curve .

validation set

#fundamentals

The subset of the dataset that performs initial evaluation against a trained model . Typically, you evaluate the trained model against the validation set several times before evaluating the model against the test set .

Traditionally, you divide the examples in the dataset into the following three distinct subsets:

Ideally, each example in the dataset should belong to only one of the preceding subsets. For example, a single example should not belong to both the training set and the validation set.

W

weight

#fundamentals

A value that a model multiplies by another value. Training is the process of determining a model's ideal weights; inference is the process of using those learned weights to make predictions.

weighted sum

#fundamentals

The sum of all the relevant input values multiplied by their corresponding weights. For example, suppose the relevant inputs consist of the following:

input value input weight
2 -1.3
-1 0.6
3 0.4

The weighted sum is therefore:

weighted sum = (2)(-1.3) + (-1)(0.6) + (3)(0.4) = -2.0

A weighted sum is the input argument to an activation function .

Z

Z-score normalization

#fundamentals

A scaling technique that replaces a raw feature value with a floating-point value representing the number of standard deviations from that feature's mean. For example, consider a feature whose mean is 800 and whose standard deviation is 100. The following table shows how Z-score normalization would map the raw value to its Z-score:

Raw value Z-score
800 0
950 +1.5
575 -2.25

The machine learning model then trains on the Z-scores for that feature instead of on the raw values.