Компьютерная лингвистика

Новостная лента www.solarix.ru

PCA пока не дает улучшения для http://mlbootcamp.ru/users/10/
kelijah
Попробовал снять коррелированность компонентов в задаче с помощью PCA, но пока эффекта не вижу, даже если уменьшаю с 12 до 10 компонентов.

Результат улучшил до №60 в текущем лб, но это скорее динамика - каждую ночь меня смывает вниз, потом я подкручиваю модель и она немного всплывает вверх. Судя по лидерам, тысячную в logloss'е еще можно снять.Read more...Collapse )

Модели m8.py и m15.py: xgboost, random и beam search параметров, бэггинг, оверфиттинг
kelijah
Выложил очередные две модели для http://mlbootcamp.ru/championship/10/: m8.py и m15.py.
Обе используют xgboost, делают случайный поиск параметров и бэггинг.
Обе страдают от одной и той же беды - overfitting'а. Проявляется в том, что в какой-то момент модель находит на тренировочном наборе новый набор параметров, бьющий рекорд по качеству, но на закрытой рейтинговой выборке точность уменьшается.

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

#64 в MLBootCamp
kelijah
Улучшенный потомок Модели №7 после перехода на XGBoost намайнил уже 64-ое место в ML Boot Camp:
Read more...Collapse )

Установка XGBoost в python под Windows
kelijah
Собрать xgboost из исходников с помощью VisualStudio 2015 по инструкции мне не удалось, так как CMake нехорошо выругался на каком-то шаге, а ставить VS2013 только ради такого дела я не хочу.

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

Работает вроде быстрее, чем GradientBoostingClassifier из sklearn, загружает ядра CPU по полной.

Модель №7 для участия в ML BoostCamp
kelijah
Залил исходник на гитхаб.
Модель не самая лучшая, посколько пока удалось пробраться только на ~180 место:
Read more...Collapse )

На второй день Зоркий Глаз заметил, что надо-таки использовать predict_proba
kelijah
при генерации отсылаемого решения на http://mlbootcamp.ru/championship/10/.
Вследствие чего из конца списка переместился точнёхонько в его середину:Read more...Collapse )

Предварительная оценка part-of-speech tagger на базе LSTM/классификатора для MorphoRuEval2017
kelijah
Первая модель - одиночная char-level рекуррентная сетка, LSTM для упаковки контекста слова и softmax-классификатор на выходе.
Делаю оценку точности сверху, на будущей конкурсной тестовой выборе результат будет, конечно, существенно хуже.

part_of_speech_err_rate=0.00512569657917 tagset_err_rate=0.0258748260202

Ошибаемость при определении классифицируемых по условиях состязания частей речи - примерно 0.5%
Ошибаемость определения полного tagset'а, причем ошибка в любом теге считается за полную ошибку, - примерно 2,6%

Лемматизатор для MorphoRuEval2017: прикидочная оценка точности
kelijah
Нижняя оценка ошибаемости, когда обучаемся по обучающей выборке GIKRYA_texts.txt, и оцениваем модель по этому же корпусу ~3.1%.

Если обучать модель по GIKRYA_texts.txt, а тестировать на моем корпусе morpheval_corpus_solarix.dat, то получается верхняя оценка ошибаемости в ~5.7%

Во всех случаях регистр учитывался при сравнении лемм, а буквы е и ё считались равными.

PS: Исходники моделей буду выкладывать тут.

PPS: После корректировки кода и подкручивания гиперпараметров имеем:
1. Модель натренирована на GIKRYA_texts.txt, делает лемматизацию GIKRYA_texts.txt с ошибаемостью ~1.7%
2. Модель натренирована на GIKRYA_texts.txt, делает лемматизацию morpheval_corpus_solarix.dat с ошибаемостью ~3.5%

Read more...Collapse )

Год с питоном
kelijah
Часто говорят, что Питон - один из лучших языков для обучения программированию. Отчасти да. За исключением whitespace-стиля, все остальное сделано очень разумно. Ну юникод и консоль конечно, как и везде, поломаны. Они и на C# поломаны, кто запускал проги на сервере в hetzner'е, тот знает.

Но сравнивая свой год джуниорского опыта с ним против 20+ лет с C++ и 10+ лет с C#, хочу дать немного другую оценку языку.

Питон - язык для богатых (или беззаботных, чтобы без лишней лести).
C++ - язык для бедных (или бережливых, не так обидно звучит).
Почему?
а вот почему...Collapse )
Tags: , ,

Байесовская классификация метки части речи по обучающему корпусу morphorueval 2017
kelijah
acc=0.95Collapse )

?

Log in