![](https://habrastorage.org/webt/lw/7f/fq/lw7ffq7bg-3lismseowc9ltb1ye.jpeg)
В течение нескольких месяцев мы собирали памятки по искусственному интеллекту, которыми периодически делились с друзьями и коллегами. В последнее время сложилась целая коллекция, и мы добавили к памяткам описания и/или цитаты, чтобы было интереснее читать. А в конце вас ждёт подборка по сложности «О большое» (Big-O). Наслаждайтесь.
UPD. Многие картинки будут читабельнее, если открыть их в отдельных вкладках или сохранить на диск.
Нейронные сети
![](https://habrastorage.org/webt/c-/9z/mg/c-9zmgitlw_0vay8vtnl9ggiono.png)
Памятка по нейронным сетям
Графы нейронных сетей
![](https://habrastorage.org/webt/ka/4i/ar/ka4iartx6f1mrwucvxankw5r4uq.png)
Памятка по графикам нейронных сетей
![](https://habrastorage.org/webt/es/ei/yp/eseiyplvykhehj-zblcncib_wwm.png)
Памятка по нейронным сетям
Обзор по машинному обучению
![](https://habrastorage.org/webt/jo/no/gt/jonogte2abfiuhcrbm5brhcrcis.png)
Памятка по машинному обучению
Алгоритм Scikit-learn
Эта памятка по машинному обучению поможет найти подходящий алгоритм для оценки, что является наиболее сложной частью работы. Блок-схема поможет проверить документацию и задаст общее направление по каждому алгоритму. Это позволит лучше понять стоящие перед вами проблемы и способы их решения.
Scikit-learn (ранее известная как scikits.learn) — это бесплатная библиотека машинного обучения для Python. В нее входят различные виды классификации, регрессии и алгоритмы кластеризации, включающие метод опорных векторов, алгоритм Random forest («случайный лес»), градиентный бустинг, метод k-средних и DBSCAN. Scikit-learn предназначена для взаимодействия с вычислительными и научными библиотеками Python NumPy и SciPy.
![](https://habrastorage.org/webt/_e/un/ih/_eunihwuuvx2mletvbbqryonhyy.png)
![](https://habrastorage.org/webt/b8/3m/ts/b83mts9rfiqu0pntgwyvifgoj3w.png)
Памятка по Scikit-learn
Памятка по алгоритмам машинного обучения
Эта памятка от Microsoft Azure поможет с выбором подходящих алгоритмов машинного обучения для вашего предсказательного аналитического решения. Вначале памятка спросит о природе данных, а затем посоветует наилучший алгоритм.
![](https://habrastorage.org/webt/vy/7s/bj/vy7sbjhpyihycxlsfz_9hfpotgs.png)
Python для Data Science
![](https://habrastorage.org/webt/sw/uq/ue/swuquecpitzkyptqhvxo3eqh72w.png)
Памятка по Python для Data Science
![](https://habrastorage.org/webt/eu/jd/ca/eujdcajtr1vssufmfp1f9fdw0ao.png)
Памятка по большим данным
TensorFlow
В мае 2017 года Google анонсировал TPU второго поколения, а также их доступность в Google Compute Engine. TPU второго поколения обладают производительностью до 180 терафлопов, а при кластеризации по 64 TPU — до 11,5 петафлопов.
![](https://habrastorage.org/webt/ga/re/hy/garehyvaiz11tewuhrt3iykdylq.png)
Памятка по TensorFlow
Keras
В 2017 году команда TensorFlow в Google решила внедрить поддержку Keras в основную библиотеку TensorFlow. Шолле (Chollet) объяснил, что Keras является, скорее, интерфейсом, чем сквозной системой машинного обучения. Он предоставляет высокоуровневый, более интуитивный набор абстракций, который упрощает конфигурирование нейронных сетей, вне зависимости от используемой в бэкенде библиотеки научных вычислений
![](https://habrastorage.org/webt/0t/ia/op/0tiaopaxxr69ojnxirr3l8hqtuw.jpeg)
NumPy
NumPy предназначен для Cpython, эталонной реализации Python, которая является не оптимизирующим интерпретатором байт-кода. Математические алгоритмы, написанные для этой версии Python, часто работают гораздо медленнее скомпилированных аналогов. Библиотека NumPy частично решает проблему скорости за счет многомерных массивов, а также функций и операторов, оптимизированных для работы с массивами. Необходимо будет переписать часть кода с использованием NumPy, в основном внутренние циклы.
![](https://habrastorage.org/webt/9d/e_/pc/9de_pczds0ga6dqu8elkwuwdowo.png)
Памятка по NumPy
Pandas
Название «Pandas» происходит от эконометрического термина "panel data", который применяется для многомерных структурированных наборов данных.
![](https://habrastorage.org/webt/di/x3/km/dix3km5dihseymclfzt8-l4en34.png)
Памятка по Pandas
Data Wrangling
Data Wrangling («выпас» данных, первичная обработка данных) — этот термин начинает проникать в поп-культуру. В фильме 2017 «Конг: Остров черепа» один из героев представлен как «Стив Вудвард, наш data wrangler».
![](https://habrastorage.org/webt/tk/ns/tl/tknstl1xc8nn7joafs15avsmw3m.jpeg)
Памятка по Data Wrangling
![](https://habrastorage.org/webt/qh/jc/56/qhjc56tbtxunam0f1of4cgvikc0.jpeg)
Памятка по Pandas Data Wrangling
Data Wrangling с помощью dplyr и tidyr
![](https://habrastorage.org/webt/ix/pm/h4/ixpmh4orogjmtfcmc4eprpk1h30.jpeg)
Памятка по Data Wrangling с dplyr и tidyr
![](https://habrastorage.org/webt/iz/zk/xj/izzkxjhd3v0pp8dhjpgav7x9qlo.jpeg)
Памятка по Data Wrangling с dplyr и tidyr
SciPy
В основе SciPy лежит объект-массив NumPy. Эта библиотека является частью стека NumPy, который включает такие инструменты, как Matplotlib, Pandas и SymPy, а также расширяющийся набор библиотек для научных вычислений. У стека NumPy и приложений MATLAB, GNU Octave и Scilab одна и та же аудитория пользователей. Стек NumPy также иногда называют стеком SciPy.
![](https://habrastorage.org/webt/ep/jf/4x/epjf4xf8mz_djxcgc-6cft4q10w.png)
Памятка по SciPy
Matplotlib
Matplotlib — это библиотека для построения графиков для Python и его вычислительного математического расширения NumPy. Она предоставляет объектно-ориентированный API для встраивания графиков в приложения с использованием универсальных GUI-инструментов, таких как Tkinter, wxPython, Qt, или GTK+. Существует также процедурный интерфейс «pylab» на основе конечного автомата (например, OpenGL), разработанный так, чтобы походить MATLAB, хотя его использование не рекомендуется. SciPy использует matplotlib.
Pyplot — это модуль matplotlib, который предоставляет интерфейс наподобие MATLAB. Matplotlib применяется так же, как и MATLAB, позволяет использовать Python, и к тому же бесплатен.
![](https://habrastorage.org/webt/sw/ng/jv/swngjvlua1h1u9ecyy_pin_0spg.png)
Памятка по Matplotlib
Визуализация данных
![](https://habrastorage.org/webt/0v/6c/5i/0v6c5iwbsytcl5emxmg2dnicjce.jpeg)
Памятка по визуализации данных
![](https://habrastorage.org/webt/do/m_/oj/dom_ojp7l9dmko2rla6qei1tuy4.jpeg)
Памятка по ggplot
PySpark
![](https://habrastorage.org/webt/lj/vy/aj/ljvyajzkgthrnwjuz9iys80y290.jpeg)
Памятка по PySpark
«О большое» (Big-O)
![](https://habrastorage.org/webt/xz/qy/fg/xzqyfg-p2gitkcs-dzivkt1m1ui.png)
Памятка по сложности алгоритмов
![](https://habrastorage.org/webt/_3/im/oz/_3imozdqdlpiqb6x123rir1t5g4.png)
Памятка по сложности алгоритмов
![](https://habrastorage.org/webt/6g/g0/8t/6gg08tow6sot2yltke4q8smazf4.png)
Памятка по сложности операций со структурами данных в алгоритмах
![](https://habrastorage.org/webt/9b/le/7e/9ble7e2g93ko-qiyfmub4iokm2i.png)
Памятка по сложности алгоритмов сортировки массива
Источники
Памятка по сложности алгоритмов
Памятка по Bokeh
Памятка по Data Science
Памятка по Data Wrangling
Памятка по Ggplot
Памятка по Keras
Памятка по машинному обучению
Памятка по машинному обучению
Памятка по машинному обучению
Памятка по Matplotlib
Памятка по нейросетям
Памятка по графам нейросетей
Нейросети
Памятка по Numpy
Памятка по Pandas
Памятка по Pandas
Памятка по Pyspark
Памятка по Scikit
Памятка по Scikit-learn
Памятка по Scipy
Памятка по TensorFlow
Комментарии (9)
Dark_Daiver
25.07.2018 08:03+1Если честно, то я бы убрал первую картинку, т.к. она откровенно вредная. Мало того, что она толком ничего не объясняет — одной топологии недостаточно чтобы объяснить чем отличается один тип нейронной сети от другой, так еще и топология местами нарисована с ошибками.
К примеру
— Что такое kernel в сверточной сети (deep convolutional network), и почему он идет перед первыми свертками?
— Чем отличаются feed forward и radial basis network?
— Почему у SVM несколько скрытых слоев? Если речь идет о нелинейных SVM, то возможно стоило влепить kernel сюда? Что за хитрые скрытые слои, которые принимают по одному входу? Ну и строго говоря причислять SVM к Neural Networks это несколько грубо.
— Почему в GAN дважды встречается Match input output Cell? Что такое Match input output Cell в принципе? Если это просто штука которая сравнивает поэлементно входы-выходы, то в GAN такого в чистом виде не происходит.
— Почему skip connections в Deep Residual Network связывают только часть нейронов? Строго говоря, не совсем корректно показывать skip connections так же как и обычные соединения. В DRN skip connections это всегда сложение, более сложные случаи уже не называют residual (Dense connections, например).Calc
25.07.2018 11:56Наоборот, тем кто далек от этого это визуальное представление, что есть что то кроме простого перцептрона и 2х уровневой сетки. А дальше можно самому искать информацию по каждому типу. Много раз видел поддержку сетей в opencv, но не так интересен просто список, сколько визуальное представление.
ps работа не связана с нейронными сетями, просто интересDark_Daiver
25.07.2018 20:21имхо, это не повод городить плохие «шпаргалки». На крайний случай можно было вставить топологии тех же Inception/ResNet — смотрятся солидно и при этом отображают реальную топологию.
lumaxy
25.07.2018 18:17Только у меня некоторые картинки слишком мелкие, чтобы прочитать часть текста? «Открыть картинку в новой вкладке» не помогает, надо идти по ссылке в конце статьи.
DmitriyDev
Большое человеческое спасибо!