Pull to refresh
346
Коробов Михаил@kmikeread⁠-⁠only

Пользователь

139
Subscribers
Send message
«Коммандная строка» в справке и отсутствие половины знаков препинания в «зачем.букф» оскорбляет великий и могучий куда больше)
Ничего не понятно. Результатов не видно (значение признаков-то получено, а как узнать, хорошее или плохое?), выбираете CART из невесть откуда взявшегося утверждения, что это «наиболее точный метод для задач классификации»; кросс-валидации, видимо, не было; какие-то непонятные магические 9 признаков (признаков непонятно чего — коротких временных отрезков звука? треков целиком?), утверждение о большой размерности (хотя до этого говорилось о 9 признаках).
Спасибо!

Мы не то чтобы уж очень расстроились — заявку подавали в первый раз, да и из Python-проектов отдельными организациями приняли только «многоопытных» Django, Plone, SymPy и Sage. Еще Python Software Foundation участвует как организация — большая часть питоньего GSoC, видимо, именно в рамках PSF будет.
А нас (scrapy) не приняли. Но мы, вероятно, все же поучаствуем, через Python Software Foundation. Так что если из github.com/scrapy/scrapy/wiki/GSoC-2014-Ideas что-то заинтересовало (или свои идеи есть), то можно в scrapy-users про себя рассказать, и заявку подготовить.
А кто-нибудь знает, почему у in словарь вторым аргументом, а у haskey и get — первым?
Привет, капитан. «Мы пробуем все варианты неоднозначно разобранных цифр и смотрим, сошлась ли контрольная сумма». Что-ли есть другие варианты использования контрольной суммы? Либо пытаться исправить ошибку, либо о ней сигнализировать.

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

Я почему придираюсь (к статье, не к авторам) — написано очень наукообразно, а суть простая. Если бы все это рассказать нормальным языком, то статья бы хорошо читалась — описывать несложные вещи тоже полезно.
Это еще ладно, конференции проходят — пуконы.
В языке (не только русском, любом) правильно говорить так, как принято, как говорят другие люди. «Норма» это и означает. А заимстванные слова часто теряют свое произношение. Мы же не говорим «Ландан» и «Чёчил», а говорим «Лондон» и «Черчилль». В случае с питоном все усугубляется тем, что название вполне можно перевести, нужное слово в русском языке есть, оно короткое и удобно произносится. Можно спорить о переводе (Монти Пайтон или питон?), но это уже занудство — даже на логотипе змея есть, так тоже можно переводить. Мне лично не кажется, что «питон» — это жаргон, использование слова «питон» вполне оправдано. Если кому-то нравится «пайтон» — тоже никаких проблем, этот вариант тоже вполне оправдан. Проблемы начинаются, когда люди начинают думать, что их вариант — единственно правильный :)
На практике математические вычисления все равно в numpy или Cython-расширениях делают; pypy для этого подходит хуже, т.к. работает медленнее и «базовых» библиотек нет — numpy, scipy и т.д. PyPy штука крутая, но для математики (пока?) бесполезная.
Спасибо, отличная статья!
Сам с ними дела не имел. Хм, ну как сказать — с точки зрения графических моделей можно на те же CRF, например, смотреть. Тут разница, видимо, в том, применяется ли универсальный инструмент, позволяющий описать произвольную графическую модель и использовать ее, или же инструмент, описывающие конкретный класс моделей. На практике, насколько знаю, чаще используют «заточенные» инструменты — например, реализации linear-chain CRF первого порядка. Мне кажется, происходит это по двум причинам:

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

По ощущениям — это все еще не мейнстрим (т.к. медленно и требует знаний), но, похоже, «универсальные» алгоритмы будут использоваться все больше и больше, т.к. появляется больше удобных инструментов, которые позволяют задать графическую модель и нажать кнопку «вывести!». Исследователи их любят в научных статьях использовать, т.к. с ними можно формулировать задачи в более-менее унифицированном виде и решать их, не озираясь на ограничения стандартных пакетов — явно задавать всяческие заранее известные вероятности, например.
От задачи зависит, конечно, я всего и не знаю. Из личной практики, для классификации — SVM разнообразные (линейные, с RBF ядрами), Logistic Regression, Random Forest (и варианты вроде AdaBoost). KNN тоже, наверное, хотя я на практике не сталкивался. Часто, если размерность задачи не очень большая, можно все в RandomForest засунуть и получить приемлемый результат «из коробки». Если размерность задачи очень большая (например, при обработке текста так), то обычно линейные классификаторы используются вроде линейных SVM или Logistic Regression, или какая-то предобработка для уменьшения размерности (PCA, например) и более сложный метод (например, SVM с ядром). Для классификации последовательностей — структурные модели — например, CRF и Structured Perceptron. С изображениями свои тонкости. Кроме самого классификатора везде очень большое значение имеет то, какие именно фичи использовать, часто — решающее.

Еще есть нейросети, которых много видов и которые для всего подряд используются, но я с ними дела почти не имел. С задачами регрессии (когда нужно предсказать числовое значение, а не категорию) тоже редко сталкивался, но там вроде все похоже — SVM, простые линейные модели, если данных много; что-то другое, если данные образуют структуру (последовательность, например).

Вот можно картинку глянуть, чтоб какое-то общее представление составить: scikit-learn.org/stable/tutorial/machine_learning_map/index.html
Делать кросс-валидацию или проверку на тестовом подмножестве — это такая базовая штука, на уровне инстинкта должна быть. Если даже этого нет — никто всерьез рассматривать работу не станет. Да и там делов-то, кода-то несколько строк всего будет.

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

Ничего не понятно, зачем все это нужно?

Это что-то вроде дерева принятия решений получается, только описанного по-другому? Можно дерево принятия решений в питонью функцию скомпилировать (я когда-то это пробовал для деревьев из scikit-learn). Но это довольно бессмысленое занятие: интерпретировать полученную кашу все равно нельзя, т.к. полученная функция может очень сильно изменяться при небольших изменениях в тренировочных данных. Тут, как мне кажется, то же самое.

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

Radix tree может память сэкономить, когда строк немного, или когда они длинные.
Для убунты еще есть PPA с разными версиями питона: deadsnakes.
Мне кажется, правильнее поле Embarked было закодировать с помощью OneHotEncoder, т.к. цифры сами по себе там никакого смысла не несут (2 не больше 0), и это будет вредить классификации, как минимум SVM, LogisticRegression и KNN, да и RF, вроде, тоже.
Краудсорсинговая платформа — тоже интересный. Но скажу как потенциальный пользователь (несколько месяцев назад искал какой-нибудь похожий сервис с русскоязычными работниками, не нашел): регистрироваться у меня желания не появилось, т.к. создалось впечатление, что там ничего не работает, а если и работает, то скоро загнется (и тогда время, потраченное на интеграцию — впустую).

Везде только какой-то рекламный текст и ничего конкретного: ни одной цифры (сколько у вас работников, сколько это стоит, когда они доступны по времени, кто они), есть ли API и какой он; по ссылке «для работников» ерунда какая-то, ну и т. д. Лучше бы в конкретику было вложить весь накопленный с 2011 года опыт и профессионализм, а не в красивую бутстраповскую страничку :) Потребность ведь есть (ну мне так кажется, по крайней мере), но потребность не в горе рекламного текста, а в ком-то, кто может это все дело организовать и соединить работников с работодателями, да так, чтоб это не загнулось через пару месяцев.
На той же курсере есть вполне базовые предметы, по которым нужно делать домашние задания, практику и сдавать экзамен. Точно не знаю, достаточен ли их набор для замены вузовской программы, скажем, в техническом университете на IT-специальности, или нет. Но даже если сейчас он недостаточен, то когда-нибудь станет достаточен, этому ничто не мешает.

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

На одной из топовых IT-кафедр/специальностей крупнейшего уральского института не было у нас ни параллельного программирования, ни распределенных систем, ни алгоритмов, ни структур данных (ну ок, связный список и сортировку пузырьком проходили). Был пролог, в котором не понял ничего ровным счетом никто (мое мнение — из-за того, что преподаватель сама не до конца его понимала). Была трехмерная графика, про которую я все равно больше из модемного тырнета узнал. Были микропроцессоры столетней давности, экзамен по которым сдавался путем покупки преподу микропроцессора в его комп (на ассемблер под x86 я и до курса писал). Был очень-очень хороший матанализ (очень жаль, преподаватель из жизни ушла пару лет назад). Вычислительная математика была, это да. Это я к чему — учеба в ВУЗе — штука полезная. Во многом из-за того, что 4-6 лет ты варишься в обществе умных людей со схожими интересами, и есть время делать то, что интересно. И людей там можно встретить интересных. Знакомства, опять же. Но знания оттуда — это рулетка: какие-то курсы подаются хорошо, какие-то слишком сложны/даются слишком рано, какие-то слишком простые, какие-то просто даются плохо. Многое из того, что нам преподавали, на курсере можно было бы изучить лучше. В отличие от института, качество курсов будет со временем только расти; курс можно повторить, если что-то непонятно и взять смежные, если базы не хватает.

Там, конечно, есть ограничения — лабораторную не сделаешь, да и от человека зависит сильно — кто-то может так в удаленном режиме учиться, кто-то без подпинки не может.

Из плюсов — занятия часто ведут ученые с мировым именем. Иногда — люди, которые свою область знаний чуть ли не создали.

У меня есть высшее образование, но за время обучения в ВУЗе я не прочел ни одной научной статьи (не понимал, зачем это, даже мысли не было), а после прохождения нескольких курсов на курсере читаю их десятками, потому что это теперь интересно и практически полезно. Исследования, которые у нас аспиранты ведут — часто очень слабого качества, совершенно оторвано от мировой науки, с грубыми ошибками в применении статистики / построении экспериментов и т.д. Конечно, не везде, но у меня пока бОльшей частью негативные эмоции оставались (ну, например, последний раз помогал вычитывать статью на конференцию, человек применял нейросети для моделирования сварочных процессов, и делал это неправильно; при этом статью взяли). Мое мнение — из-за того, что нет интеграции в мировую науку, много чего появляется в переводе на 10 лет позже, преподаватели часто очень узкие области освещают вместо мировой практики. Наверное, в некоторых московских/питерских вузах ситуация другая, и в региональных тоже могут быть хорошие сильные кафедры, но это все очень ограничено. И вот в этом смысле курсера — вещь совершенно замечательная.

Вроде все то же самое, только паспорт сделки нужно открывать начиная не с 5000$, а с 50000$.

Information

Rating
Does not participate
Location
Екатеринбург, Свердловская обл., Россия
Works in
Date of birth
Registered
Activity