机器学习简介

274 阅读2分钟

机器学习是什么

定义

机器学习是从数据中学习,获取数据的模式及特点,从而可以进行预测的过程。

机器学习算法是一类从数据中自动分析获得规律,并利用规律对未知数据进行预测的算法。

分类

机器学习分类.png

算法分类.png

大局

机器学习的目标是学习数据并进行预测或分类,通常我们会得到一个数学模型f(x) 来代表我们的学习结果,一个关键的问题是,我们怎么知道模型的好坏?

要想知道模型的好坏,首先要知道对一个模型来说,什么是好,什么是坏?这就涉及到目标函数。

比如,我们有一堆点x,和一个模型f(x),自然的,我们希望模型预测的点与实际的点越接近越好,所以怎么衡量是否接近?自然而然的,我们想到可以用空间中的距离即欧式距离来衡量。

f(x)x2||f(x)-x||^{2}

当我们有多个点时,就可以累加起来得到

i=1Nf(xi)xi2\sum_{i=1}^{N} ||f(x_i)-x_i||^{2}

我们的目标是希望距离越小越好,所以我们就得到了如下的目标函数

minfi=1Nf(xi)xi2\min_{f} \sum_{i=1}^{N} ||f(x_i)-x_i||^{2}

接下来的问题,就转化为了一个最优化的求解问题。 当我们可以直接得到解析解时,当然可以直接求出,如对最小二乘问题

AXY2X^=(XTX)1XTY||AX-Y||^{2}\\ \hat X = (X^TX)^{-1}X^TY

但是很多时候,解析解并不存在或者说计算复杂度太大难以实现,这时,我们就可以转为求迭代解。

应用常见的凸优化迭代算法,如牛顿迭代公式,最速梯度法,随机梯度法等。

我们进一步扩展,当我们改变我们的衡量标准时,如用绝对值距离代替欧式距离,或者换一个别的函数来衡量预测的好坏,我们就可以将目标函数扩展为

minfL(f,x)\min_f L(f,x)

或者,我们从概率的角度出发,希望用最大似然概率表示最佳模型,

maxf(f,x)\max_f(f,x)

至于我们为什么要改变目标函数,是因为有不同的需求,有些是出于计算的目的,有些是出于鲁棒性的目的。

如欧氏距离的情况下,如果有异常值出现,对预测结果影响很大,但是改为绝对值距离,就可以有效地抑制这种异常。

再比如,对于一些复杂的目标函数或者非凸函数,我们可以用简单的凸函数近似从而简化计算过程。

所以,当我们采用不同的目标函数,用不同的求解方法时,彼此组合就产生了不同的机器学习算法。

模型介绍

接下来,我们根据数据的连续性与否,可以将问题分为分类问题与预测问题。