Task: | 1 | 2 | 3 | 4 |
---|---|---|---|---|
Grade: | 0.5 | 1 | 0.5 | 1 |
Задача 1: [pearsonr(*data_sampler(1000, i))[0] for i in range(100)]
Задача 3: Там accuracy под 90% на тесте ожидается. Явно что-то не так
дополнение по 3 задаче: я там подаю все токены одним объектом ([train_data]
) вместо упаковки train_data
в список
- Запустите скрипт get_lab.py.
- Введите адрес своей электронной почты.
- Программа вернет номера заданий, которые требуется выполнить.
- Каждое задание выполняется в отдельном
.ipynb
файле в том числе теоретические задания. - Каждый ноутбук должен начинаться с номера задания и формулировки решаемой задачи.
- аккуратность оформления работы;
- наличие выводов;
- обоснованность выбора статистических критериев, учет поправки на множественность гипотез
- в случае работы с синтетическими данными: учет неточностей, связанных со случайным порождением данных
- в случае работы с реальными данными также учитывается предобработка
Задана выборка пар изображений: каждая пара состоит из оригинального (original_id.bmp) изображения и искаженного (modified_id_phrase.bmp). Также задана пара контрольных изображений original_test, modified_test.
В 99% случаев искажение заключается в добавлении белого шума. В 1% случаев искажение заключается в добавлении к изображению скрытого сообщения. Алгоритм заключается в следующем:
- У исходной фразы берутся порядковые номера всех символов в порядке английского алфавита (abcz -> 0,1,2,25).
- Полученный вектор домножается на неизвестный коэффициент alpha и складывается с вектором картинки (image = image.flatten() + alpha*v + шум).
- Если фраза слишком короткая, искажение продолжается периодически.
Требуется раскодировать фразу из контрольной пары.
NB: предполагается, что вы найдете искаженные изображения без шума с применением статистических моделей, а не перебором.
- https://imageio.readthedocs.io/en/stable/userapi.html
- https://docs.python.org/3/library/functions.html#ord
- Взять случайную подвыборку новостей lenta.ru за 2019 год (не менее 3000)
- На основе подвыборки построить граф связей упоминания личностей, организаций и стран из списка.
- В новостях выбрать сущность, зависящую от наибольшего количества других сущностей (далее будем называть ее центральной)
- посчитать ACE уопминания центральной сущности при упоминании (и отсутствии упоминания) сущностей, от которых она зависит
- сравнить результаты пункта 4 с оценками вероятностей упоминания центральной сущности при условии упоминания (и при отсутствии упоминания) сущностей, от которых она зависит
Рекомендации: (в случае использования пакета causality):
- в качестве теста для проверки условной независимости использовать MutualInformationTest
- результаты будут сильно отличаться в зависимости от полученной случаной подвыборки. Фиксируйте seed.
- для учета разного написания сущности (число, род, падеж) используйте методы стеминга (nltk.stem или mystem): https://www.kaggle.com/alxmamaev/how-to-easy-preprocess-russian-text
- causality не умеет работать с циклами (но сам их производит). Циклы можно удалять (в этой лабе, в реальности нельзя).
Проанализировать консервативность z-критерия для корреляции Пирсона в зависимости от:
- Мощности выборки
- Проверяемого значения коэффициента корреляции
Напоминание (об этом говорилось на лекции): Z-тест позволяет проверять не только соответствие корреляции нулю, но и производить сопоставление с произвольным значением корреляции.
Все переходы должны быть полностью описаны. Все выкладки и преобразования должны быть явно посчитаны.
Рассматривается задача тестирования вакцины от некоторого вируса. Производство вакцины очень дорогое и затратное по времени, поэтому в день может быть произведена только одна ампула.
Требуется проверить, что вакцина помогает (вероятность заразиться меньше у человека с вакциной чем у человека без вакцины).
Эксперимент ставится следующим образом: каждый день есть два идентичных по здоровью человека. Один из людей принимает вакцину, а второй нет, после чего обоих ставят в одну среду с вирусом. В конце для проверяют кто заразился. (В таблице: s --- sick; h --- healthy)
Весь мир ждет вакцину от данного вируса, поэтому к руководству института постоянно приходят запросы о сроках завершения тестирования образца. Руководство поручило Вам оценить среднее время, которое понадобится на тестирования данной вакцины. А также провести анализ полученных данных на уровне значимости \alpha=0.05 и при ошибке второго рода beta=0.2.
Требуется:
- Записать задачу формально;
- Выполнить оценку среднего количества дней для принятия решения (учесть что истинная вероятность заразиться с вакциной и без равны p_1 = 0.2, p_2 = 0.5 соответственно);
- Выполнить анализ данных и выяснить работает ли вакцина или нет.
Все выкладки должны быть сделаны аналитически, без использования компьютера.
Требуется построить авторегрессионную модель (autoregressive moving-average model, ARMA) для данных предложенных в приложении.
- Записать задачу формально;
- Выписать все формулы аналитически;
- Провести вычисления всех параметров модели аналитически.
UPD: параметры p и q для ARMA можно оценить при помощи компьютера.
Все выкладки должны быть сделаны аналитически, без использования компьютера. Дополнительно к слайдам про ARMA можно почитать здесь.
Выборка: набор предложений на русском языке с указанием частей речи для каждого слова.
Требуется:
- Рассмотреть последовательность частей речи как марковскую модель. Определить оптимальный порядок марковской модели.
- Обучить скрытую марковскую модель по выборке. Оценить точность предсказания частей речи, посчитать энтропию на выборке.
Важно: в целях ускорения эксперимента рекомендуется взять первые 10 МБ текста из выборки.
Выборка: набор предложений на русском языке с указанием именованных сущностей (они же NE, named entity).
Требуется:
- Рассмотреть последовательность именованных и неименованных сущностей как марковскую модель. Определить оптимальный порядок марковской модели.
- Обучить скрытую марковскую модель по выборке. Оценить точность предсказания, является ли слово именованной сущностью или нет, посчитать энтропию на выборке.
Важно: в целях ускорения эксперимента рекомендуется взять первые 10 МБ текста из выборки.
На основе представленной ниже языковой модели требуется:
- Выбрать наиболее вероятную последовательность слов, которая начинается со слова
<start>
и заканчивается словом<end>
. - Выбрать последовательность токенов, которая начинается со слова
<start>
и заканчивается словом<end>
и имеет максимальныйscore = \frac{1}{l}\sum_{i=1}^{l} \log p(w_i|w_{i-1})
, гдеl
задает длину полученной последовательности.
p(обучение|<start>)=0.14
p(<end>|машинный)=0.5
p(<end>|обучение)=0.5
p(не|обучение)=0.5
p(без|возможно)=0.5
p(без|<start>)=0.14
p(не|<start>)=0.14
p(<end>|без)=0.5
p(<end>|не)=0.5
p(обучение|машинный)=0.5
p(<end>|статистика)=1.0
p(возможно|не)=0.5
p(возможно|<start>)=0.14
p(машинный|<start>)=0.29
p(статистика|<start>)=0.14
p(статистика|без)=0.5
p(<end>|возможно)=0.5
Все выкладки должны быть сделаны аналитически, без использования компьютера. Важно: решением при помощи полного перебора не будет оцениваться в полный балл.
Получить аналитическую формулу для оценки правдоподобия последовательности слов из словаря мощности d
на основе языковой модели, если известно:
- Все слова независимы и распределенны равномерно.
- Известно распределение
p(w_i|w_{i-1}) = Dir(mu(w_{i-1}))
гдеDir
является распределением Дирихле с вектором параметровmu(w_i, w_{i-1})
размерностиd
. Причем компоненты вектораmu(w_{i-1})
задаются выражением:mu_i = exp(-|i-j|)
, где j это номер словаw_{i-1}
в словаре.
Все выкладки должны быть сделаны аналитически, без использования компьютера.
P.S. Подсказка по п.2. Для поиска распределения последовательности удобно использовать не правдоподобие, а логарифм правдоподобия.