机器学习是一个非常大的概念,设计到很多领域的技术,但是其应用几乎可以覆盖到任何领域。这边介绍机器学习入门需要掌握的技术基础。
数学基础
微积分
线性代数
概率统计
编程语言
Python目前机器学习最火的编程语言
Python依赖的库
经典算法
| 算法模型 |
备注 |
| 逻辑回归 |
工业界最常用 |
| 支持向量机 |
|
| 决策树,随机森林 |
相似的输入,产生相似的输出 |
| 朴素贝叶斯 |
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
对深度学习感兴趣的同学,也能很方便地搭建自己的神经网络了。