欢迎使用CSDN-markdown编辑器

算法、机器学习学习架构

算法、机器学习,知识栈,学习路线

第一部份:总体概括

内功:(理论部分)

  1. 统计学
  2. 线性代数
  3. 微积分
  4. 算法和数据结构
  5. 机器学习模型
  6. 特征工程
  7. 自然语言处理
  8. 分布式计算

外功:(工具部分)

  1. C/C++/Java
  2. Python/R/Matlab
  3. Hadoop/Hive
  4. Spark/MLlib
  5. Mahout/Tensor/Caffe
  6. SAS/SPSS
  7. Weka/Stata
  8. MySQL/HBase/MongoDB

学习思路

  1. 从外功入手,兼顾内功修炼
    《集体智慧编程》+《统计基本方法》
  2. 这是工科不是理科,需要更多的练习
    leetcode + kaggle
  3. 训练自己快速阅读paper的能力
    ICML NIPS AAAI CVPR

二、具体实施步骤。

1、Python开发

  1. 控制语句(if, for, while, pass, assert, with, yield, import, in)
  2. 类型(object, list, tuple, dict, set)
  3. 表达式(lambda, 列表推导式)
  4. 函数(map, reduce, filter, zip, sort, enumrate, isinstance)
  5. 面向对象(类成员、实例化、构造函数、析构函数、继承、派生、多态、super)
  6. 数值计算(numpy、scipy、pandas、sklearn、gensim)
  7. 数据可视化(matplotlib、moviepy)
  8. 爬虫(scrapy、beautifulsoup、urllib、requests、selenium)
    推荐书目:
    https://www.zhihu.com/question/28530832/answer/41170900
    Python手册》、官方文档、《Head First Python》

2、 C++

  1. 白板编程:反转二叉树、单向链表中删除特定值的节点
  2. vector空间增长方式,容器是否线程安全,map的时空复杂度,allocator原理,string内存分配
  3. 父类和子类中构造函数以及析构函数调用顺序
  4. 引用和指针的区别,右值引用特点以及用用场景(移动构造函数),性能提升原因
  5. 解释深拷贝和浅拷贝并说明应用场景(自定义拷贝构造函数)
  6. C++的优势和劣势,如何看待C++中繁多的特性

3、Git

  • commit
  • config
  • push
  • pull
  • diff
  • checkout
  • merge
  • stash
  • merge request

推荐阅读:《踏潮 Git 使用规范》

4、传统算法和数据结构

  • 枚举(8皇后问题)
  • 递归(汉诺塔问题、树的前中后序遍历)
  • 分治(求中位数、快排)
  • 贪婪(Dijkstra 求最短路、Prim 最小生成树)
  • 动态规划(背包问题、Floyd 求最短路)
  • 链表(增删改查、循环链表、判环)
  • 栈(用队列模拟栈、售货员卖棒冰找零问题)
  • 队列(用栈模拟队列,双向队列、优先队列)
  • 二叉树(BST、平衡树、线段树)
  • 堆(最小/最大堆、堆排序)
  • 排序(冒泡、选择、插入、快速、归并、堆、桶)
  • 图论(DFS、BFS、最小生成树、最短路、关键路径、流网络)
  • 字符串(KMP、字典树、AC自动机)
    推荐阅读:微软 —《编程之美》、《算法导论》

完成 Leetcode 中所有 easy / medium 难度的习题,编程语言 Python / C++ 自选。

4、线性代数

  • 矩阵
  • 特征值、特征向量

5、微积分

  • 极限
  • 导数
  • 拉格朗日中值
  • 泰勒级数展开
  • 傅里叶变换

推荐阅读:吴军 —《数学之美》、大学相关课程教材

6、统计学基础

  • 相关性分析(相关系数r、皮尔逊相关系数、余弦相似度、互信息)
  • 回归分析(线性回归、L1/L2正则、PCA/LDA降维)
  • 聚类分析(KNN、K-Means)
  • 分布(正态分布、t分布、密度函数)
  • 指标(协方差、ROC曲线、AUC、变异系数、F1-Score)
  • 显著性检验(t检验、z检验、卡方检验)
  • A/B测试

推荐阅读:李航 —《统计学习方法》

7、机器学习基础

  • 关联规则(Apriori、FP-Growth)
  • 回归(Linear Regression、Logistics Regression)
  • 决策树(ID3、C4.5、CART、GBDT、RandomForest)
  • SVM(各种核函数)
  • 推荐(User-CF、Item-CF)

推荐阅读:《集体智慧编程》、Andrew Ng — Machine Learning Coursera from Stanford

8、广告业务知识

  • 了解各角色(Ad Exchange、DSP、SSP、DMP、监测)
  • 了解广告数据维度
  • 了解部门算法架构

推荐阅读:《踏潮算法培训》

基本功大考核:自主选题完成某一类数据抓取(如淘宝、携程、大众点评、58同城、百度竞价广告、世纪佳缘、链家等),对其进行统计分析并做 Presentation。

参考:
chenqin答过的问题
小龙虾是怎么火遍全国的? - 数据冰山 - 知乎专栏
黄焖鸡米饭是怎么火起来的? - 何明科的回答
RIO是如何席卷大江南北的? - 数据冰山 - 知乎专栏
统一出品的调味茶饮料“小茗同学”能热卖有哪些因素? - 何明科的回答

9、特征工程

  • 可用性评估:获取难度、覆盖率、准确率
  • 特征清洗:清洗异常样本
  • 采样:数据不均衡、样本权重
  • 单个特征:无量纲化(标准化、归一化)、二值化、离散化、缺失值(均值)、哑编码(一个定性特征扩展为N个定量特征)
  • 数据变换:log、指数、Box-Cox
  • 降维:主成分分析PCA、线性判别分析LDA、SVD分解
  • 特征选择:Filter(相关系数、卡方检验)、Wrapper(AUC、设计评价函数A*、Embedded(L1-Lasso、L2-Ridge、决策树、DL))
  • 衍生变量:组合特征
  • 特征监控:监控重要特征,fa特征质量下降

10、提升篇

  • 提升
    • Adaboost
    • 加法模型
    • xgboost
  • SVM
    • 软间隔
    • 损失函数
    • 核函数
    • SMO算法
    • libsvm
  • 聚类
    • K-Means
    • 并查集
    • k-Medoids
    • 谱聚类
  • EM算法
    • Jensen不等式
    • pLSA
  • 主题模型
    • 共轭先验分布
    • 贝叶斯
    • 停止词和高频词
    • TF-IDF
  • 词向量
    • word2vec
    • n-gram
  • HMM
    • 前向/后向算法
    • Baum-Welch
    • Viterbi
    • 中文分词
  • 数据计算平台
    • spark
    • caffe
    • tensorflow
  • -

三、自我路线:(数据挖掘工程师)

  • 数据转换
    • 无量纲化
    • 归一化
    • 哑编码
  • 数据清洗
    • 判断异常值
    • 缺失值计算
  • 特征工程

    • 可用性评估
    • 采样
    • PCA/LDA
    • 衍生变量
    • L1/L2正则
    • SVD分解

    http://tech.meituan.com/machinelearning-data-feature-process.html
    http://blog.csdn.net/xw_classmate/article/details/51331787

  • 提升
    • Adaboost
    • 加法模型
    • xgboost
  • SVM
    • 软间隔
    • 损失函数
    • 核函数
    • SMO算法
    • libSVM
  • 聚类
    • K-Means
    • 并查集
    • K-Medoids
    • KNN
    • 聚谱类SC
  • EM算法
    • Jensen不等式
    • 混合高斯分布
    • pLSA
  • 主题模型
    • 共轭先验分布
    • 贝叶斯
    • 停止词和高频词
    • TF-IDF
  • 词向量
    • word2vec
    • n-gram
  • HMM
    • 前向/后向算法
    • Baum-Welch
    • Viterbi
    • 中文分词
  • 数据计算平台
    • Spark
    • Caffe
    • Tensorflow

你可能感兴趣的:(机器学习)