Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Следующая версия
Предыдущая версия
Следующая версия Следующая версия справа и слева
research:prob_class_text [2018/08/22 19:19]
nina создано
research:prob_class_text [2019/11/30 18:21]
nina [Задание 1]
Строка 1: Строка 1:
 ====== Классификация текстов ====== ====== Классификация текстов ======
  
-Задание 1Придумать алгоритм и написать программу, которая будет различать тексты двух авторов с вероятностью больше 0.5 на тестовом множестве.+===== Задание 1 (для 1 курса на зимнюю сессию 2019/2020 эта тема закрыта) ===== 
 +Придумать алгоритм и написать программу, которая будет различать тексты двух авторов с вероятностью больше 0.5 на тестовом множестве. 
 +Нельзя пользоваться стандартными алгоритмами и их реализациями. 
 + 
 +==== Баллы ====
 Баллы: 2 курс – 20 баллов, 1 курс – 40 баллов. Баллы: 2 курс – 20 баллов, 1 курс – 40 баллов.
-ПодготовкаНайдите рассказы в открытом доступе двух авторов, которые, на ваш взгляд, должны довольно сильно отличаться по стилю. Нужно придумать алгоритм, который будет распознавать, чей рассказ. Предлагается посчитать среднюю длину слова (распределение длины слов), среднее число слов в предложении (распределение), частоту слов. Если взять две характеристики, то можно нарисовать двумерный график (скаттерплот), где по одной оси откладывается, скажем, средняя длина слов, а по другой - еще что-то. Каждый рассказ - одна точка. Точки можно раскрасить согласно автору. Далее можно попробовать провести границу (например, прямую линию), которая разделяет точки с минимальной ошибкой. Ее и использовать для классификации. Перед исследованием все рассказы надо разделить на две части случайным образом - те, на которых будет строиться классифицирующее правило, и те, на которых потом будет проверяться точность классификации. + 
-Задание 2Существенное усложнение - взять много характеристик, применить к ним анализ главных компонент, получить две основные характеристики и потом по ним точно так же проводить границу.+==== Подготовка ==== 
 +Найдите рассказы в открытом доступе двух авторов, которые, на ваш взгляд, должны довольно сильно отличаться по стилю. Нужно придумать алгоритм, который будет распознавать, чей рассказ. Предлагается посчитать среднюю длину слова (распределение длины слов), среднее число слов в предложении (распределение), частоту слов. Если взять две характеристики, то можно нарисовать двумерный график (скаттерплот), где по одной оси откладывается, скажем, средняя длина слов, а по другой - еще что-то. Каждый рассказ - одна точка. Точки можно раскрасить согласно автору. Далее можно попробовать провести границу (например, прямую линию), которая разделяет точки с минимальной ошибкой. Ее и использовать для классификации. Перед исследованием все рассказы надо разделить на две части случайным образом - те, на которых будет строиться классифицирующее правило, и те, на которых потом будет проверяться точность классификации. 
 + 
 +===== Задание 2 ===== 
 +Существенное усложнение - взять много характеристик, применить к ним анализ главных компонент (feature extraction), получить две основные характеристики и потом по ним точно так же проводить границу. 
 + 
 +==== Баллы ====
 Баллы: 2 курс – 30 баллов, 1 курс – 60 баллов. Баллы: 2 курс – 30 баллов, 1 курс – 60 баллов.
-ПодготовкаАнализ главных компонент основан на сингулярном разложении матриц, о котором можно почитать, например, в http://www.gistatgroup.com/gus/ssa_an.pdf, приложение A. Для его численного вычисления используются готовые функции. Например, можно найти их в R, Matlab, Python. Сингулярное разложение находит такие линейные комбинации исходных характеристик, которые лучше всего описывают данные. Оно применяется к матрице, в которой столбцы соответствуют рассказам, а строки – посчитанным характеристикам. При этом из характеристик вычтено среднее арифметическое каждой их них. + 
-Контакт: Голяндина Нина Эдуардовна neg99@mail.ru+==== Подготовка ==== 
 +Анализ главных компонент основан на сингулярном разложении матриц. Для его численного вычисления используются готовые функции. Например, можно найти их в R, Matlab, Python. Сингулярное разложение находит такие линейные комбинации исходных характеристик, которые лучше всего описывают данные. Оно применяется к матрице, в которой столбцы соответствуют рассказам, а строки – посчитанным характеристикам. При этом из характеристик вычтено среднее арифметическое каждой их них. 
 + 
 +==== Информация ==== 
 +Сингулярное разложение матриц - http://www.gistatgroup.com/gus/ssa_an.pdf, приложение A. 
 + 
 +===== Руководитель ===== 
 +Нина Эдуардовна Голяндина 
 + 
  
research/prob_class_text.txt · Последнее изменение: 2023/10/14 19:17 — nina
Наверх
CC Attribution-Noncommercial-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0