# BAaC (Books, articles and courses) Книги, статьи и курсы которые я использовал или буду использовать для самообучения. Напомню что самообучение сугубо личное дело и в данной заметке собраны самые годные (по моему субъективному мнению) образцы. Заметка активно дополняется. ###### tags: `Useful stuff` --- :::spoiler Содержание [TOC] ::: ## Books :book: ### Python :snake: 1) Марк Лутц - Изучаем Python > Пожалуй самая лучшая книга чтобы начать знакомство c Python. Очень много полезной информации для начинающего, или уже имеющего опыт программиста. Включает в себя ведомости о внутреннем устройстве Python, все основные типы данных и методы работы с ними, синтаксические особенности языка. ==КРАЙНЕ РЕКОМЕНДУЮ К ПРОЧТЕНИЮ== 2) Марк Лутц - Программирование на Python (1, 2 томы) > Весьма информативные книги, но советую читать избирательно, т.к. очень много вспомогательной информации, не всегда необходимой на практике. 3) Романьо Лучано - Python к вершинам мастерства (Fluent Python) ** > Advanced уровень изучения Python. Очень много продвинутой информации по языку. НО! Очень важно до этого изучить хотя бы одну из предыдущих книг. 4) Марьяно Анная - Clean Code in Python > Кратко но очень доступно (с весьма хорошими примерами), рассказывается о правиах хорошего кодинга на Python. #### Математика с реализацией на Python 1) Адитья Бхаргава - Грокаем алгоритмы(Серия "грокаем" в целом) > Книга в которой с азов обьясняется теория алгоритмов с примерами на Python и иллюстрациями. Затронуты темы стандартных алгоритмов(сортировки, бинарный поиск), графов, сложных структур данных. Также в конце книги вскользь упоминаются некоторые алгоритмы МО. ... ### Математика :heavy_division_sign: 1) Александр Киркинский - Линейная алгебра/Мат. анализ > Очень хорошие пособия для повторения забытого материала 2) Тарас Панов - Линейная алгебра и геометрия > ... 3) Евгений Тыртышников - Матричный анализ и линейная алгебра ** > ... 4) Григорий Михайлович Фихтенгольц - Курс дифференциального и интегрального исчисления ( в 3 томах ) > Пожалуй лучший курс по мат. анализу. Очень помагает в дальнейшем. 5) Дональд Кнут, Роналд Грэхем и Орен Паташник - Конкретная математика > Собственно незыблемая классика которую стоит знать. 6) Владимир Гмурман - Теория вероятностей и математическая статистика > Прекрасное введение в теорвер и статистику 7) Уильям Феллер - Введение в теорию вероятностей и её приложения(1, 2 томы)** > Продвинутый и более сложный учебник по теорверу нежеди у Гмурмана 8) Род Хаггарти - Дискретная математика для программистов > Хорошая книга для программистов и обычных людей, интересующихся дискретной математикой. 9) Владимир Савельев - Статистика и котики :smile_cat: > Исходя из названия очень фановое и тем не менее полезное пособие, годиться чтобы быстро вспомнить статистику 10) Фоменко А.Т., Фукс Д.Б. - Курс гомотопической топологии > ... 11) Don S. Lemons - A Student's Guide to Entropy 12) James V Stone - Imformation Theory A Tutorial Introduction ### ML, DL :zero::one: 1) Орельен Жерон - Прикладное машинное обучение с помощью Scikit-Learn и TensorFlow 2 > Прекрасная во всех смыслах книга с введением в классику МО, недавно вышло второе издание 2) Питер Брюс, Эндрю Брюс - Практическая статистика для специалистов Data Science > Книга "от практиков, теоретикам". Недостатком является то, что весь код на R. Тем не менее не возникает проблем переписать его на Python. :::info Недавно вышло второе издание с примерами на Python. ::: 3) Джек Вандер Плас - Python для сложных задач. Наука о данных и машинное обучение > Пособие для желающих вспомнить/выучить как работать с NumPy, matplotlib, Pandas 4) Иен Гудфеллоу, Джошуа Бенджио, Аарон Курвиль - Глубокое обучение(Предпочтительно читать в оригинале) > Сильнейшая книга по глубокому обучению. Не слишком сложно подан материал, читать интересно, классика. 5) Тревор Хасти, Роберт Тибширани, Жером Фридман - Основы статистического обучения (The Elements of Statistical Learning) > ... 6) Роб Хиндман, Джордж Атаносаполус - [Forecasting: Principles and Practice](https://otexts.com/fpp2/index.html) > ... ### Linux/UNIX 1) Андрей Столяров - Программирование. Введение в профессию > Хорошие книги для тех кто вообще ничего не знает про UNIX системы, основные Я.П. и компьютерные сети. 2) Уильям Шоттс - Коммандная строка Linux > Advanced Linux пособие, так сказать 3) Сричаран Вадапалли - Hands-on DevOps > Полезные знания для деплоя моделей 4) Арнольд Роббинс - Bash Карманный Справочник > Основы Bash ### Вспомогательные материалы 1) Сергей Львовский - Набор и верстка в пакете Latex > Хорошая книга по Latex(совет опытного человека) :::info Вот ещё очень удобный ресурс и вроде как неплохие туторы ++[источник](https://www.overleaf.com/learn/latex/Articles/The_TeX_family_tree:_LaTeX,_pdfTeX,_XeTeX,_LuaTeX_and_ConTeXt)++ ::: ### Годнота :+1: 1) Макс Тегмарк - Life 3.0 > Автор высказывает свои опасения в связи с появление в жизни человека искусственного интеллекта. 2) Филип Дик - Мечтают ли андроиды об электроовцах? > Классический вопрос, так ли сильно андроиды отличаются от людей? 3) Уильям Паундстоун - Достаточно ли вы умны, чтобы работать в Google? > Книга которая представляет собой некий сборник вопросов с собеседований в топовых компаниях мира сего и ответами на них. Также присутствует повествовательная часть с разными историями от реальных людей. ## Courses :computer: ### ML, DL 1) [Основы статистики](https://stepik.org/course/76) > Курс состоящий из 3х частей, отличный по всем параметрам за исключнеием примеров кода на R (что на самом деле не так уж и плохо) 2) [Нейронные сети и компьютерное зрение](https://stepik.org/course/50352) > Весьма недурное введение в DL 3) [Нейронные сети и обработка текста](https://stepik.org/course/54098) > От создателей предыдущего курса. Также весьма хорош, особенно радует введение в NLP 4) [Andrew Ng - Машинное обучение](https://ru.coursera.org/learn/machine-learning) > Это классика, это знать нужно 5) [Andrew Ng - Deep Learning Specialization](https://www.coursera.org/specializations/deep-learning?) > Божественный курс по глубокому обучению 7) [Data Visualization with Python](https://ru.coursera.org/learn/python-for-data-visualization) > Курс от IBM по визуализации данных в Python 8) [Interactive Python Dashboards with Plotly and Dash](https://www.udemy.com/course/interactive-python-dashboards-with-plotly-and-dash/?utm_source=adwords&utm_medium=udemyads&utm_campaign=Python_v.PROF_la.EN_cc.ROW_ti.7380&utm_content=deal4584&utm_term=_._ag_85724077624_._ad_386274912907_._kw__._de_c_._dm__._pl__._ti_dsa-774930046209_._li_1012866_._pd__._&matchtype=b&gclid=CjwKCAiAhc7yBRAdEiwAplGxXzNLXg9FMd3QmrYRM5zx4oKv1h5kG3DQ1axlA54xjGqF5-3Qgywn7BoCB6EQAvD_BwE) > Непонятно почему дорогой, но очень годный курс по "последнему слову" в визуализации данных. Либа очень годная, не раз использовал. Активно развивается и обрастает фичами. ~~P.S. Запираченую полную версию курса можно скачать [тут](https://mega.nz/#F!jjwQ3KYD!a2wgwmvQpkoHeB8nQVc_Sg):smile:~~ ### Useful 1) [RegExp](https://regexone.com/lesson/misc_meta_characters?) ## Articles :notebook: ### Python 1) [Как работает память в Python](https://habr.com/ru/company/domclick/blog/530804/)** 2) [How to Use Generators and yield in Python](https://realpython.com/introduction-to-python-generators/) 3) [10 tricks for a better Google Colab experience](https://towardsdatascience.com/10-tips-for-a-better-google-colab-experience-33f8fe721b82) 4) [Faster Lists In Python](https://levelup.gitconnected.com/faster-lists-in-python-4c4287502f0a) 5) [How Python Manages Memory](https://realpython.com/courses/how-python-manages-memory/) 6) [PyPy: Faster Python With Minimal Effort](https://realpython.com/pypy-faster-python/) 7) [Don’t Use Recursion In Python Any More](https://link.medium.com/hphArUFYEbb) ### Статистика 1) [Violin plots explained](https://towardsdatascience.com/violin-plots-explained-fb1d115e023d) 2) [p-value](http://datascientist.one/p-value/) 3) [Q Q plot explained](https://www.statisticshowto.datasciencecentral.com/q-q-plots/) 4) [Covariance and Correlation](https://towardsdatascience.com/let-us-understand-the-correlation-matrix-and-covariance-matrix-d42e6b643c22) 5) [A Gentle Introduction to Information Entropy](https://machinelearningmastery.com/what-is-information-entropy/) 6) [Мой конспект по статистике (активно дополняется)](https://hackmd.io/@gUKZpjtcSMKgth4GCV58Pg/r1LlST-3r) ### ML 1) [Preprocessing with sklearn](https://towardsdatascience.com/preprocessing-with-sklearn-a-complete-and-comprehensive-guide-670cb98fcfb9) 2) [A Gentle Introduction to Cross-Entropy for Machine Learning](https://machinelearningmastery.com/cross-entropy-for-machine-learning/) 3) [A Conceptual Explanation of Bayesian Hyperparameter Optimization for Machine Learning](https://towardsdatascience.com/a-conceptual-explanation-of-bayesian-model-based-hyperparameter-optimization-for-machine-learning-b8172278050f)** 4) [Hyper-parameter optimization algorithms: a short review](https://medium.com/criteo-labs/hyper-parameter-optimization-algorithms-2fe447525903) 5) [Using Optuna to Optimize TensorFlow Hyperparameters](https://medium.com/optuna/using-optuna-to-optimize-tensorflow-hyperparameters-57b6d4d316a2) 6) [Optuna vs Hyperopt](https://towardsdatascience.com/optuna-vs-hyperopt-which-hyperparameter-optimization-library-should-you-choose-ed8564618151) 7) [Understanding 8 types of Cross-Validation](https://towardsdatascience.com/understanding-8-types-of-cross-validation-80c935a4976d) ### DL 1) [7 Types of Neural Network Activation Functions](https://missinglink.ai/guides/neural-network-concepts/7-types-neural-network-activation-functions-right/) 2) [First contact with TensorFlow Estimator](https://towardsdatascience.com/first-contact-with-tensorflow-estimator-69a5e072998d) ### NLP 1) [Understanding LSTM Networks](https://colah.github.io/posts/2015-08-Understanding-LSTMs/) 2) [Illustrated Guide to LSTM’s and GRU’s: A step by step explanation](https://towardsdatascience.com/illustrated-guide-to-lstms-and-gru-s-a-step-by-step-explanation-44e9eb85bf21) 3) [Understanding LSTM and its diagrams](https://medium.com/mlreview/understanding-lstm-and-its-diagrams-37e2f46f1714) 4) [Intuition Behind Transformers Architecture in NLP](https://towardsdatascience.com/intuition-behind-transformers-architecture-nlp-c2ac36174047) 5) [Attention Is All You Need](https://arxiv.org/abs/1706.03762) 6) [The Illustrated Transformer](http://jalammar.github.io/illustrated-transformer/) 7) [The Positional Encoding](https://kazemnejad.com/blog/transformer_architecture_positional_encoding/) 8) [Compressive Transformer vs LSTM](https://medium.com/ml2b/introduction-to-compressive-transform-53acb767361e) 9) [Attention Mechanism](https://blog.floydhub.com/attention-mechanism/) 10) [Introduction of Self-Attention Layer in Transformer](https://medium.com/lsc-psd/introduction-of-self-attention-layer-in-transformer-fc7bff63f3bc) 11) [Illustrated: Self-Attention](https://towardsdatascience.com/illustrated-self-attention-2d627e33b20a) ### Полезные материалы 1) [Sphinx-RTD-Tutorial](https://sphinx-rtd-tutorial.readthedocs.io/en/latest/index.html) 2) [Documentation autogeneration using sphinx](https://hackmd.io/lwTsFNSdQ7mbgigLe_Yb_Q?view) 3) [Software Licenses in Plain English](https://tldrlegal.com/) 4) [Load Average в Linux: разгадка тайны](https://habr.com/ru/company/mailru/blog/335326/) 5) [Makefile Tutorials](https://makefiletutorial.com/#getting-started) ### Асинхронное программирование 1) [Understanding CPU and I/O bound for asynchronous operations](https://www.hellsoft.se/understanding-cpu-and-i-o-bound-for-asynchronous-operations/) 2) [Python Concurrency: Making sense of asyncio](https://www.educative.io/blog/python-concurrency-making-sense-of-asyncio) 3) [Async IO in Python: A Complete Walkthrough](https://realpython.com/async-io-python/) 4) [Coroutine in Python](https://www.geeksforgeeks.org/coroutine-in-python/#:~:text=Coroutines%20work%20cooperatively%20multi%20task,at%20set%20points%20by%20programmer.&text=In%20Python%2C%20coroutines%20are%20similar,coroutines%20can%20also%20consume%20data.) 5) [How are coroutines implemented?](https://discuss.python.org/t/how-are-coroutines-implemented/1106/4) *[**]: Продвинутый уровень