机器学习-学习路线

机器学习是一个非常大的概念,设计到很多领域的技术,但是其应用几乎可以覆盖到任何领域。这边介绍机器学习入门需要掌握的技术基础。

数学基础

微积分

线性代数

概率统计

编程语言

Python目前机器学习最火的编程语言

Python依赖的库

备注
numpy 张量运算
pandas 进行数据浏览与预处理
scipy 高效的科学计算库
matplotlib 数据可视化工具

经典算法

分类问题

算法模型 备注
逻辑回归 工业界最常用
支持向量机
决策树,随机森林 相似的输入,产生相似的输出
朴素贝叶斯 NLP中常用
深度神经网络 视频、图片、语音等多媒体数据中使用

回归问题

算法模型 备注
线性回归
普通最小二乘回归(Ordinary Least Squares Regression)
逐步回归(Stepwise Regression)
多元自适应回归样条(Multivariate Adaptive Regression Splines)

聚类问题

算法模型 备注
K均值(K-means)
DBSCAN
均值漂移
凝聚层次

降维问题

算法模型 备注
主成分分析(PCA)
奇异值分解(SVD)

机器学习框架

scikit-learn

远近闻名的机器学习package。未必是最高效的,但是接口真心封装得好,几乎所有的机器学习算法输入输出部分格式都一致。而它的支持文档甚至可以直接当做教程来学习,非常用心。对于不是非常高纬度、高量级的数据,scikit-learn胜任得非常好

方法 备注
surprise 推荐系统
preprocessing 数据预处理
cluster 聚类算法
metrics 衡量指标
feature_extraction.text NLP
datasets 数据集
naive_bayes 朴素贝叶斯
linear_model 回归
pipeline 模型管线
tree 决策数
utils.shuffle 打乱样本
ensemble 随机森林
model_selection 交叉验证,测试集切割
svm svm
neighbors 近邻筛选器

keras/TensorFlow/pyTorch

对深度学习感兴趣的同学,也能很方便地搭建自己的神经网络了。