机器学习是一个非常大的概念,设计到很多领域的技术,但是其应用几乎可以覆盖到任何领域。这边介绍机器学习入门需要掌握的技术基础。
数学基础
微积分
线性代数
概率统计
编程语言
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
对深度学习感兴趣的同学,也能很方便地搭建自己的神经网络了。