本文旨在简单总结机器学习范式,并就此话题提出一些思考和归纳。
机器学习的建模和实现过程
机器学习概述
机器学习是一个具有极端现实应用场景的问题,或者说,机器学习的诞生和目前我所能接触到的内容基本全是以问题为导向。能够贴合实际,解决问题的人工智能,才是好的人工智能。
机器学习过程
机器学习更像是一种负反馈,或者说是一种不太高明的“刻意练习”。
程序首先需要有一种预设的行为方式,并通过设定的方式进行练习(训练)以期能改善它的这个行为方式,然后它便会收集一些判断训练结果好坏的信息(反馈),程序拥有一些方法来识别这些反馈,并根据这些反馈做出适当的调整(这些调整方式通常被提前设定好,以数学的方式给出),使得获得预想中更好的反馈。
在最终确定了模型和参数后(训练完成),程序通过“考试”(测试一些已知结果的数据,并对结果打分)来判定这个程序是“人工智能”还是“人工智障”。
若训练测试一切顺利,这个程序就算是一个成熟的程序了,它掌握了一些“技能”,并可以辅助我们处理一些事务。
机器学习范式
由此可以看出,在训练开始之前,我们需要确定以下几部分机器人的行为:
- 决策函数 $y = f()$ : (机器模型的建立) 程序预设的行为方式是啥,这通常和希望程序完成的任务有关,是机器人的大脑,也是机器训练的核心。
- 损失函数 $L(f(),y)$ : (反馈的建立)设定程序接收到的反馈信息的样子,也被称为:判定程序模型和真实情况拟合好坏的函数。
- 优化目标 $min \Sigma L(f(),y)$ :(对反馈的处理)也就是教会机器如何面对反馈:自然是将负面反馈降到最小(一般设定损失函数越小越好,毕竟物理含义是损失嘛)。
机器学习建模
基于机器学习的范式和实现方式,其物理建模也应该注意寻找这几个部分:决策函数,损失函数和优化目标。当然,作为数学函数的载体,抽象物理场景中的合适变量并采用相应的数学方法是必要的,在这里不予赘述。
机器学习目标分类与解决方式
机器学习问题一般按目标可以分为两大类:回归问题和分类问题。
- 回归问题目标注重给定特征,对另外的某个值进行预测,强调数值的大小。
- 分类问题目标注重给定特征,将该目标分类到某个类别中,强调准确性。
一言以蔽之,回归是程序做填空题,而分类是程序做选择或判断题。
回归问题
基于数据建立的模型问题解决
建模要求:所所有训练数据点离函数近,同时还符合常识(趋势),能进行预测。
决策函数:使用大量项多项式,同时定义一个多项式的参数$\theta$的函数$g(\theta)$,其值正向单调。(特征数量过大时多项式会过于复杂)
损失函数:一般用函数和训练值的偏差表示,由于绝对值之和不方便计算,一般采用残差平方和的关系,记为 $\Sigma L$ ,被称为最小二乘。
优化目标的选取
为了不让函数过拟合(无法预测),要使得 $g(\theta)$尽量小(使得尽量多的$\theta = 0$),同时避免欠拟合,要使损失函数$\Sigma L$尽量的小(使得函数尽量贴近实际情况,使预测更准确),采用正则化方式。
令优化目标 $S:$
$$S = min( \Sigma L + \lambda * g(\theta))$$
其中$\lambda$受人为选择控制,通过调整系数$\lambda$ ,我们可以控制拟合正常。
$g(\theta)$可以选择 $l_{p} - norm$范数:$||\theta||{p} = (\Sigma|\theta{k}|^p)^\frac{1}{p}$
优化目标的实现
- 传统解方程:通过求偏导解决问题
- 遇到大矩阵时,涉及求矩阵的逆,开销巨大
- 但一次计算就可得到结果
- 适用于特征数量数量较小的模型
- 物理方法:梯度下降法
- 建立负反馈,由于梯度下降的指向为函数下降的方向,故将其作为反馈,如受重力的小球最终会停在波形谷底一般,最终方法的取值将会稳定在函数取最小值的地方。
- 需要多次迭代计算
- 不局限回归方式和特征数量
分类问题
分类问题和回归问题的不同
首先,分类问题的决策函数不可能用分段函数去描述,因为我们没法操作和拟合。所以用相近的连续函数去逼近它。
但是,分类问题的结果只有固定几个值,所以连续的机器学习函数的结果需要重新解释,一般认为这里的数值是判定的概率,对于一个分类结果为0和1的问题,当函数输出0.8时,我们认为程序分类结果是:0.8的概率是1,0.2的概率是0。
损失函数的重定义
由于决策函数的解释变成了概率,损失函数也要有相应的修改,我们希望在分类正确的时候损失函数尽量的大,所以将输出结果作为指数部分,写成:$f(x_{i})^{y_{i}}*f(1 - x_{i})^{1 - y_{i}}$ 其中$x_{i}$ 为各特征值。这个方法被称为最大似然估计。
另外,在不改变该函数极值点的情况下,为了简化运算以及符合损失函数定义,取$-\log_{2}$ 。
因此,优化目标便是损失函数的最小值,与前文保持一致。
在统计学中,使用最大似然估计并使用这样的决策函数的模型建立过程,被称为逻辑斯蒂过程。
分类问题的一些判定标准
误差率 & 准确率
误差率:程序分类失误的频率。
准确率:和误差率相反。
在样本分布不平均时慎用该指标,结果不够客观。
查准率 & 查全率
查准率:检查为1的到底多少真的是1
查全率:是不是所有的1都被检查出来了
在医学等问题中,这两个指标都非常重要,而且大多数时候二者是矛盾的,当然这也是算法的任务(目标)之一。
超过两种的分类问题简述
一般认为有两种方法:
- 通过将二分的概率改为概率矩阵
- 强行看成二分器:也有两种方法:
- 分别判断是不是一类,相当于作N个二分类,适合样本数量均衡的情况。
- 两两分类进行判断,虽然解决了平衡问题,但在大规模分类标签时,开销很大。