本人依据个人爱好和工作需要制定了一份详细的学习计划。依据本「指南」在博客不定时更新学习笔记,尝试用费曼学习法深刻理解所学的知识。
其中
- 标记 ☑️ 是必修
- 标记 ⬜️ 待定
- 标记 ❤️ 是选修课
致谢,ApacheCN 中文开源组织: 致力于官方文档及AI书籍中文翻译。
标点符: 丰富的机器学习理论知识和Python示例。
Basics
- ☑️ 正则表达式
- ☑️ Linux基础知识
- ☑️ Linux shell教程
- ⬜️ 电子书文件格式
- ☑️ Git 快速参考指南
- ☑️ 看不懂的数字
- ☑️ Mac终端配置文件
Markup Language
- ❤️ 标记语言概览
- ☑️ GitHub Flavored Markdown 规范
- ☑️ KaTeX 基本数学符号
- ☑️ JSON 介绍
- ⬜️ YAML 基础语法
- ❤️ SVG 入门教程: SVG是一种开放标准的矢量图形语言,基于XML标记语言
Blog
- ☑️ Hexo5博客搭建及配置
- ☑️ Hexo标签插件的使用
- ☑️ NexT主题标签插件的使用
- ☑️ NexT主题配置
- ☑️ 建立博客时踩过的坑
- ☑️ NPM简单使用
- ☑️ Hexo的Git部署插件
- ☑️ 主流的博客框架及部分主题
- ☑️ Hexo 博客魔改优化方法
Artificial Intelligence
Machine Learning
- ☑️ 基础知识
- ☑️ 参数估计
- ☑️ 数据预处理
- ☑️ 模型选择与评估
- ☑️ 监督学习(一)线性回归
- ☑️ 监督学习(二)线性分类
- ☑️ 监督学习(二)线性和二次判别分析
- ☑️ 监督学习(三)决策树
- ☑️ 监督学习(四)支持向量机
- ☑️ 监督学习(五)k近邻算法
- ☑️ 监督学习(六)贝叶斯分类
- ☑️ 监督学习(七)集成学习
- ☑️ 无监督学习(一)聚类
- ☑️ 无监督学习(二)主成分分析
- ☑️ 无监督学习(二)流形学习
- ☑️ 无监督学习(三)EM算法
- ☑️ 无监督学习(五)异常检测
- ☑️ 无监督学习(六)关联分析
- ☑️ 无监督学习(七)核密度估计
- ☑️ 概率图模型(一)隐马尔可夫模型
- ☑️ 概率图模型(二)条件随机场
- ☑️ 半监督学习
- ☑️ 强化学习(一)马尔可夫决策过程
- ☑️ 强化学习(二)动态规划
- ☑️ 强化学习(三)蒙特卡洛方法
- ☑️ 强化学习(四)时序差分方法
- ☑️ 强化学习(五)值函数近似
- ☑️ 强化学习(六)策略梯度方法
- ☑️ 强化学习(七)Actor-Critic
Deep Learning
- ☑️ 多层感知机(MLP)
- ☑️ 卷积神经网络(CNN): 特别适用于图像处理任务
- ☑️ 循环神经网络(RNN): 适用于处理序列数据,如时间序列分析和自然语言处理
- ☑️ 长短期记忆网络(LSTM): 一种特殊的RNN架构,有效解决了传统RNN中的梯度消失问题
- ☑️ 生成对抗网络(GAN): 用于生成逼真的图像等数据
- ☑️ 强化神经网络(DQN)
Large Language Model
- ⬜️ Generative AI: AI Generated Content (AIGC)
- ⬜️ Transformer
- ⬜️ Generative Pre-trained Transformer (GPT)
Appendices
- ☑️ 机器学习中的优化算法: 优化是找出函数的最大值或最小值的方法
- ☑️ 机器学习中的矩阵运算
Big Data
Hadoop
- ☑️ Hadoop安装配置
- ⬜️ Hadoop简介
- ⬜️ 数据仓库和数据湖简介
Hive
- ☑️ Hive安装配置
- ☑️ Hive基础知识
- ☑️ HiveQL(Introduction): Hive 命令、数据类型
- ☑️ HiveQL(DQL): 数据查询语言(Data Query Language, DQL):用以从表中获得数据,包括 SELECT,WHERE,ORDER BY,GROUP BY和HAVING等。
- ☑️ HiveQL(DML): 数据操作语言(Data Manipulation Language, DML):其语句包括动词 INSERT、UPDATE、DELETE。它们分别用于添加、修改和删除。
- ☑️ HiveQL(DDL): 数据定义语言(Data Definition Language, DDL):其语句包括动词CREATE、ALTER和DROP。
- ☑️ HiveQL(Functions): Hive 常用函数
Spark
- ☑️ Spark安装配置
- ☑️ Spark 简介
- ☑️ Spark Core and RDDs: Spark的核心RDD
- ☑️ Spark SQL and DataFrames: DataFrame 抽象
- ☑️ PySpark MLlib: spark 机器学习库
- ☑️ PySpark Streaming: mini-batch 数据流处理
- ☑️ PySpark 特征工程(I)–数据预处理
- ☑️ PySpark 特征工程(II)–特征构造
- ☑️ PySpark 特征工程(III)–特征选择
- ☑️ PySpark机器学习Demo: spark 机器学习库
Oracle
- ☑️ Oracle SQL(Introduction)
- ☑️ Oracle SQL(DQL): 数据查询语言(Data Query Language, DQL):用以从表中获得数据,包括 SELECT,WHERE,ORDER BY,GROUP BY和HAVING等。
- ☑️ Oracle SQL(DML): 数据操作语言(Data Manipulation Language, DML):其语句包括动词 INSERT、UPDATE、DELETE。它们分别用于添加、修改和删除。
- ☑️ Oracle SQL(DDL): 数据定义语言(Data Definition Language, DDL):其语句包括动词CREATE、ALTER和DROP。
- ☑️ Oracle SQL(Functions): Oracle 常用函数
- ☑️ Oracle SQL(TCL): 事务控制语言(Transaction Control Language, TCL):它的语句能确保被DML语句影响的表的所有行及时得以更新。包括COMMIT(提交)命令、SAVEPOINT(保存点)命令、ROLLBACK(回滚)命令。
Appendices
- ❤️ Dask: 是一个灵活的开源库,适用于 Python 中的并行和分布式计算
- ☑️ Flink安装配置: Flink是一个框架和分布式处理引擎,用于在无边界和有边界数据流上进行有状态的计算。
- ☑️ Kafka安装配置: Kafka 是一种分布式的,基于发布 / 订阅的消息系统,支持数据集成和数据流处理。
- ⬜️ Presto 简介: 设计用于对 HDFS 和其他源中的数据进行快速交互式查询。对于多表关联的需求,我们可以通过 Presto 跨数据源完成多表的 join 操作。
- ⬜️ ClickHouse: 是一个用于联机分析(OLAP)的列式数据库管理系统(DBMS)。对于固定类报表,可以将数据打平成宽表的,充分发挥在单表查询的性能优势。
- ⬜️ StarRocks: 致力于全场景联机分析(OLAP)统一服务。采用了全面向量化引擎(列存储)。可以接收批量或者流式数据存储,也可以在数据湖上直接使用 StarRocks 分析。
- ⬜️ Kylin: 的核心思想是以空间换时间。即多维分析可能用到的度量进行预计算,将计算好的结果保存成
Cube
并存储到HBase
中,供查询时直接访问。
Python
本手册所列包来自Awesome-Python ,结合GitHub 和官方文档。
Basics
- ❤️ Python(IDE)–常用的Python IDE
- ☑️ Python(Python Basics)–Python基础(一)
- ☑️ Python(Python Basics)–Python基础(二)
- ☑️ Python(Python Basics)–Python面向对象
- ☑️ Python Cookbook 3rd: Python3 魔术语法
- ⬜️ Python(Python Basics)–RPy2: Python 通过rpy2调用 R语言
- ⬜️ shortuuid: 基于时间戳、随机数等生成简单的唯一ID
- ⬜️ rich: 用于将富文本、表格、进度条、语法高亮、markdown 等写入终端。
- ☑️ Progress Bars with Python: 在Python中实现进度条
- ❤️ loguru: 更为优雅、简洁的日志管理模块
Standard Library
- ☑️ Python(Standard Library)–string: Python3 字符串方法和格式化输出
- ☑️ Python(Standard Library)–日期时间模块: datetime, time, calendar
- ☑️ Python(Standard Library)–数学模块: 基础包:math, random
- ☑️ Python(Standard Library)–re: re 模块使 Python 语言拥有全部的正则表达式功能。
- ☑️ Python(Python Basics)–命令行参数: 轻松编写更友好的命令行参数接口,包括 sys.argv, getopt, argparse
- ☑️ Python(Standard Library)–Python 代码调试工具: assert, pdb, ipdb
- ❤️ tkinter: Python 的标准 GUI 库
- ❤️ os: 文件和目录处理库
- ❤️ Joblib: 是用于高效并行计算的Python开源库
- ❤️ cProfile: 是一个强大的性能分析工具,提供函数级性能分析,包括调用次数、总耗时等信息
- ❤️ setuptools: Python标准的打包分发工具
- ❤️ pytest: 是一个功能强大的 Python 测试框架
Scientific Computing
- ☑️ Python(Scientific Computing)–NumPy: 使用 Python 进行科学计算的基础包
- ☑️ Python(Scientific Computing)–Cython: 旨在融合 Python 的易用性和 C 语言的高性能
- ❤️ Python(Scientific Computing)–SciPy: 由一些基于 Python ,用于数学、科学和工程的开源软件构成的生态系统
- ❤️ Python(Scientific Computing)–SymPy: 是一个符号计算的Python库
- ❤️ 柏林噪声
Data Analysis
- ☑️ Python(Data Analysis)–pandas: 提供高性能,易用的数据结构和数据分析工具
- ☑️ Python(Data Analysis)–pandas(Time Series): Pandas 时间序列数据处理工具
- ❤️ Polars: 是一个用 Rust 编写的并行化 DataFrame 库,旨在提供高性能和灵活的数据分析。
Web Crawling
- ☑️ BeautifulSoup: 解析HTML页面。
Visualise
- ☑️ Python(Visualise)–matplotlib: Matplotlib is a comprehensive library for creating static, animated, and interactive visualizations in Python
- ☑️ Python(Visualise)–seaborn: 基于matplotlib封装的数据可视化库
Machine Learning
- ☑️ Python(Machine Learning)–sklearn: 基于 SciPy 构建的机器学习 Python 模块
- ☑️ Python(Machine Learning)–statsmodels: 统计建模和计量经济学
- ☑️ Python(Machine Learning)–XGBoost
- ☑️ Python(Machine Learning)–LightGBM
- ☑️ Python(Machine Learning)–CatBoost
- ☑️ Python(Machine Learning)–超参数优化
- ❤️ Dask: 是一个灵活的开源库,适用于 Python 中的并行和分布式计算
- ❤️ imblearn: 专门用于处理不平衡数据集
- ❤️ featuretools: 把常见的特征工程方法进行了自动化封装
- ☑️ 特征工程(I)–探索性数据分析
- ☑️ 特征工程(II)–数据预处理
- ☑️ 特征工程(III)–特征构造
- ☑️ 特征工程(IV)–特征选择
- ☑️ 特征工程(V)–时间序列特征
- ☑️ 特征工程(VI)–机器学习
- ☑️ 特征工程(VII)–模型集成
Deep Learning
- ⬜️ TensorFlow: Google开源的深度学习框架。
- ☑️ PyTorch: Facebook研发的专门针对 GPU 加速的深度学习框架。
Documentation
- ☑️ Python(Documentation)–PyYAML: Python 的 YAML 解析器和发射器
- ⬜️ python-docx: for creating and updating Microsoft Word (.docx) files.
- ❤️ openpyxl: 全面,包括修改各种Excel格式,不过不能批量修改数据
- ⬜️ xlwings: 批量实时修改Excel数据,和pandas, matplotlib完美对接,只能修改个别格式
- ❤️ markdown: 用于将Markdown文本转换为HTML或其他格式。
Learning Python
Java
Basics
- ☑️ Java简单使用
C++
Basics
Machine Learning
R
本手册所列包基本来自AwesomeR ,结合GitHub和help(package="pk_name")
官方文档整理所得,有助于使用时下最实用的包对R进行深入的学习。
Basics
- ☑️ R(Common)–R语言入门: 包括Rstudio介绍,R的数据结构和基础语法等
- ☑️ R(Common)–R语言基础包: base, stats等基础包函数
- ☑️ R(Common)–面向对象: 包括面向对象R6类和S4类
- ☑️ R(Common)–tidyverse: tidyverse包集合,核心包(ggplot2,tibble,tidyr,readr,purrr,dplyr)
- ☑️ R(Common)–tibble: tibble 重塑了data.frame,可存储任意类型,包括list,tbl_df 等
- ☑️ R(Common)–data.table: 简短的代码实现快速操作数据
- ❤️ devtools: 使开发R包变得更简单(Hadley)
- ☑️ R(Syntax)–purrr: A functional programming(FP, 函数化编程) toolkit for R (Hadley)
- ⬜️ lambda.r: R中的函数式编程和简单模式匹配
- ☑️ R(Syntax)–magrittr: Let’s pipe it (管道语法)
Import
- ☑️ R(Import)–读取常用文件: for txt, excel, and json
- ⬜️ haven: for SPSS,SAS and Stata files.(Hadley)
- ❤️ feather: for sharing with Python and other languages.(Hadley)
- ☑️ R(Import)–DBI: definition for communication between R and RDBMSs
Web Technologies
- ☑️ httr: for web APIs (RCurl升级版) (Hadley) (Update according to GitHub)
- ☑️ R(Import)–rvest: Simple web scraping for R (Hadley)
Data Cleaning
- ☑️ R(Data Cleaning)–tidyr: 清理数据,reshape2替代版(Hadley)
- ☑️ R(Data Cleaning)–dplyr and plyr: A Grammar of Data Manipulation
- ⬜️ rlist: 用于list(非规整)数据操作工具箱
- ☑️ R(Data Cleaning)–stringr: Simple, Consistent Wrappers for Common String Operations
- ⬜️ utf8: 处理和修复R中的多种文本编码问题
- ☑️ R(Data Cleaning)–日期时间: for date and times.(Hadley)
- ☑️ R(Data Cleaning)–forcats: for factors.(Hadley)
- ☑️ R(Data Cleaning)–naniar and simputation: 缺失数据概述、可视化和插补
Visualise
- ☑️ R(Visualise)–RColorBrewer and extrafont: 调色板和字体配置
- ☑️ R(Visualise)–ggmap and baidumap: 使用ggplot2在R中绘制静态地图
- ☑️ R(Visualise)–ggplot2: 强大的绘图系统,并实现了许多扩展(Hadley)
- ☑️ ggplot2 extensions: ggplot2扩展,包括各种补充图形,坐标系统,主题等。
- ❤️ R(Visualise)–geomnet: 网格图(关系图)和血缘图
- ❤️ R(Visualise)–GGally: 矩阵图,生存图,网格图等
- ❤️ R(Visualise)–gganimate: 用ggplot2创建简单的动画
- ❤️ R(Visualise)–ggforce: 饼图
- ❤️ R(HTML Widgets)–leaflet: 最流行的JavaScript库交互式地图之一,动态交互地图。
- ☑️ R(HTML Widgets)–REmap: 基于Echarts的简易动态交互地图
- ☑️ R(HTML Widgets)–shiny: 使用R语言开发交互式web应用程序的工具
Parallel Computing
- ❤️ R(Parallel Computing)–foreach: 在循环(loop)中并行化运算
Machine Learning
- ☑️ R(Machine Learning)–mlr: 机器学习(分类,回归,生存分析,聚类等)的可扩展框架,提供了用于分析的整套工具,包括重抽样,缺失值插补,模型评估(cv,etc),超参数调优(grid-search,etc),特征选择,可视化(ROC,learnning-curve,etc)等
- ☑️ R(Model Tools)–broom: Convert statistical analysis objects into tidy format
- ☑️ R(Model Tools)–modelr: 辅助管道建模
- ❤️ caret: 分类和回归问题的数据训练综合工具包(包括交叉验证,网格搜索等)
- ☑️ R(Time Series)–zoo: zoo是对日期型数据进行清洗的R包
- ☑️ R(Time Series)–forecast and prophet: 线性或非线性模型高质量时间序列预测
NLP
- ☑️ R(NLP)–jiebaR: R语言词云和中文词典包
- ☑️ R(NLP)–wordcloud2: R interface to wordcloud for data visualization
- ☑️ R(NLP)–text2vec: 这个 R 包提供了高性能和简洁的 API 来进行文本分析、自然语言处理(jiebaR推荐包)
Documentation
- ☑️ R(Documentation)–R Markdown: 用于创建可重复性报告和动态文档
Learning R
- ☑️ Advanced R
- ☑️ R packages
- ☑️ R for Data Science
- ☑️ AwesomeR: R包大全
- ☑️ RStudio Cheat Sheets
- ☑️ TaskViews: CRAN Task Views
- ☑️ Search: Google search engine
Mathematics
Awesome Math: A curated list of awesome mathematics resources.
基础数学
- ☑️ 数学分析(一): 实数集合、极限、一元函数微分、不定积分、定积分
- ☑️ 数学分析(二): 多元函数微积分,重积分、曲线积分和曲面积分、场论初步
- ☑️ 数学分析(三): 无穷级数、幂级数、傅里叶级数、三角级数
- ☑️ 空间解析几何: 向量代数和空间解析几何
- ☑️ 复变函数和积分变换(一): 复变函数、解析函数、积分
- ☑️ 复变函数和积分变换(二): 级数、留数、共形映射
- ☑️ 复变函数和积分变换(三): 傅里叶变换、拉普拉斯变换
- ☑️ 概率论与数理统计(上册): 概率论
- ☑️ 概率论与数理统计(下册): 数理统计
微分方程
- ☑️ 常微分方程(一): 一阶常微分方程
- ☑️ 常微分方程(二): 高阶常微分方程
- ☑️ 常微分方程(三): 一阶线性常微分方程组
- ☑️ 常微分方程(四): 非线性微分方程、定性理论、边值问题
- ☑️ 偏微分方程(一): (拟)线性偏微分方程、定解问题、分离变量法
- ☑️ 偏微分方程(二): 球函数、柱函数
- ☑️ 偏微分方程(三): 积分变换法、基本解和格林函数
- ☑️ 偏微分方程(四): 变分法、非线性偏微分方程
现代数学
- ☑️ 线性代数(上册): 本文从线性变换出发理解线性代数的本质
- ☑️ 线性代数(下册): 线性空间和内积、特征值与特征向量、二次型与合同、矩阵分解等
- ☑️ 线性代数摘要
- ☑️ 抽象代数: (又称近世代数) 群论、环论、伽罗瓦理论等
- ❤️ 变分原理: 研究的是一般无穷维的带有一定拓扑的线性空间
- ❤️ 一般拓扑学: 也称点集拓扑学,主要研究拓扑空间以及定义在其上的数学结构的基本性质
- ⬜️ 微分拓扑: 微分流形和可微映射
- ❤️ 微分几何初步: 包括曲线和曲面论、外微分形式和活动标架、黎曼几何
附录
Physics
Awesome Physics: 🌌 A collaborative list of awesome software for exploring Physics concepts. Feel free to contribute!
- 《物理手册》: (斯托克)这本物理手册系统介绍了当代物理学的各种基本概念、定理、定律以及各种有用的实验方法,并收进了大量最新科学研究成果。
- Cambridge Notes: 剑桥笔记
基础物理
- ☑️ 大学物理学: 包括力学,热学,光学,电磁学,原子物理
- ☑️ 理论力学: 静力学、运动学与动力学
- ☑️ 电动力学: 电磁现象的经典动力学理论,包括狭义相对论
- ☑️ 统计力学: 热力学与统计物理
- ☑️ 量子力学: 研究物质世界微观粒子运动规律的物理学分支
- ☑️ 原子物理: 研究原子的结构、运动规律及相互作用,是承接经典物理和量子力学的桥梁
- ❤️ 天体物理
高等物理
- ☑️ 高等量子力学: 以五条基本公理和测量公理作为出发点,推出量子力学中解释的所有现象
- ☑️ 高等统计力学: 使用量子力学的语言,讲述量子统计物理的基本原理及其应用
- ☑️ 量子场论: 量子力学、狭义相对论和经典场论相结合的物理理论
- ☑️ 广义相对论: 是描述物质间引力相互作用的理论
- ☑️ 量子引力: 想要把广义相对论量子化,进而统一包括引力在内的四种基本力。
附录
- ☑️ 固有洛伦兹变换的严格推导: 根据狭义相对论的两条基本原理来严格推导固有洛伦兹变换
- ☑️ 通用物理常数
评论