《AI算法工程师手册》
本文转载自:http://www.huaxiaozhuan.com/
这是一份机器学习算法和技能的学习手册,可以作为学习工作的参考,都看一遍应该能收获满满吧。
作者华校专,曾任阿里巴巴资深算法工程师,现任智易科技首席算法研究员,《Python 大战机器学习》的作者。
这是作者多年以来学习总结的笔记,经整理之后开源于世。目前还有约一半的内容在陆续整理中,已经整理好的内容放置在此。 曾有出版社约稿,但是考虑到出版时间周期较长,而且书本购买成本高不利于技术广泛传播,因此作者采取开源的形式。 笔记内容仅供个人学习使用,非本人同意不得应用于商业领域。
笔记内容较多,可能有些总结的不到位的地方,欢迎大家探讨。联系方式:huaxz1986@163.com
另有个人在 github 上的一些内容:
- "《算法导论》的C++实现"代码:https://github.com/huaxz1986/cplusplus-_Implementation_Of_Introduction_to_Algorithms
- 《Unix 环境高级编程第三版》笔记:https://github.com/huaxz1986/APUE_notes
数学基础
- 1.线性代数基础
- 一、基本知识
- 二、向量操作
- 三、矩阵运算
- 四、特殊函数
- 2.概率论基础
- 一、概率与分布
- 二、期望和方差
- 三、大数定律及中心极限定理
- 五、常见概率分布
- 六、先验分布与后验分布
- 七、信息论
- 八、其它
- 3.数值计算基础
- 一、数值稳定性
- 二、梯度下降法
- 三、二阶导数与海森矩阵
- 四、牛顿法
- 五、拟牛顿法
- 六、 约束优化
- 4.蒙特卡洛方法与 MCMC 采样
- 一、蒙特卡洛方法
- 二、马尔可夫链
- 三、MCMC 采样
统计学习
- 0.机器学习简介
- 一、基本概念
- 二、监督学习
- 三、机器学习三要素
- 1.线性代数基础
- 一、线性回归
- 二、广义线性模型
- 三、对数几率回归
- 四、线性判别分析
- 五、感知机
- 2.支持向量机
- 一、 线性可分支持向量机
- 二、线性支持向量机
- 三、非线性支持向量机
- 四、支持向量回归
- 五、SVDD
- 六、序列最小最优化方法
- 七、其它讨论
- 3.朴素贝叶斯
- 一、贝叶斯定理
- 二、朴素贝叶斯法
- 三、半朴素贝叶斯分类器
- 四、其它讨论
- 4.决策树
- 一、 原理
- 二、 特征选择
- 三、生成算法
- 四、剪枝算法
- 五、CART 树
- 六、连续值、缺失值处理
- 七、多变量决策树
- 5.knn
- 一、k 近邻算法
- 二、 kd树
- 6.集成学习
- 一、集成学习误差
- 二、 Boosting
- 三、Bagging
- 四、集成策略
- 五、多样性分析
- 7.梯度提升树
- 一、提升树
- 二、xgboost
- 三、LightGBM
- 8.特征工程
- 一、缺失值处理
- 二、特征编码
- 三、数据标准化、正则化
- 四、特征选择
- 五、稀疏表示和字典学习
- 六、多类分类问题
- 七、类别不平衡问题
- 9.模型评估
- 一、泛化能力
- 二、过拟合、欠拟合
- 三、偏差方差分解
- 四、参数估计准则
- 五、泛化能力评估
- 六、训练集、验证集、测试集
- 七、性能度量
- 七、超参数调节
- 八、传统机器学习的挑战
- 10.降维
- 一、维度灾难
- 二、主成分分析 PCA
- 三、核化线性降维 KPCA
- 四、流形学习
- 五、度量学习
- 六、概率PCA
- 七、独立成分分析
- 八、t-SNE
- 九、LargeVis
- 11.聚类
- 一、性能度量
- 二、原型聚类
- 三、密度聚类
- 四、层次聚类
- 五、谱聚类
- 12.半监督学习
- 半监督学习
- 一、生成式半监督学习方法
- 二、半监督 SVM
- 三、图半监督学习
- 四、基于分歧的方法
- 五、半监督聚类
- 六、 总结
- 13.EM算法
- 一、示例
- 二、EM算法原理
- 三、EM算法与高斯混合模型
- 四、EM 算法与 kmeans 模型
- 五、EM 算法的推广
- 14.最大熵算法
- 一、最大熵模型MEM
- 二、分类任务最大熵模型
- 三、最大熵的学习
- 15.隐马尔可夫模型
- 一、隐马尔可夫模型HMM
- 二、 HMM 基本问题
- 三、 最大熵马尔科夫模型MEMM
- 16.概率图与条件随机场
- 一、概率图模型
- 二、贝叶斯网络
- 三、马尔可夫随机场
- 四、条件随机场 CRF
- 17.边际概率推断
- 一、精确推断
- 二、近似推断
深度学习
- 0.深度学习简介
- 一、 介绍
- 二、历史
- 1.深度前馈神经网络
- 一、基础
- 二、损失函数
- 三、输出单元
- 四、隐单元
- 五、结构设计
- 六、历史小记
- 2.反向传播算法
- 一、链式法则
- 二、反向传播
- 三、算法实现
- 四、自动微分
- 3.正则化
- 一、参数范数正则化
- 二、显式约束正则化
- 三、数据集增强
- 四、噪声鲁棒性
- 五、早停
- 六、参数相对约束
- 七、dropout
- 八、对抗训练
- 九、正切传播算法
- 十、其它相关
- 4.最优化基础
- 一、代价函数
- 二、神经网络最优化挑战
- 三、 mini-batch
- 四、基本优化算法
- 五、自适应学习率算法
- 六、二阶近似方法
- 七、共轭梯度法
- 八、优化策略和元算法
- 九、参数初始化策略
- 十、Normalization
- 5.卷积神经网络
- 一、卷积运算
- 二、卷积层、池化层
- 三、基本卷积的变体
- 四、应用
- 五、 历史和现状
- 5.1.CNN之图片分类
- 一、LeNet
- 二、AlexNet
- 三、VGG-Net
- 四、Inception
- 五、ResNet
- 六、ResNet 变种
- 七、SENet
- 八、 DenseNet
- 九、小型网络
- 6.循环神经网络
- 一、RNN计算图
- 二、循环神经网络
- 三、长期依赖
- 四、序列到序列架构
- 五、递归神经网络
- 六、回声状态网络
- 七、LSTM 和其他门控RNN
- 八、外显记忆
- 7.工程实践指导原则
- 一、性能度量
- 二、默认的基准模型
- 三、决定是否收集更多数据
- 四、选择超参数
- 五、调试策略
- 六、示例:数字识别系统
- 七、数据预处理
- 八、变量初始化
- 九、结构设计
自然语言处理
工具
CRF
- CRF++
- 一、安装
- 二、使用
- 三、Python接口
- 四、常见错误
lightgbm
- lightgbm使用指南
- 一、安装
- 二、调参
- 三、进阶
- 四、API
- 五、Docker
xgboost
- xgboost使用指南
- 一、安装
- 二、调参
- 三、外存计算
- 四、 GPU计算
- 五、单调约束
- 六、 DART booster
- 七、Python API
scikit-learn
- 1.预处理
- 一、特征处理
- 二、特征选择
- 三、字典学习
- 四、PipeLine
- 2.降维
- 一、PCA
- 二、MDS
- 三、Isomap
- 四、LocallyLinearEmbedding
- 五、FA
- 六、FastICA
- 七、t-SNE
- 3.监督学习模型
- 一、线性模型
- 二、支持向量机
- 三、贝叶斯模型
- 四、决策树
- 五、KNN
- 六 、AdaBoost
- 七、梯度提升树
- 八、Random Forest
- 4.模型评估
- 一、数据集切分
- 二、性能度量
- 三、验证曲线 && 学习曲线
- 四、超参数优化
- 5.聚类模型
- 一、KMeans
- 二、DBSCAN
- 三、MeanShift
- 四、AgglomerativeClustering
- 五、BIRCH
- 六、GaussianMixture
- 七、SpectralClustering
- 6.半监督学习模型
- 一、标签传播算法
- 7.隐马尔可夫模型
- 一、Hmmlearn
- 二、seqlearn
spark
- 1.基础概念
- 一、核心概念
- 二、安装和使用
- 三、 pyspark shell
- 四、独立应用
- 2.rdd使用
- 一、概述
- 二、创建 RDD
- 三、转换操作
- 四、行动操作
- 五、其他方法和属性
- 六、持久化
- 七、分区
- 八、混洗
- 3.dataframe使用
- 一、概述
- 二、SparkSession
- 三、DataFrame 创建
- 四、 DataFrame 保存
- 五、DataFrame
- 六、Row
- 七、Column
- 八、GroupedData
- 九、functions
- 4.累加器和广播变量
- 一、累加器
- 二、广播变量
numpy
- numpy 使用指南
- 一、 ndarray
- 二、 ufunc 函数
- 三、 函数库
- 四、数组的存储和加载
scipy
- scipy 使用指南
- 一、 常数和特殊函数
- 二、 拟合与优化
- 三、线性代数
- 四、 统计
- 五、数值积分
- 六、 稀疏矩阵
matplotlib
- matplotlib 使用指南
- 一、matplotlib配置
- 二、 matplotlib Artist
- 三、基本概念
- 四、布局
- 五、 Path
- 六、 path effect
- 七、坐标变换
- 八、 3D 绘图
- 九、技巧
pandas
- pandas 使用指南
- 一、基本数据结构
- 二、 内部数据结构
- 三、 下标存取
- 四、 运算
- 五、变换
- 六、数据清洗
- 七、 字符串操作
- 八、 聚合与分组
- 九、时间序列
- 十、 DataFrame 绘图
- 十一、 移动窗口函数
- 十二、 数据加载和保存
参考文献:
《AI算法工程师手册》的更多相关文章
- 简单物联网:外网访问内网路由器下树莓派Flask服务器
最近做一个小东西,大概过程就是想在教室,宿舍控制实验室的一些设备. 已经在树莓上搭了一个轻量的flask服务器,在实验室的路由器下,任何设备都是可以访问的:但是有一些限制条件,比如我想在宿舍控制我种花 ...
- 利用ssh反向代理以及autossh实现从外网连接内网服务器
前言 最近遇到这样一个问题,我在实验室架设了一台服务器,给师弟或者小伙伴练习Linux用,然后平时在实验室这边直接连接是没有问题的,都是内网嘛.但是回到宿舍问题出来了,使用校园网的童鞋还是能连接上,使 ...
- 外网访问内网Docker容器
外网访问内网Docker容器 本地安装了Docker容器,只能在局域网内访问,怎样从外网也能访问本地Docker容器? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Docker容器 ...
- 外网访问内网SpringBoot
外网访问内网SpringBoot 本地安装了SpringBoot,只能在局域网内访问,怎样从外网也能访问本地SpringBoot? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装Java 1 ...
- 外网访问内网Elasticsearch WEB
外网访问内网Elasticsearch WEB 本地安装了Elasticsearch,只能在局域网内访问其WEB,怎样从外网也能访问本地Elasticsearch? 本文将介绍具体的实现步骤. 1. ...
- 怎样从外网访问内网Rails
外网访问内网Rails 本地安装了Rails,只能在局域网内访问,怎样从外网也能访问本地Rails? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Rails 默认安装的Rails端口 ...
- 怎样从外网访问内网Memcached数据库
外网访问内网Memcached数据库 本地安装了Memcached数据库,只能在局域网内访问,怎样从外网也能访问本地Memcached数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装 ...
- 怎样从外网访问内网CouchDB数据库
外网访问内网CouchDB数据库 本地安装了CouchDB数据库,只能在局域网内访问,怎样从外网也能访问本地CouchDB数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Cou ...
- 怎样从外网访问内网DB2数据库
外网访问内网DB2数据库 本地安装了DB2数据库,只能在局域网内访问,怎样从外网也能访问本地DB2数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动DB2数据库 默认安装的DB2 ...
- 怎样从外网访问内网OpenLDAP数据库
外网访问内网OpenLDAP数据库 本地安装了OpenLDAP数据库,只能在局域网内访问,怎样从外网也能访问本地OpenLDAP数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动 ...
随机推荐
- springboot 启动排除某些bean 的注入
问题: 最近做项目的时候,需要引入其他的jar.然后还需要扫描这些jar里的某些bean.于是使用注解:@ComponentScan这个注解直接指定包名就可以,它会去扫描这个包下所有的class,然后 ...
- Java逆向武器库_反编译工具
1.反编译工具之_jd-gui 官网下载地址:http://java-decompiler.github.io/#jd-gui-download 使用: 下载后解压直接使用即可. jd-gui的优势是 ...
- [LeetCode] Insert into a Binary Search Tree 二叉搜索树中插入结点
Given the root node of a binary search tree (BST) and a value to be inserted into the tree, insert t ...
- Container/Injection
1.容器的历史 容器概念始于 1979 年提出的 UNIX chroot,它是一个 UNIX 操作系统的系统调用,将一个进程及其子进程的根目录改变到文件系统中的一个新位置,让这些进程只能访问到这个新的 ...
- logback使用注意点1
logback中配置了springProfile(策略),因此在properties中只需要配置如下即可logging.config=./config/logback.xml //logback配置文 ...
- ASP.NET Core 集成测试中结合 WebApplicationFactory 使用 SQLite 内存数据库
SQLite 内存数据库(in-memory database)的连接字符串是 Data Source=:memory: ,它的特点是数据库连接一关闭,数据库就会被删除.而使用 services. ...
- python hashlib模块 md5加密 sha256加密 sha1加密 sha512加密 sha384加密 MD5加盐
python hashlib模块 hashlib hashlib主要提供字符加密功能,将md5和sha模块整合到了一起,支持md5,sha1, sha224, sha256, sha384, ...
- ALM 中查看某个 test 的更改 history 历史
ALM 中要查看某个 test 更改历史, 需要下面两个表: AUDIT_LOG and AUDIT_PROPERTIES ------- Get Test modification history ...
- 第一编,漫漫长征路,第一天学习python
安装之后,出现 api-ms-win-crt-runtimel1-1-0.dll缺失 还在解决中 重装系统后,安装成功 python的种类: javapython cpython pypy
- kafka手动开启监听
项目集成spring-kafka,在项目启动后需要做些初始化资源的任务,kafka消费会依赖这些所以需要配置kafka手动启动. 类似这样,设置autoStartup为false 然后代码里面调用这个 ...