Обновить
60
0
Илья Шутов@i_shutov

Data Science

Отправить сообщение

Марвин Мински «The Emotion Machine»: Глава 1 «Настроения и Эмоции»

Время на прочтение7 мин
Охват и читатели5K
Отец искусственного интеллекта размышляет о том, как сделать машину, которая бы гордилась нами. Марвин Мински был довольно жестким ученым и то, что он своим «скальпелем познания» исследует тему чувств и эмоций, что же делает нас людьми, довольно интересно и полезно. Книга — отличный образец того, как «ИТишным подходом» попробовать осмыслить «человеческое»: ценности, идеалы, любовь, боль, здравый смысл.

image
Предыдущий параграф

§1-3 Настроения и Эмоции

«Если кто-либо попытается найти как называется каждая из них (эмоций), для которых человеческое сердце является местом нахождения, каждая раса людей нашла имена для некоторых оттенков чувств, в то время, как другие расы оставили некоторые оттенки без внимания… все виды группировок возможны, из-за выбора базисного чувства, на котором основываются все остальные. Вопрос в том, действительно ли эффект поиска оттенков эмоций является результатом случайной группировки, или этот процесс подходил конкретным целям лучше всего? „
— Уильям Джеймс в Принципах Психологии (Principles of Psychology ) (текст имеется лишь в оригинальном труде на стр. 485)
Иногда вы находитесь в состоянии, при котором окружающий мир кажется весёлым и ярким. В другое время (конечно, при условии, что ничего не изменилось) всё кажется скучным и мрачным, а ваши друзья говорят, что вы впали в депрессию. Почему у нас есть такие состояния разума – говоря иначе настроения, чувства, или диспозиции – и что вызывает этот странный эффект? Вот некоторые фразы, которые дают словари для определения слова «эмоция»:

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

Хуже потопа, страшнее пожара: как подготовить свои бэкапы к визиту вируса-шифровальщика

Время на прочтение18 мин
Охват и читатели15K

Десятилетиями бэкапы защищали нас в первую очередь от физического выхода из строя оборудования и случайной порчи данных. Хорошая система резервного копирования (СРК) должна была пережить пожар, потоп, а потом оперативно дать возможность бизнесу продолжить нормальную работу. Но появилась другая беда, которая намного вероятнее потопа и от которой не спасают несгораемые перекрытия и физическое разнесение площадок в разные города.

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

Цель этого поста — рассказать о существующих методах и технологиях в части систем хранения данных и систем резервного копирования, которые способны сократить урон от вирусов-шифровальщиков и минимизировать потери данных при атаках. Запомните: мало сделать просто бэкап — нужно сделать правильный бэкап. Ну что, велком под кат!

Читать далее

git bisect: путешествие по времени и багам

Время на прочтение5 мин
Охват и читатели35K

Добрый день, меня зовут Павел Поляков, я Principal Engineer в каршеринг компании SHARE NOW, в Гамбурге в ?? Германии. А еще я автор Telegram-канала Хороший разработчик знает, где рассказываю обо всем, что должен знать хороший разработчик.

Сегодня я хочу поговорить про git bisect , инструмент, который помогает найти момент, когда появился баг. Считаю, что Middle+ разработчики должны иметь его в своем арсенале. Это перевод оригинальной статьи.

Читать далее

О динамическом программировании на пальцах

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели92K

Как динамическое программирование может упростить нашу жизнь? Как можно оптимизировать решение задач?

Сегодня мы разберем динамическое программирование на пальцах с примерами на Python!

Усаживайтесь поудобнее, леди и джентльмены!

Вперед!

Ю. Шмидхубер: «Прекрасно быть частью будущего искусственного интеллекта»

Время на прочтение7 мин
Охват и читатели11K


В последние дни сентября в Амстердаме проходила конференция по графическим технологиям GTC EUROPE 2016. Профессор Юрген Шмибдхубер представлял свою презентацию, как научный директор IDSIA, швейцарской лаборатории, где он с коллегами занимается исследованиями в области искусственного интеллекта.

Главный тезис выступления — настоящий искусственный интеллект изменит все уже в скором времени. По большей части статья, которую вы сейчас читаете, подготовлена по материалам презентации профессора Шмидхубера.
Читать дальше →

RAG (Retrieval Augmented Generation) — простое и понятное объяснение

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели385K

Краткое и понятное описание подхода RAG (Retrieval Augmented Generation) при работе с большими языковыми моделями.

Читать далее

50 оттенков линейной регрессии, или почему всё, что вы знаете об A/B тестах, помещается в одно уравнение

Время на прочтение18 мин
Охват и читатели19K

Всем привет! A/B тестирование уже давно стало стандартом в проверке гипотез и улучшении продуктов в X5. Но, как ни странно, многие из «модных» техник, которые применяются в A/B тестировании, на самом деле, не что иное, как вариации старой доброй линейной регрессии. 

Основная идея здесь проста: правильное добавление новых переменных в модель помогает лучше контролировать внешние факторы и уменьшать шум в данных. Это позволяет точнее оценить эффект от воздействия и объединить разные статистические подходы, которые обычно рассматриваются отдельно. Но почему это работает? Почему всё сводится к тому, что добавление переменных помогает объединить, казалось бы, разрозненные техники? 

Чтобы разобраться в этом, для начала вспомним основы линейной регрессии, после чего перейдём к различным статистическим методам снижения дисперсии и покажем, как они сводятся к линейной регрессии. Затем объединим все техники вместе и на примере покажем, как они работают на практике.

Читать далее

Интегральные резисторы или О чем молчат в спорах про проектные нормы

Уровень сложностиСредний
Время на прочтение20 мин
Охват и читатели9.3K

Споры про проектные нормы, их необходимость или ненужность, их реалистичность и сравнение между собой нанометров разных фабрик всегда были частью микроэлектронного коммьюнити. В России эти споры еще острее, потому что в ход идут доводы про импортозамещение, технологическую независимость и много других очень важных и умных слов. В этих разговорах, правда, постоянно упускается, что размеры транзисторов действительно критичны только для современных цифровых микропроцессоров, а вот для других классов микросхем, “где тонкие нормы не нужны”, техпроцесс должен обладать рядом других полезных свойств, помимо факта своего наличия, чтобы быть нужным и успешным. В разработку и обновление “устаревших” техпроцессов фабриками вкладываются существенные деньги, и более навороченный "толстый" техпроцесс – серьезный довод для разработчика уговаривать начальство сменить фабрику для нового проекта.

В этой статье в качестве примера того, что крутость техпроцесса не только в нанометрах, мы посмотрим на то, как выглядят интегральные резисторы. Казалось бы, что может быть проще, чем резистор?

Правильно, ничего! Но есть нюансы.

Кодирование с кодеком HEVC простым языком — гайд на FFmpeg. Высокое качество, но низкий вес

Уровень сложностиПростой
Время на прочтение11 мин
Охват и читатели21K

Казалось бы, довольно простой вопрос: «Чем сжать видео?». На ум сразу приходят Handbrake, Movavi Converter или ещё что-нибудь пострашнее. Однако когда речь заходит о более гиковском подходе с упором на максимальное качество и экономию места, такие программы сложно назвать инструментами. Равно как и для обратной ситуации, когда картинку нужно сильно сжать и сохранить в целостности большую часть полезной информации. Все эти программы только лишь предоставляют набор наиболее общих конфигов для обычной съёмки и 2D.

В этой статье мы изучим, как при помощи самого большого сборника свободных библиотек FFmpeg научиться кодировать видео самому именно под ваши задачи.
Читать дальше →

Git. Скачем между ветками как древесные лягушки

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели25K

Статей на тему много, но, видимо, недостаточно. Последние 10 лет в 4-х разных компаниях время от времени слышу от коллег:

— Не могу пошарить экран с кодом, у меня другая ветка сейчас.

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

— Стаскивать ветку для просмотра ПР? Это же неудобно, надо "стэшить" изменения, ветку переключать.

Читать далее

Transformer в картинках

Время на прочтение14 мин
Охват и читатели188K

В прошлой статье мы рассматривали механизм внимания (attention) – чрезвычайно распространенный метод в современных моделях глубокого обучения, позволяющий улучшить показатели эффективности приложений нейронного машинного перевода. В данной статье мы рассмотрим Трансформер (Transformer) – модель, которая использует механизм внимания для повышения скорости обучения. Более того, для ряда задач Трансформеры превосходят модель нейронного машинного перевода от Google. Однако самое большое преимущество Трансформеров заключается в их высокой эффективности в условиях параллелизации (parallelization). Даже Google Cloud рекомендует использовать Трансформер в качестве модели при работе на Cloud TPU. Попробуем разобраться, из чего состоит модель и какие функции выполняет.


Впервые модель Трансформера была предложена в статье Attention is All You Need. Реализация на TensorFlow доступна как часть пакета Tensor2Tensor, кроме того, группа NLP-исследователей из Гарварда создали гид-аннотацию статьи с реализацией на PyTorch. В данном же руководстве мы попробуем максимально просто и последовательно изложить основные идеи и понятия, что, надеемся, поможет людям, не обладающим глубоким знанием предметной области, понять данную модель.

Читать дальше →

Архитектура PlayStation 3, часть 1: Cell

Время на прочтение24 мин
Охват и читатели47K

В 2006 году Sony выпустила долгожданную игровую консоль "следующего поколения". Это блестящая (хоть и тяжелая) машина, чья базовая аппаратная архитектура развивает идеи Emotion Engine из PS2, то есть фокусируется на векторных вычислениях для достижения высокой производительности, даже ценой сложности.

В то же время, их новый "суперпроцессор", Cell Broadband Engine, был разработан в эпоху кризиса инноваций. Он должен будет идти в ногу с развитием тенденций в области мультимедиа.

Читать далее

Почему научиться программировать так чертовски тяжело?

Время на прочтение14 мин
Охват и читатели431K
Привет, Хабр!

Взявшись за работу над образовательным проектом Хекслет, мы понимали, что на нас ложится большая ответственность. К нам приходит огромное количество новичков с вопросами и комментариями, такими как:

  • С чего начать обучение программированию?
  • У вас есть курс по Java для новичков, но я слышал, что нужно изучать Python, правда ли это?
  • На других сайтах все просто и понятно, а у вас какие-то компиляции и тесты!
  • Непонятно зачем нужен этот ваш курс по алгоритмам, в реальной жизни все алгоритмы уже реализованы в стандартных библиотеках

Но сложнее всего объяснить новичку, грубо говоря, во что он ввязывается. Благодаря очень простым, игровым образовательным проектам многие считают, что программирование это очень легко, а наши виртуальные машины, где нужно запускать тесты и компилировать код – это надуманная сложность. Давно хотелось найти такой материал, который бы подготовил новичка к длинному и сложному пути к карьере программиста. И недавно наши коллеги из Viking Code School такой материал написали! А мы его перевели для вас.




Квинси Ларсон был просто “офисным парнем в костюме”. Он решил научиться программировать. Начал спрашивать людей вокруг. Изучил немного Руби, потом быстренько посмотрел на другие языки вроде Scala, Clojure и Go. Он изучил Emacs, а потом Vim, а потом раскладку Dvorak. Он втыкал в Линукс, копался с Лиспом и кодил на Питоне, и жил при этом в командной строке больше полутора лет.

Его швыряло туда-сюда как листочек в торнадо. Каждый совет, который он слышал, тащил его то в одну, то в другую сторону, до тех пор пока он не прошел “каждый онлайн-курс по программированию во вселенной”. В конце концов, не смотря на то, что он получил работу разработчика ПО, Квинси:

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

Ох. Звучит знакомо?
Читать дальше →

Как врач сделал себе ИИ помощника. Часть 1

Время на прочтение3 мин
Охват и читатели14K

Всем привет, меня зовут Александр и я врач-гематолог. Для справки, это тот, кто занимается болезнями крови. Мой общий стаж перевалил за 16 лет, я кандидат медицинских наук и последние пару-тройку лет интересуюсь анализом данных, machine learning и ИИ в медицине. Под "интересуюсь" я подразумеваю исследования и публикации по этим темам, а также обучение и саморазвитие.

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

Общий анализ крови (ОАК) – самый частый и один из самых сложных анализов человека для интерпретации, что обусловлено большим числом входящих в него параметров. Как правило, именно этот анализ является скрининговым тестом как для гематологов амбулаторного приема, так и для врачей общей практики и других специальностей. Объемы выполняемых анализов исчисляются сотнями тысяч. Моя идея не нова - машинная помощь в правильной и быстрой интерпретации общего анализа крови, которая будет содействовать развитию качественной, доступной и своевременной диагностики онкогематологических заболеваний. Зачастую врач первичного звена (терапевт) не может дифференцировать изменения в ОАК, что приводит либо к гиподиагностике, либо к повышенной настороженности и излишне частому направлению на консультацию к врачу-гематологу. Ситуацию усугубляют огромные объемы анализов, выполняемые в рамках профилактических и лечебно-диагностических процессов как в государственном, так и в частном секторе здравоохранения. Расшифровка анализов онлайн - один из востребованных запросов в Интернете. Меня часто просят об этом в социальных сетях.

Читать далее

Элементы функционального программирования в R

Время на прочтение13 мин
Охват и читатели3.5K

"На небе только и разговоров, что о функциональном программировании."

Всем привет. Меня зовут Дмитрий Володин, я Analytics Engineer в TrafficStars. Сегодня я хочу рассказать вам о приёмах ФП в R. Исходить я постараюсь из более-менее реальных задач, а не учебных, чтобы показать, что элементам ФП вполне есть место в вашем ящике с инструментами.

Читать далее

На берегу океана или о тестах для таблиц 2*k

Уровень сложностиПростой
Время на прочтение2 мин
Охват и читатели758

Сообщение посвящено простому (всего 1 функция ) пакету chisquare, который реализует статистический тест на равенство пропорций для таблиц 2*k, выдает по ней подробную информацию, а также приятно оформленные таблицы в виде графиков

Читать далее

Хорошая идея не пропадает зря или о пакете gMWT

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели1K

В заметке кратко описан функционал пакета gMWT, который реализовывает обобщенный тест Манна-Уитни. Описано его применение для проверки гипотез о равенстве законов распределения для случая двух и трех выборок, продемонстрировано его применение для проверки гипотез о принадлежности изучаемого распределения некоторому закону.

Читать далее

Наглядное руководство по SSH-туннелям

Время на прочтение8 мин
Охват и читатели288K

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

Туннели SSH — это зашифрованные TCP-соединения между клиентами и серверами SSH. Трафик входит с одной стороны туннеля и прозрачно выходит с другой. Изначально этот термин относился к туннелям на виртуальных сетевых интерфейсах TUN/TAP, однако сейчас так обычно называют проброс портов SSH.

Читать далее

Интересные алгоритмы кластеризации, часть вторая: DBSCAN

Время на прочтение10 мин
Охват и читатели133K
Часть первая — Affinity Propagation
Часть вторая — DBSCAN
Часть третья — кластеризация временных рядов
Часть четвёртая — Self-Organizing Maps (SOM)
Часть пятая — Growing Neural Gas (GNG)

Углубимся ещё немного в малохоженные дебри Data Science. Сегодня в очереди на препарацию алгоритм кластеризации DBSCAN. Прошу под кат людей, которые сталкивались или собираются столкнуться с кластеризацией данных, в которых встречаются сгустки произвольной формы — сегодня ваш арсенал пополнится отличным инструментом.


Читать дальше →

Магнитная аномалия: как предсказать продажи промо в ритейле

Время на прочтение7 мин
Охват и читатели10K

Привет, Хабр! Меня зовут Андрей Ткаченко, я руковожу направлением прогнозирования промо в «Магните». Наша команда запускает цикл статей о прогнозировании промо: мы приоткроем дверь в мир процессов, технологий и алгоритмов крупного российского ритейла, а также поделимся собственным опытом. 

Во вводной статье мы расскажем о разнице между промо и регулярными продажами, о команде и истории развития направления прогнозирования в «Магните», а также объясним, почему качественный прогноз промо важен для бизнеса. 

Читать далее

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность