什么是机器学习?
定义机器学习(Machine Learning ),先需要澄清相关核心概念。
- 数据
- 解决问题
- 自动化
机器自动从数据中学习规律,并将规律应用到解决新的问题上。
分类有哪些?
根据训练集中标签是否已知,分为监督学习和非监督学习。
- 监督学习
- 用于分类问题的常见算法
- 感知机:二分类模型;回归超平面平面进行数据划分;
- 支持向量机SVM:得到让所有实例距离尽可能远的分离超平面;可以使用核函数;
- 逻辑回归:
- 朴素贝叶斯:
- 决策树:
- 分类的集成算法:
- KNN算法:
- 用于回归问题的常见算法
- 线性回归:
- 岭回归:
- Lasso回归:
- Elastic Net回归:
- 贝叶斯岭回归:
- SGD回归:
- SVR:
- KNN回归:
- 决策树回归:
- 神经网络:
- RandomForest回归:
- XGBoost回归:
- LightGBM回归:
- 用于分类问题的常见算法
分类是一种基于一个或多个自变量确定因变量所属类别的技术。
核函数将不可分数据映射到可分的高维空间。
- 非监督学习
- 常见的非监督算法和用途
- K 均值(K-Means)算法;
- 自编码器(Auto-Encoder);
- 主成分分析(Principal Component Analysis)
- 深度置信网络(Deep Belief Nets)
- Hebbian Learning
- 生成对抗网络(GAN)
- 自组织映射(Self-Organizing maps)
- 常见的非监督算法和用途
和深度学习的区别?
深度学习是机器学习的一种。
深度学习利用深度的神经网络,将模型处理得更为复杂,从而使模型对数据的理解更加深入。
什么是神经网络?
神经网络是机器学习的一种;深度网路从数据中学习规律,并将规律应用到解决新的问题上。这里的规律是指很多神经元的连接规则。
如,m 层全连接神经网络(Full Connected Network)由 1个输入层,m-2 个隐藏层,一个输出层组成;每个连接都有一个权重,所有权重一起组成了神经网络的连接规则。
如何计算计算图的倒数?
pytorch是动态图机制,所以在训练模型时候,每迭代一次都会构建一个新的计算图。
计算图代表程序中变量之间的关系。如 $y=(a+b)(b+c)$
用链式求导法则和隐式函数求导方法。
TODO: 计算图、计算图上的导数、反向传播算法、计算图在 TensorFlow和pytorch 中的应用。
局部最优和全局最优是什么?
函数值空间内在有限的区域内找到的最优解是局部最优解;在整个函数值空间内找到的最优解是全局最优解。实际问题中找到局部最优解往往能解决大部分问题。