今天开始更新《分布式机器学习》的系列笔记,保证每周2-3更,大家一起学习啊~~
第一次笔记是机器学习基础,就简单的整理一下知识点。
机器学习的基本概念
机器学习关注的核心问题是如何用计算的方式模拟人类的学习行为:从历史经验中获取规律或者模型,并将其应用到新的类似场景中。
多维度梳理机器学习问题:
- 从学习目标的角度,可以大体分为回归、分类、排序、有结构预测等。
- 从训练数据特性的角度,可以大体分为有监督学习、半监督学习、无监督学习、弱监督学习等。
- 有监督学习:每个训练数据都拥有标签;
- 半监督学习:训练集里同时存在有标签数据和无标签数据,通常需要对无标签数据进行预处理;
- 无监督学习:数据都是无标签的,学习的目的是从数据中发掘关联规则,或者利用数据在输入空间中的相互关系对数据进行聚类和影响力排序;
- 弱监督学习:存在某种形式的奖励信号,该信号可以用于模型训练,但没有样本标签那么直接、准确,比如强化学习。
- 从模型复杂的程度,可以大体分为线性模型和非线性模型。
- 从模型的功能角度,可以分为生成模型和判别模型。
机器学习的基本流程
机器学习的流程可以用下图表示:
常用的损失函数
- Hinge损失函数
- 指数损失函数
- 交叉熵损失函数
假设标签的概率分布:
则交叉熵损失函数定义为:
常用的机器学习模型
(感兴趣的可以自己找资料看,在这里只进行简单梳理,不做详细笔记)
- 线性模型
- 核方法与支持向量机
- 决策树与Boosting
- 神经网络
- 全连接神经网络
- 卷积神经网络
- 循环神经网络
常用的优化方法
典型的优化方法:
一阶算法 | 二阶算法 | |
---|---|---|
确定性算法 | 梯度下降法 投影次梯度下降 近端梯度下降 Frank-Wolfe算法 Nesterov加速算法 坐标下降法 对偶坐标上升法 |
牛顿法 拟牛顿法 |
随机算法 | 随机梯度下降法 随机坐标下降法 随机对偶坐标上升法 随机方差减小梯度法 |
随机拟牛顿法 |
还有一些针对神经网络优化的算法,例如,带冲量的随机梯度下降法、Nesterov加速方法、AdaGrad、RMSProp、AdaDelta、Adam、AMSGrad、等级优化算法以及基于熵的随机梯度下降法等。
机器学习理论
- 机器学习的泛化误差
机器学习算法的最终目标是最小化期望损失风险,但由于数据的真实分布通常未知,因此学习目标转化为最小化经验风险。
- 泛化误差的分解
希望算法输出的模型与最优模型的期望风险之差尽可能小,这个差距成为泛化误差。对其进行如下分解:
- :优化误差。衡量的是优化算法迭代轮后输出的模型与精确最小化经验风险的差别。是由于优化算法的局限性带来的,与选用的优化算法、数据量大小、迭代轮数以及函数空间有关。
- :估计误差。衡量的是最小化经验风险误差的模型和最小化期望风险的模型所对应的的期望风险的差别。是由训练集的局限性带来的,与数据量的大小和函数空间的复杂程度有关。
- :近似误差。衡量的是函数集合的最优期望风险与全局最优期望风险的差别。与函数空间的表达力有关。