Тема 00

Введение

Введение

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

Под методами искусственного интеллекта (англ. artificial intelligence, AI; далее — ИИ) здесь понимается совокупность алгоритмических подходов, позволяющих компьютерной программе решать задачи, традиционно считавшиеся прерогативой человеческого интеллекта: распознавание образов, классификацию ситуаций, прогнозирование, рассуждение по неполным сведениям, понимание текста. Современный ИИ — это в первую очередь машинное обучение: построение моделей не через явное программирование правил, а через обучение на примерах. Однако сводить всю дисциплину к одному машинному обучению было бы неверно. Историческое ядро ИИ — символьные методы: поиск в пространстве состояний, логический вывод, представление знаний. Они продолжают применяться в навигационных сервисах, игровых движках, системах планирования и проверке программного обеспечения. Поэтому изложение охватывает оба больших класса методов: сначала кратко рассматриваются символьные подходы, что даёт исторический и концептуальный контекст, а затем основное внимание сосредоточено на машинном обучении — формализации задачи, классических алгоритмах, ансамблевых методах, нейронных сетях и современных моделях на основе трансформеров.

Девять тем пособия складываются в четыре смысловых блока. Первый — исторический и концептуальный контекст: что такое ИИ, какие подходы в нём сложились исторически, какое место занимает машинное обучение и какова роль символьных методов. Второй блок — классическое машинное обучение: формализация задачи, алгоритмы классификации и регрессии, обучение без учителя. Третий — методология и ансамбли: кросс-валидация, подбор гиперпараметров, случайный лес, градиентный бустинг, стэкинг; он намеренно идёт после конкретных алгоритмов, так как без понимания того, какие модели сравниваются, методология выбора лишена смысла. Четвёртый блок — нейронные сети и современный ИИ: многослойный перцептрон, обратное распространение ошибки, свёрточные и рекуррентные архитектуры, обработка естественного языка, большие языковые модели и трансформеры.

Изложение рассчитано на студента бакалавриата, прослушавшего вводный курс по анализу данных. Потребуются уверенное владение Python и библиотеками NumPy и Pandas, знакомство с типовыми операциями анализа данных, а также базовые сведения из линейной алгебры (векторы, матрицы, умножение матриц), математического анализа (производная, градиент) и теории вероятностей (случайная величина, распределение, математическое ожидание). Глубокого знакомства с математической статистикой не требуется: необходимые понятия вводятся по ходу изложения. Однако пробелы в перечисленных областях стоит закрыть заранее — обращаться к справочникам в момент, когда уже идёт разбор алгоритма, значительно менее эффективно.