• Бенуа Мандельброт на TED: «Фракталы и искусство изломов»

    • Перевод
    image

    Большое спасибо. Прошу прощения за то, что я сижу. Я очень старый человек.

    Моя сегодняшняя тема в определённом смысле весьма особенная, потому что она очень древняя. Изломы – неотъемлемая часть человеческой жизни, они есть всегда. Об этом писали древние. Эта вещь по большей части нам неподконтрольна. И в каком-то смысле они кажутся крайней степенью усложнения – просто сплошной беспорядок.

    Есть много видов беспорядка. Так вот, по чистой случайности много лет назад я стал заниматься этой формой усложнения, и, к моему полному удивлению, я нашёл признаки, и, должен сказать, весьма чёткие признаки порядка в изломах. А потому сегодня я хотел бы представить вам несколько примеров того, что это значит. Я предпочитаю слово «изломанность» слову «неровность» потому, что для того, кто изучал латынь, как и я в своей далёкой молодости, неровность – это противоположность ровности. Но ведь это не так.

    Ровность есть противоположное к изломанности, потому что мир по большей части предстаёт нам как полный изломов.
    Читать дальше →
  • Python для начинающих: как повелевать Web’ом

    • Перевод
    Путешествие в простую веб-автоматизацию

    image

    Проблема: Отправка домашних заданий требует навигации по лабиринту веб-страниц, настолько сложной, что несколько раз я отправлял задание в неправильное место. Кроме того, хоть и этот процесс занимает всего 1–2 минуты, иногда он кажется непреодолимым препятствием (например, когда я закончил задание слишком поздно ночью и едва могу вспомнить свой пароль).

    Решение: Используйте Python для автоматической отправки выполненных заданий! В идеале я мог бы сохранить задание, набрать несколько клавиш и загрузить свою работу за считанные секунды. Сначала это звучало слишком хорошо, чтобы быть правдой, но потом я обнаружил Selenium, инструмент, который можно использовать с Python для навигации по сети.
    Читать дальше →
  • Математические расчёты, стоящие за феноменом роллинг-шаттера

    • Перевод
    image

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

    Многие современные цифровые камеры используют КМОП-матрицу в качестве своего «чувствительного» устройства, также известную как активный датчик пикселей, который работает путем накопления электронного заряда при падении на него света. По истечении определенного времени – времени экспозиции – заряд построчно перемещается обратно в камеру для дальнейшей обработки. После этого камера сканирует изображение, построчно сохраняя ряды пикселей. Изображение будет искажено, если во время съемки присутствовало хоть какое-то движение. Для иллюстрации представьте съемку вращающегося пропеллера. В анимациях ниже красная линия соответствует текущему положению считывания, и пропеллер продолжает вращаться по мере считывания. Часть под красной линией – это полученное изображение.

    Первый пропеллер совершает 1/10 оборота во время экспозиции:

    image


    Подписывайтесь на каналы:
    @Ontol — самые интересные тексты/видео всех времен и народов, влияющие на картину мира
    @META LEARNING — где я делюсь своими самыми полезными находками про образование и роль ИТ/игр в образовании (а так же мыслями на эту тему Антона Макаренко, Сеймура Пейперта, Пола Грэма, Джозефа Ликлайдера, Алана Кея)

    Читать дальше →
  • Учебный проект на Python: интерфейс в 40 строк кода (часть 2)

    • Перевод
    image

    Демонстрация проекта Python с пользовательским интерфейсом никогда не была такой простой. С помощью Streamlit Framework вы можете создавать браузерный пользовательский интерфейс, используя только код Python. В этой статье мы будем создавать пользовательский интерфейс для программы лабиринта, подробно описанной в предыдущей статье.

    Streamlit


    Streamlit — это веб-фреймворк, предназначенный для исследователей данных для простого развертывания моделей и визуализаций с использованием Python. Это быстро и минималистично, а также красиво и удобно. Есть встроенные виджеты для пользовательского ввода, такие как загрузка изображений, ползунки, ввод текста и другие знакомые элементы HTML, такие как флажки и переключатели. Всякий раз, когда пользователь взаимодействует с потоковым приложением, сценарий python перезапускается сверху вниз, что важно учитывать при рассмотрении различных состояний вашего приложения.
    Вы можете установить Streamlit с помощью pip:

    pip install streamlit

    И запустите streamlit в скрипте Python:

    streamlit run app.py

    Варианты использования


    В предыдущей статье мы создали программу на Python, которая будет проходить лабиринт, учитывая файл изображения и начальное/конечное местоположения. Мы хотели бы превратить эту программу в одностраничное веб-приложение, где пользователь может загрузить изображение лабиринта (или использовать изображение лабиринта по умолчанию), настроить начальное и конечное местоположение лабиринта и увидеть пройденный лабиринт.
    Читать дальше →
  • Учебный проект на Python: алгоритм Дейкстры, OpenCV и UI ( часть 1)

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

    Вспоминаем алгоритм Дейкстры


    Алгоритм Дейкстры — один из наиболее популярных алгоритмов теории графов. Он используется для поиска кратчайшего пути между узлами на ориентированном графе. Мы начнем с исходного узла и известных длин ребер между узлами.

    Сначала мы присваиваем значение расстояния от источника всем узлам. Узел s получает значение 0, потому что это источник; остальные получают значения ∞ для начала.

    image

    Наш интересующий узел — это необработанный узел с наименьшим значением (показан серым), то есть s. Сначала мы «ослабляем» каждую смежную вершину до нашего интересующего узла, обновляя их значения до минимума их текущего значения или значения узла интереса плюс длину соединительного ребра…
    Читать дальше →
  • Онтол от DeepMind: самые полезные материалы по искусственному интеллекту от мирового лидера

    • Перевод
    image


    Ученые из DeepMind составили Curated Resource List образовательных материалов для тех, кто хочет связать свою жизнь с ИИ и машинным обучением. Я называю такую подборку «онтол» — список того, что формирует картину мира по данному вопросу, ранжированный по важности и составленный живым человеком, специалистом, который несёт репутационную ответственность за этот список (чтобы не было в нём маркетинговой и ангажированной фигни).

    По задумке, если десяток лучших компаний в области ИИ попросят своих ведущих специалистов (каждого) сделать подборку лучших материалов, которые сформировали их как специалистов, то мы получим массив подборок (список топ-10/100 ресурсов+имя составителя) и на основе этого можно будет делать интересные выводы ( а)по качеству материалов, что следует учить в первую очередь б) по качеству специалистов, которые могут выделять главное в)что-то ещё). Так мы «разметим» все открытые тексты/видео в области ИИ. Потом возьмемся за другие темы: еда, доверие, дело жизни, семья, сотрудничество, когнитивные искажения и прочее — то, что формирует картину мира.

    Тестируйте прототип beta.ontol.org и подписывайтесь на канал @Ontol

    Оглавление


    Этика
    Safety
    Теория и фундаментальные понятия
    Neuroscience
    Natural Language Processing
    Machine Learning
    Deep Learning
    Reinforcement Learning
    Unsupervised Learning and Generative Models
    Прочее
    Читать дальше →
  • Датасет — это просто тест Роршаха (вы видите то, что хотите увидеть)

    • Перевод
    Опасность апофении в аналитике и способы ее предотвратить. Между ложью и историями, в которых фигурируют данные, очень тонкая грань.

    Психологическая ловушка в аналитике данных


    Мозг человека обладает удивительной способностью во всем находить паттерны… но у этих паттернов обычно мало общего с реальностью. Мы можем увидеть образ кролика в облаке или лицо Элвиса в картофельных чипсах.

    image

    Видишь кролика и профиль Элвиса?

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

    image

    Летучая мышь? Бабочка? Обычная клякса? Это одна из 10 карт теста Роршаха, созданная в 1921 году.

    У психологов есть красивое название этому явлению: апофения. Дайте людям хоть какой-то стимул и они найдут вам не только лица и бабочек, но и причину выделить бюджет на ваш любимый проект или запустить систему искусственного интеллекта.
    Читать дальше →
  • 8 трюков в Python, используемых опытными программистами

    • Перевод
    image

    Вот восемь изящных приемов Python, которые, я уверен, вы еще не видели. Примените эти приемы в своем коде на Python, чтобы сделать его более лаконичным и производительным!

    1. Сортировка объектов по нескольким ключам


    Предположим, мы хотим отсортировать следующий список словарей:

    people = [
    { 'name': 'John', "age": 64 },
    { 'name': 'Janet', "age": 34 },
    { 'name': 'Ed', "age": 24 },
    { 'name': 'Sara', "age": 64 },
    { 'name': 'John', "age": 32 },
    { 'name': 'Jane', "age": 34 },
    { 'name': 'John', "age": 99 },
    ]

    Но мы не просто хотим сортировать их по имени или возрасту, мы хотим отсортировать их по обоим полям. В SQL это будет такой запрос:

    SELECT * FROM people ORDER by name, age

    На самом деле существует очень простое решение этой проблемы, благодаря гарантии Python, что функции сортировки обеспечивают устойчивость сортировки. Это означает, что элементы, которые сравниваются, сохраняют свой первоначальный порядок.
    Читать дальше →
  • Самая важная идея в Data Science

    • Перевод

    Советы по отделению отвлекающих факторов от полезных сведений


    image

    Если вы пройдете вводный курс по статистике, вы поймете, что данные можно использовать для поиска вдохновения или проверки теории, но никогда и для того, и для другого. Почему так?

    Люди слишком хороши в поиске закономерностей во всем. Вы сами определяете какие закономерности действительно существуют, а какие – выдуманы. Мы – существа, которые находят лицо Элвиса в картофельной чипсе. Если у вас есть соблазн приравнять закономерности к понятиям, помните, что есть три вида закономерностей:

    • Паттерны, которые существуют и в вашем наборе данных, и за его пределами.
    • Паттерны, которые существуют только в вашем наборе данных.
    • Паттерны, которые существуют только в вашем воображении (апофении).
    Читать дальше →
  • Самое грустное уравнение в Data Science

    • Перевод
    image

    Запаситесь носовыми платочками! Сейчас я расскажу вам всю правду о статистике и data science. У вас слезы на глаза навернутся, я вам обещаю.

    ВЫВОД = ДАННЫЕ + ПРЕДПОЛОЖЕНИЯ. Другими словами, статистика не дает вам правду.

    Распространенные мифы


    Часто можно услышать следующие ошибочные представления:

    • «Если я найду правильные уравнения, я смогу узнать то, что сейчас никому неизвестно.»
    • «Если я добавлю математики в свои данные, я смогу уменьшить неопределенность.»
    • «Статистика может превращать данные в правду!»

    Все это звучит как сказки, не так ли? Потому что это они и есть.

    Горькая правда


    Нет в мире такой магии, которая поможет вам сотворить что-то из ничего. Забудьте об этом. Статистика о другом. Поверьте мне на слово, как статистику. (В качестве бонуса эта статья сэкономит вам кучу времени, которое вы бы потратили, преследуя эту несбыточную мечту.)

    К сожалению, многие шарлатаны будут пытаться убедить вас в обратном. Они будут использовать стандартный прием, «Ты не знаешь уравнений, которыми я тебя закидал, поэтому признай мое преимущество и делай как я скажу!»

    Не ведитесь на слова этих позеров.
    Читать дальше →
  • Как начинающий Data Scientist вроде меня может набраться опыта

    • Перевод

    Я прошел несколько курсов, а что делать дальше?


    image

    На днях я получил письмо от Мануэлы со следующим вопросом: «Как начинающий data scientist вроде меня может набраться опыта?»

    Вопрос отличный.

    За вопросом следовало: «Я закончила несколько курсов и проектов, некоторые работодатели говорили, что им нравится мое образование, но мне не хватает минимального опыта, и чтобы я писала им после его получения!».

    В своем ответе я расписал несколько пунктов, которые скопирую в эту статью.

    Дисклеймер: я не ищу работу. Возможно, вы хотите спросить «А почему я вообще должен слушать советы того, кто не ищет работу?»

    И будете правы.

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

    Однако, если бы я все же искал работу (и, в свою очередь, требуемый к ней опыт), я бы сделал следующие вещи.
    Читать дальше →
  • Как я получил сертификат TensorFlow-разработчика (и как его получить вам)

    • Перевод
    image

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

    Позвольте мне рассказать вам как я это сделал, и как вам сделать то же самое.

    Погодите. Что вообще такое TensorFlow?

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

    Google использует TensorFlow для поддержки всех своих сервисов машинного обучения. Скорее всего, устройство, на котором вы это читаете, раньше использовало TensorFlow в том или ином виде.

    Обычно вы пишете код с использованием TensorFlow на очень понятном Python (именно это требуется для экзамена) или JavaScript (tensorflow.js), и он запускает ряд базовых функций, написанных на C. Эти функции выполняют описанные вами ранее команды (производят множество численных вычислений).
    Читать дальше →
  • Абстракция — ключ к простому коду

    • Перевод
    image

    Есть ли способ улучшить свои навыки в 10 раз? Есть ли какой-то волшебный секрет, который — если бы вы только знали это — открыл бы для вас совершенно новый мир мастерства и производительности в разработке программного обеспечения?

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

    Да! Есть!

    Но даже если я поделюсь им с вами — даже если я подробно изложу его для вас — вам может потребоваться 10 лет, чтобы вырасти и полностью оценить его простоту.

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

    Этот секрет является ключевым отличием между средней производительностью и 10-кратной производительностью. Используя рычаги, которые дает этот секрет, вы можете быть на порядок эффективнее.

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

    Секрет того, чтобы быть в 10 раз более продуктивным, заключается в овладении абстракцией. Многие разработчики относятся к «абстракции» как к грязному слову. Вы можете услышать совет, например, «не абстрагируйтесь слишком рано» или знаменитое в Zen Python «явное лучше, чем неявное», подразумевая, что конкретное лучше, чем абстрактное. И все это хорошие советы — в зависимости от контекста.
    Читать дальше →
  • Видеоигры — это будущее образования (размышления программиста из Palantir)

    • Перевод
    Подписывайтесь на канал @META ОБУЧЕНИЕ, где я делюсь своими самыми полезными находками про образование и роль ИТ/игр в образовании (а так же мыслями на эту тему Антона Макаренко, Сеймура Пейперта, Пола Грэма, Джозефа Ликлайдера, Алана Кея)

    В подростковом возрасте моё реальное образование складывалось из:

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

    Пункты 1-3 не связаны с формальным школьным образованием и сформировались даже скорее вопреки ему. О нечто подобном писал Пол Грэм:


    «Кое-что я не понимал в детстве: если ты учишь что-то действительно для себя важное, то удивительно часто тебе приходится изучать это самостоятельно. Мне пришлось самому осваивать Lisp, самому разбираться, как писать эссе и открывать стартап. У меня были примеры перед глазами, но не было учителей или классных занятий.»

    Отсюда следует вывод:

    1. Вещи, которым вы учитесь самостоятельно закрепляются; вещи, которым вас “научают” улетучиваются


    Фундаментальный принцип образования кроется в том, чтобы дать учащимся среду и инструменты, с помощью которых они смогут заниматься открытиями самостоятельно. Для этого потребуются пространство, время и автономия.
    Читать дальше →
  • Data Science умерла. Да здравствует Business Science

    • Перевод

    5 полезных уроков от скромного лосося


    image

    Три волны развития искусственного интеллекта согласно Evo Pricing, основано на исследованиях DHL.

    Данные — ненадежный друг, и с трудом что-то о них можно назвать научным. Что же делать с наукой о данных?

    За последние 5 лет я провел собеседования с более чем 1000 кандидатами на должность аналитиков данных, желающих работать в Evo Pricing. В процессе я узнал, что то, как в СМИ изображают данную профессию, в корне неверно; мы не просто подставляем данные в уже готовые алгоритмы.

    Назрела необходимость коренным образом переосмыслить наше представление о науке о данных.

    70 лет истории в двух параграфах и одной картинке


    В своей основе наука о данных — это красивое название для широкого спектра сложных математических операций, которые, в большинстве своем, были изобретены в далеком прошлом, но обрели второе дыхание благодаря применению значительно усовершенствованных технических устройств: больше данных, больше вычислительной мощности, более разумные результаты по более низкой цене.
    Читать дальше →
  • Тренды в Data Scienсe 2020

    • Перевод
    image

    Google Trends по запросу «data science»

    Краткое изложение


    • По нашим оценкам, вакансии в advanced analytics насчитывают почти 1 миллион человек во всем мире, 291 тысяча из них в США.
    • За последние два года дефицит работ в области data science значительно сократился – были наняты около 800 тысяч специалистов, однако на данный момент десятки вакансий так и остаются нетронутыми, причем подавляющее большинство из них – в США.
    • Самый большой спрос на рабочих в области advanced analytics – в области залива Сан- Франциско с самыми высокими зарплатами и самым большим количеством вакансий, за ней следуют крупные городские центры вроде Нью-Йорка, Бостона, Вашингтона и Сиэтла.
    • Средняя заработная плата по стране у data scientists остается выше $100,000 – эта тенденция просматривается почти во всех штатах, удовлетворенность работой и престиж также остаются на высоком уровне.
    • Для подготовки специалистов в advanced analytics было создано больше ста образовательных программ.
    Читать дальше →
  • Битва ИИ против ИИ: фрод и фейковый контент

    • Перевод
    image Искусственный интеллект (ИИ) сильно продвинулся в обнаружении попыток мошенничества с банковскими картами. Большинство из нас получали сообщения с просьбами подтвердить покупки, совершенные киберпреступниками. Для составления «синтетических персональных данных», которые копируют типичные модели поведения владельцев банковских карт, используется машинное обучение. Благодаря ему, финансовые учреждения могут в режиме реального времени зафиксировать поведение, отличающееся от нормы. К сожалению, киберпреступники тоже используют ИИ для создания собственных синтетических персональных данных. Они достаточно реалистичны, чтобы обмануть ИИ банков.

    Эта битва искусственных интеллектов, мошенничества и кибербезопасности, ведется не только в банковской сфере. Мошенники подделывают новости, видеоролики, аудиозаписи. Так началась гонка вооружений: ИИ против ИИ.

    Стеффен Соррелл из Jupiter Research говорит, что в случае с кредитными картами синтетические персональные данные это легкая добыча. Согласно последнему отчету Jupiter Research о мошенничестве с онлайн-платежами, к 2024 году удастся избежать потери 200 миллиардов долларов на таком виде мошенничества. К этому времени рынок распознавания мошенничества должен достигнуть 10 млрд долларов по сравнению с 8,5 млрд долларов в этом году.
    Читать дальше →
  • Как стать «Суперстариком» (superager)

    • Перевод
    image

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

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

    В нашей лаборатории с помощью функциональной магнитно-резонансной томографии мы просканировали и сравнили головной мозг 17-ти суперстариков и их ровесников. Нам удалось выявить ряд различий в некоторых областях. У обычных людей определенные области головного мозга была истончена вследствие возрастной атрофии. Однако, у суперстариков эти области ничем не отличались от нормы для молодых людей, и казалось бы, были не подвластны разрушительному воздействию времени.
    Читать дальше →
  • Прекратите использовать оператор If-else

    • Перевод
    image

    Вы просмотрели бесчисленные учебные пособия, использующие операторы If-else. Вы, вероятно, также читали книги по программированию, пропагандирующие использование If-else в качестве фактического метода ветвления.

    Возможно, это даже ваш режим по умолчанию, чтобы использовать If-else. Но давайте покончим с этим прямо сейчас, заменив If-else объектами состояния.

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

    Даже если вы слышали о шаблоне состояния, вы можете задаться вопросом, как он реализован в готовом к продакшену коде.

    Для тех, кто все еще находится в неведении, вот очень краткое введение.

    Вы увеличите сложность с любым новым условным требованием, реализованным с помощью If-else.

    Применяя шаблон состояния, вы просто изменяете поведение объектов, используя специализированные объекты состояния вместо операторов If-else.
    Читать дальше →
  • Практическое функциональное программирование

    • Перевод
    image

    Текст статьи взят из презентации, которую я показывал в LinkedIn в2016 году. В презентации была предпринята попытка объяснить функциональное программирование без использования таких понятий, как «монады», «неизменность» или «побочные эффекты». Вместо этого она фокусируется на том, как размышления о композиции могут сделать вас лучшим программистом, независимо от того, какой язык вы используете.

    40 лет назад, 17 октября 1977 года, премия Тьюринга была вручена Джону Бэкусу за его вклад в разработку систем программирования высокого уровня, прежде всего языка программирования Fortran. Всем лауреатам премии Тьюринга предоставляется возможность выступить с лекцией по выбранной ими теме в течение года, в котором они получили премию. Как создатель языка программирования Фортран, можно было ожидать, что Бэкус выступит с лекцией о преимуществах Фортрана и будущих разработках в этом языке. Вместо этого он прочитал лекцию под названием «Можно ли освободить программирование от стиля фон Неймана»? в котором он критиковал некоторые из основных языков того времени, включая Фортран, за их недостатки. Он также предложил альтернативу: функциональный стиль программирования.
    Читать дальше →

Самое читаемое