下图描述了机器学习的主要分类和算法。机器学习可分为监督学习、无监督学习和强化学习,主要包括回归方法、分类方法、聚类方法、降维方法和其他一些重要的特征。我们可以通过同种的表情分析,例如随机森林是四棵不同的树,支持向量机是一只独角兽。还有一些其实挺生动的,例如异常检测所用的表情就是三只熊猫夹一只狗熊。
算法选择:
下面说如何在我们工作和学习中选择正确的算法。其中每一个节点都是一个条件,然后按照要求和情况进行就可以找到管用的算法。比如说我们的数据量大于 50、需要预测类别、是标注数据、小于 100K 的数据、线性支持向量分类器不管用、不是文本数据、K 近邻分类器不管用,然后我们就只能选择最后的 SVC 集成分类器了。这种选择算法的速查表确实很管用,很适合我们没有什么机器学习开发经验的入门者使用,因为这会大大提高我们构建系统的效率。
算法速查:
如下图所示,这一张算法选择的速查表。该速查表可以帮助我们在微软 Azure 平台上找到合适的机器学习算法,它会首先根据我们已有数据的特点和类型进行分类,其次再根据实际情况给出合适的算法。例如我们的任务是预测一个类别、且该预测会存在多个类别而不仅仅只有两个,那么如果我们希望模型能快速训练且准确度也要高,那么我们就可以选择多类别决策森林。
理论公式:
我们不仅需要了解如何构建机器学习模型,同时我们还需要理解构建机器学习的各种概念。如下所示,这两张速查表介绍了很多统计学、线性代数、最优化理论和机器学习理论上的概念,这些概念在模型构建和模型操作计算上有很重要的意义。比如后面常用于梯度下降和海塞矩阵进行求解,该速查表用一阶偏导数向量的形式表示了梯度的定义,二阶偏导数及其在矩阵中的位置表示了海塞矩阵的定义方式。这两个都是在梯度下降和牛顿法中核心的概念,不过一般应用都是拟牛顿法,简化海塞矩阵。