本文转载自: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.工程实践指导原则
    • 一、性能度量
    • 二、默认的基准模型
    • 三、决定是否收集更多数据
    • 四、选择超参数
    • 五、调试策略
    • 六、示例:数字识别系统
    • 七、数据预处理
    • 八、变量初始化
    • 九、结构设计

自然语言处理

  • 主题模型

    • 一、Unigram Model
    • 二、pLSA Model
    • 三、LDA Model
    • 四、模型讨论
  • 词向量
    • 一、向量空间模型 VSM
    • 二、LSA
    • 三、Word2Vec
    • 四、GloVe

工具

CRF

  • CRF++

    • 一、安装
    • 二、使用
    • 三、Python接口
    • 四、常见错误

lightgbm

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算法工程师手册》的更多相关文章

  1. 简单物联网:外网访问内网路由器下树莓派Flask服务器

    最近做一个小东西,大概过程就是想在教室,宿舍控制实验室的一些设备. 已经在树莓上搭了一个轻量的flask服务器,在实验室的路由器下,任何设备都是可以访问的:但是有一些限制条件,比如我想在宿舍控制我种花 ...

  2. 利用ssh反向代理以及autossh实现从外网连接内网服务器

    前言 最近遇到这样一个问题,我在实验室架设了一台服务器,给师弟或者小伙伴练习Linux用,然后平时在实验室这边直接连接是没有问题的,都是内网嘛.但是回到宿舍问题出来了,使用校园网的童鞋还是能连接上,使 ...

  3. 外网访问内网Docker容器

    外网访问内网Docker容器 本地安装了Docker容器,只能在局域网内访问,怎样从外网也能访问本地Docker容器? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Docker容器 ...

  4. 外网访问内网SpringBoot

    外网访问内网SpringBoot 本地安装了SpringBoot,只能在局域网内访问,怎样从外网也能访问本地SpringBoot? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装Java 1 ...

  5. 外网访问内网Elasticsearch WEB

    外网访问内网Elasticsearch WEB 本地安装了Elasticsearch,只能在局域网内访问其WEB,怎样从外网也能访问本地Elasticsearch? 本文将介绍具体的实现步骤. 1. ...

  6. 怎样从外网访问内网Rails

    外网访问内网Rails 本地安装了Rails,只能在局域网内访问,怎样从外网也能访问本地Rails? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Rails 默认安装的Rails端口 ...

  7. 怎样从外网访问内网Memcached数据库

    外网访问内网Memcached数据库 本地安装了Memcached数据库,只能在局域网内访问,怎样从外网也能访问本地Memcached数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装 ...

  8. 怎样从外网访问内网CouchDB数据库

    外网访问内网CouchDB数据库 本地安装了CouchDB数据库,只能在局域网内访问,怎样从外网也能访问本地CouchDB数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Cou ...

  9. 怎样从外网访问内网DB2数据库

    外网访问内网DB2数据库 本地安装了DB2数据库,只能在局域网内访问,怎样从外网也能访问本地DB2数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动DB2数据库 默认安装的DB2 ...

  10. 怎样从外网访问内网OpenLDAP数据库

    外网访问内网OpenLDAP数据库 本地安装了OpenLDAP数据库,只能在局域网内访问,怎样从外网也能访问本地OpenLDAP数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动 ...

随机推荐

  1. GridView 事件出发后 内容滚动条 实时定位

            var hh;         var hh1;         var h2; ///获取初始位置      触发事件  function Scroll() {            ...

  2. Java虚拟机-对象的创建和访问

    一.对象的创建: 创建对象在java上面是很简单的,使用new关键字就可以了,但是其实在虚拟机中,java对象的创建是一个复杂的过程. 当java虚拟机遇到一个new的指令的时候,对象创建的程序正式启 ...

  3. JavaFile I/O

    Java流类图结构: 流的概念和作用: 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象.及数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输特性将抽象为各种类,方便更直观 ...

  4. 新浪实时股票数据接口http://hq.sinajs.cn/list=股票代码

    股票数据的获取目前有如下两种方法可以获取: 1. http/JavaScript接口取数据 2. web-service接口 1.http/JavaScript接口取数据1.1Sina股票数据接口以大 ...

  5. 201771010118马昕璐《面向对象程序设计java》第八周学习总结

    第一部分:理论知识学习部分 1.接口 在Java程序设计语言中,接口不是类,而是对类的一组需求描述,由常量和一组抽象方法组成.Java为了克服单继承的缺点,Java使用了接口,一个类可以实现一个或多个 ...

  6. php抓取图片进行内容提取解析,文字性pdf进行内容文字提取解析

    2018年7月7日18:52:17 php是用纯算法,自己是提取图片内容不是不行,可以但是优化起来很麻烦还得设计学习库,去矫正数据的正确率 对于大多数项目来说,如果不是做ocr服务,就不必要做需求工具 ...

  7. EL表达式JSTL

    EL表达式语言中定义了11个隐含对象,使用这些隐含对象可以很方便地获取web开发中的一些常见对象,并读取这些对象的数据. 语法:${隐式对象名称}:获得对象的引用 序号 隐含对象名称 描       ...

  8. CPU漏洞补丁KB4056892 卸载及忽略办法

    2018.1.4微软发布了针对intel CPU漏洞的补丁 KB4056892 性能降低不说, 针对一般平民根本没多大意义, 另外还会导致一些软件无法正常使用, (我是使用蓝叠经典版, 启动就会蓝屏) ...

  9. 【转载】Python日期时间模块datetime详解与Python 日期时间的比较,计算实例代码

    本文转载自脚本之家,源网址为:https://www.jb51.net/article/147429.htm 一.Python中日期时间模块datetime介绍 (一).datetime模块中包含如下 ...

  10. u-boot调试串口输出对应的系统函数

    接上Debug串口,启动机器,u-boot哗啦啦地打印一行行的字符.刚接触u-boot的时候,对机器后台做了什么,几乎一无所知. 如果要很有信心地定制出一个简单并且可靠的系统,或者快速完成一项新的任务 ...