Pull to refresh
14
0

User

Send message

Просто, как дважды два четыре

Reading time4 min
Views77K
Наверное, каждый из хабровчан хотя бы раз в жизни слышал это выражение. Действительно, что может быть проще? Однако я знавал преподавателя математического анализа, который, услыхав подобное, ехидно улыбался в усы и предлагал доказать этот факт. После этого у говорившего обычно случался когнитивный диссонанс.

И действительно, как же доказать, что 2 × 2 = 4? Ответ под хабракатом.

Дисклеймер


Данная статья не содержит ничего нового для читателей с серьёзным математическим образованием. Также, вполне вероятно, она будет неинтересна людям с чисто инженерным складом ума. Этот текст писался в расчёте на тех, кому интересны основания математики, но кто до сих пор не нашёл времени и сил в них разобраться.
Читать дальше →
Total votes 171: ↑145 and ↓26+119
Comments124

Классификация и регрессия с помощью деревьев принятия решений

Reading time5 min
Views72K

Введение


В данной статье сделан обзор деревьев принятия решений (Decision trees) и трех основных алгоритмов, использующих эти деревья для построение классификационных и регрессионных моделей. В свою очередь будет показано, как деревья принятия решения, изначально ориентированные на классификацию, используются для регрессии.

Деревья принятия решений


Дерево принятия решений — это дерево, в листьях которого стоят значения целевой функции, а в остальных узлах — условия перехода (к примеру “ПОЛ есть МУЖСКОЙ”), определяющие по какому из ребер идти. Если для данного наблюдения условие истина то осуществляется переход по левому ребру, если же ложь — по правому.
Читать дальше →
Total votes 64: ↑60 and ↓4+56
Comments31

Немножко философский пост про то, как мы в глаза смотрели

Reading time10 min
Views62K
В статье я расскажу небольшую историю про маленькую техническую задачку и о том, как её решали разные люди вокруг. Быть может этот рассказ поможет читателю вынести несколько уроков о том, какие временами встречаются ошибки.
Немножко матана инклудэд.
Три цвета
Идея распознавать людей по радужной оболочке появилась в далёком 1987 у доктора Джона Доугмана и была запатентована в 1989. Примерно тогда же появился прототип. На тот момент это была вершина технологии. Пару лет до первой коммерческой цифровой камеры + алгоритм обработки изображения на компьютерах уровня i386/i486. До сих пор я не представляю, как можно получать на таком оборудовании стабильный результат.
Задачка о которой я хочу рассказать появилась на свет где-то в 2006-2009 годах. Процессоры к этому времени несколько ускорились, появились хорошие камеры, патент 1989 года истёк и системы распознавания по глазам теперь получил право делать каждый. Люди, которые решили сделать клон системы захотели использовать современные технологии и улучшить алгоритм. Самое первое, что бросалось в глаза — старый алгоритм сравнения глаз использовал изображение глаза в близком ИК диапазоне. То, что глаза бывают цветными не учитывалось.
Total votes 125: ↑124 and ↓1+123
Comments59

10 причин, по которым ваш дата-проект провалится

Reading time6 min
Views9.9K

Введение


Наука, связанная с обработкой данных, продолжает волновать людей, однако реальные результаты нередко вызывают разочарование у заинтересованных бизнесменов. Как мы можем снизить риски и обеспечить соответствие результатов ожиданиям? Работа в качестве технического специалиста на стыке НИОКР и коммерческих операций дала мне представление о проблемах, которые стоят на этом пути. Я представляю свою личную точку зрения на наиболее распространённые виды провалов и неудач проектов, связанных с информатикой.
Читать дальше →
Total votes 17: ↑15 and ↓2+13
Comments3

Машинное обучение как новый инструмент бизнес-анализа

Reading time5 min
Views8.4K

Бизнес-анализ эволюционировал от статичных отчётов, рассказывающих, что произошло, до интерактивных информационных панелей, с помощью которых вы можете углубиться в данные и попытаться понять, почему это произошло. Новые источники больших данных, включая устройства интернета вещей, подталкивают бизнес перейти от пассивной аналитики — когда мы смотрим на какой-то период в прошлом и ищем тенденции, или раз в день проверяем на наличие проблем — к активной аналитике, способной предупредить о чём-то заранее и позволяющей создавать информационные панели с обновлением в реальном времени. Это помогает лучше использовать операционные данные, которые куда полезнее, если они получены «только что», пока ещё не изменились условия.
Читать дальше →
Total votes 23: ↑20 and ↓3+17
Comments2

Risk Management: предотвращение проблем vs. ведение регистра рисков

Reading time7 min
Views25K
Странно, но факт

  • Абсолютно все стандарты управления проектами и компаниями говорят о необходимости управления рисками. Предлагаются различные модели, инструменты и термины. Каждый ПМ понимает, что это важно. И проходят тренинги. И даже пытаются выполнять такую практику (или процесс) как Risk Management. Но не все (большинство) видят в этом смысл и пользу на практике. В лучшем случае заводят регистры рисков (про которые скоро забывают), в худшем говорят, что управление рисками происходит в ходе ежедневной коммуникации (непонятно, правда, что имеется ввиду под рисками и управлением.
  • При наличии на проектах Risk register-а менеджмент компании считает что есть недостаток в про-активном управлении проекта и в коммуникациях с заказчиком, который регулярно жалуется на неожиданные проблемы на проекте.
  • Проджект менеджеры и Проектные команды жалуются на большие затраты времени на работу с рисками (и, очевидно, отсутствием эффекта, а то бы не жаловались.

Эти и многие подобные наблюдения были сделаны мной в ходе внедрения системы управления качеством и проведения аудитов процессов в IT компании. В частности, процессов управления проектом. Как и любое нововведение, внедрение правил работы должно сопровождаться обоснованием зачем это нужно. Для этого, в дополненение к навыкам убеждения, необходимы знание теории и практических примеров — как негативных, так и позитивных. На них и основаны мои выводы о секретах эффективного Управления Рисками.
Читать дальше →
Total votes 37: ↑30 and ↓7+23
Comments18

Как довести проект до ума с помощью PERT-диаграмм

Reading time5 min
Views58K
Если вы читаете этот материал – на это, вероятно, есть две причины:

— Вы ищете оптимальное решение управления проектом, который нужно завершить к определенному сроку.
— Вы ищете определение аббревиатуры PERT.

В любом случае, вы находитесь в правильном месте. Мы хотим поделиться основными преимуществами техники оценки и анализа проектов и выяснить, что же из себя представляет PERT.

image

Читать дальше →
Total votes 13: ↑13 and ↓0+13
Comments3

Трудности на пути создания «универсальной» метамодели для моделирования предметных областей

Reading time5 min
Views10K
Для создания модели предметной области сначала строится модель наших представлений. Описание наших представлений содержится в метамодели (например, в нотации BPMN). Метамодели, в свою очередь, строятся на основе мета-метамодели. Однако, наши представления имеют очень непростую структуру, которая до сих пор не имеет формального описания. Поэтому построение метамодели и мета-метамодели сильно затруднено. Попытку описать эту структуру предприняли греки, когда придумали основы логики. Способы нашего мышления изучали математики, когда столкнулись с парадоксами, пытаясь построить основы своей науки. Казалось бы, прогресс есть, но по какой-то причине, остановившись на формальном описании инструментов логического вывода, математики не сделали попытку применить полученные наработки к моделированию нашего мира (наверно, потому что для них – это прикладная задача, не вызывающая интереса).



В итоге те принципы, на основе которых создаются нотации и языки моделирования предметных областей, выбираются разработчиками относительно произвольно. Понятно, что созданные таким образом языки моделирования имеют достаточно ограниченную область применения. Эту область должны были бы описать создатели языка, но разработчики, как правило, это требование игнорируют.
Читать дальше →
Total votes 28: ↑25 and ↓3+22
Comments56

Создание архитектуры программы или как проектировать табуретку

Reading time25 min
Views681K
Взявшись за написание небольшого, но реального и растущего проекта, мы «на собственной шкуре» убедились, насколько важно то, чтобы программа не только хорошо работала, но и была хорошо организована. Не верьте, что продуманная архитектура нужна только большим проектам (просто для больших проектов «смертельность» отсутствия архитектуры очевидна). Сложность, как правило, растет гораздо быстрее размеров программы. И если не позаботиться об этом заранее, то довольно быстро наступает момент, когда ты перестаешь ее контролировать. Правильная архитектура экономит очень много сил, времени и денег. А нередко вообще определяет то, выживет ваш проект или нет. И даже если речь идет всего лишь о «построении табуретки» все равно вначале очень полезно ее спроектировать.

К моему удивлению оказалось, что на вроде бы актуальный вопрос: «Как построить хорошую/красивую архитектуру ПО?» — не так легко найти ответ. Не смотря на то, что есть много книг и статей, посвященных и шаблонам проектирования и принципам проектирования, например, принципам SOLID (кратко описаны тут, подробно и с примерами можно посмотреть тут, тут и тут) и тому, как правильно оформлять код, все равно оставалось чувство, что чего-то важного не хватает. Это было похоже на то, как если бы вам дали множество замечательных и полезных инструментов, но забыли главное — объяснить, а как же «проектировать табуретку».

Хотелось разобраться, что вообще в себя включает процесс создания архитектуры программы, какие задачи при этом решаются, какие критерии используются (чтобы правила и принципы перестали быть всего лишь догмами, а стали бы понятны их логика и назначение). Тогда будет понятнее и какие инструменты лучше использовать в том или ином случае.

Данная статья является попыткой ответить на эти вопросы хотя бы в первом приближении.
Читать дальше →
Total votes 88: ↑85 and ↓3+82
Comments45

Кодирование с изъятием информации. Часть 1-я, философская

Reading time4 min
Views11K

Написано в сотрудничестве с Ревазом Бухрадзе и Кириллом Перминовым


1. Введение


Offline oбмен сообщениями сейчас является одним из наиболее популярных способов общения (1, 2, 3) — судя по аудитории способов общения и динамике её роста.


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


Максимально достигаемый объём сжатия, гарантирующий однозначное восстановление данных, определяется работами К. Шеннона по теории информации, и в общем-то является непреодолимым так как изъятие не только избыточной, но и смысловой информации не позволит однозначно восстановить исходное сообщение. Стоит отметить, что отказ от точного восстановления в некоторых случаях и не является критически важным и используется для эффективного сжатия графических, видео и музыкальных данных, где потеря несущественных элементов оправдана, однако о общем случае целостность данных, куда важнее их размера.


Соответственно интересным является вопрос о том, можно-ли не нарушая положения теории информации передать сообщение объёмом меньше, чем минимальный объём, который может быть достигнут при самом лучшем сжатии данных.


Читать дальше →
Total votes 23: ↑17 and ↓6+11
Comments83

Сколько нужно времени на изучение новой технологии?

Reading time6 min
Views36K


Чтобы изучить новую технологию достаточно месяца. На этом можно было бы закончить эту статью, толком не начав ее. Однако я продолжу и расскажу вам, как пришла к такому выводу, что можно сделать, чтобы ускорить процесс обучения, а также перечислю основные проблемы изучения новых технологий и, самое главное, способы их решения.

Для начала отмечу, что названный срок в месяц — это большое допущение и приблизительная оценка. Все зависит от вашего начального уровня и сложности той технологии, которой вы решили овладеть. Кому-то достаточно посмотреть исходники в библиотеке, а кому-то необходимо кропотливо разбираться во всех нюансах. И все равно я уверена, что много времени вам не потребуется.
Читать дальше →
Total votes 51: ↑39 and ↓12+27
Comments40

Лекции Техносферы. 1 семестр. Введение в анализ данных (весна 2016)

Reading time3 min
Views43K
Слушайте и смотрите новую подборку лекций Техносферы Mail.Ru. На этот раз представляем в открытом доступе весенний курс «Введение в анализ данных», на котором слушателей знакомят со сферой анализа данных, основными инструментами, задачами и методами, с которыми сталкивается любой исследователь данных в работе. Курс преподают Евгений Завьялов (аналитик проекта Поиск Mail.Ru, занимающийся извлечением полезных бизнесу знаний из данных, генерируемых поисковым движком и десктопными приложениями), Михаил Гришин (программист-исследователь из отдела анализа данных) и Сергей Рыбалкин (старший программист из студии Allods Team).

Лекция 1. Введение в Python


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


Читать дальше →
Total votes 70: ↑65 and ↓5+60
Comments10

Невозможный двигатель EmDrive, эффект Унру, фотоны и инерция: попытка объяснить непонятное

Reading time3 min
Views59K
image

Английский учёный из Плимутского университета Майк Макалох [Mike McCulloch] в своей работе попытался дать объяснение принципу действия «невозможного» двигателя EmDrive, который вот уже несколько лет ставит в тупик специалистов. Для этого учёному пришлось дать объяснение такому фундаментальному понятию физики, как инерция.

Двигатель EmDrive придумал в начале 2000-х британский инженер Роджер Шойер. Он представил общественности свою идею о двигателе, по сути состоящем из металлического усечённого конуса и магнетрона. По его расчётам, отражающиеся внутри конструкции электромагнитные волны должны создавать тягу без всяких реактивных компонентов.

Естественно, он был поднят на смех, поскольку закон сохранения импульса не позволяет создавать подобные устройства. Но, начиная с 2008 года и опыта китайских учёных, а затем – нескольких инженеров-энтузиастов, и заканчивая опытами уважаемых инженеров из НАСА, накапливается всё больше подтверждений тому, что этот странный двигатель всё-таки работает.
Читать дальше →
Total votes 50: ↑45 and ↓5+40
Comments274

Разработка ПО авионики

Reading time14 min
Views78K
В основе разработки ПО авионики лежит основополагающий стандарт RTCA\DO-178B. Несмотря на первый взгляд на его отстранённость от непосредственной рутины программиста, он описывает весь процесс разработки и выдвигает требования к подобному ПО. Тем не менее, в данной статье речь пойдёт и о том, как всё происходит на самом деле, на основе личного опыта разработки систем контроля и управления полётом, систем посадки и пр. для самолётов и вертолётов.

image
Читать дальше →
Total votes 225: ↑220 and ↓5+215
Comments96

ИИ и диагностика: наследие Парацельса

Reading time10 min
Views9.2K


Может ли быть так, что «зима искусственного интеллекта», наступившая в конце 70-х годов прошлого века, на самом деле до сих пор не закончилась, а все коммерческие решения, связанные с использованием ИИ, стали жертвой маркетинга, установившего правило: вам гораздо легче продать продукт, если заявите, что он работает на основе искусственного интеллекта? Нечто подобное уже случалось раньше. Классические экспертные системы, ориентированные на текстовый человеко-машинный интерфейс, пережили расцвет в 70–80-х годах прошлого века, а затем скатились в глубокий кризис, из которого так и не вышли. Интересно провести параллели с современными когнитивными системами, имеющими признаки искусственного интеллекта.

Главный успех эры когнитивных вычислений сейчас связывают с деятельностью IBM Watson. Но действительно ли это успех, или попытка выдать желаемое за действительное?
Читать дальше →
Total votes 24: ↑24 and ↓0+24
Comments10

Основатель крупнейшего в мире хедж-фонда Рей Далио собирается передать управление в руки ИИ

Reading time4 min
Views15K
image

Bridgewater Associates – самый крупный хедж-фонд в мире, который обслуживает множество институциональных клиентов: пенсионные и благотворительные фонды, некоммерческие организации, правительства и центральные банки. Сейчас хедж-фонд управляет активами более чем на 150 миллиардов долларов. Чтобы добиться таких впечатляющих результатов, основатель компании Рей Далио (Ray Dalio) приложил немало усилий, в том числе для создания уникальной корпоративной культуры.

Основатель Bridgewater в первую очередь знаменит своим неординарным подходом к управлению, и идея переложить решение управленческих задач на искусственный интеллект вполне согласуется с его принципами.
Читать дальше →
Total votes 16: ↑16 and ↓0+16
Comments19

Искусство публичных выступлений

Reading time9 min
Views105K
Эта статья открывает серию статей — если окажется, что Хабраколлеги сочтут ее интересной, ибо первое правило публичных выступлений гласит: рассказывай людям о том, что им интересно!

Если вы раньше не выступали на публике или боитесь это делать — вам под кат. Если вы считаете себя опытным докладчиком, для вас будет вторая статья серии.

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

Историческая справка: на Хабре по этой теме уже было небольшое обсуждение год назад.

Читать дальше →
Total votes 235: ↑223 and ↓12+211
Comments59

Путешествия во времени и программирование 2: парадоксы

Reading time26 min
Views216K


Эпоха путешествий во времени еще не наступила, а человечество уже давно пытается разрешить сопутствующие им парадоксы. Мы поговорим о самом очевидном из них: что же все-таки произойдет при вмешательстве в ход истории? Существует несколько вариантов того, как поток времени реагирует на действия путешественника из будущего. Эти модели можно увидеть в фантастических фильмах, о них все больше начинают говорить ученые, но какая модель ближе к истине — единого мнения пока нет. Мы только начинаем проникать в тайны времени, и еще не обладаем возможностью экспериментировать с перемещениями в прошлое. Что же можно прояснить в данном вопросе уже сейчас? Под катом нас ждет экскурсия по основам механики времени, мы порассуждаем о парадоксах, и проведем небольшой эксперимент. Да, это будет испытание виртуальной машины времени, построенной на основе алгоритма «Жизнь»!
Читать дальше →
Total votes 371: ↑351 and ↓20+331
Comments440

7 самых неприятных проблем в программировании

Reading time8 min
Views52K
image

Известно, что на старых картах, на неизведанных территориях, часто помещали зловещее предупреждение: «Здесь живут драконы». Вероятно, смысл этого предупреждения состоял в том, что не стоит входить в это пространство мира, не будучи готовыми сражаться с внушающим ужас противником. Всё что угодно может случиться на этих загадочных просторах, и нередко такое «что угодно» может закончиться очень плохо.

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

Находятся люди, которые спокойно спят ночью, согреваемые своей наивной уверенностью, что компьютеры совершенно предсказуемы и без устали выдают потоком правильные ответы. Как же мало им ведомо! Несмотря на серьёзнейшие усилия разработчиков чипов, создателей языков и миллионов программистов, есть ещё в программировании опасные чащи, которые могут погубить даже самых продвинутых из программистов и разработчиков.

Вот семь из устрашающих уголков мира программирования, на которых легко можно написать: «Здесь живут драконы».
Читать дальше →
Total votes 74: ↑49 and ↓25+24
Comments91
1
23 ...

Information

Rating
Does not participate
Registered
Activity