机器学习是什么
定义
机器学习是从数据中学习,获取数据的模式及特点,从而可以进行预测的过程。
机器学习算法是一类从数据中自动分析获得规律,并利用规律对未知数据进行预测的算法。
分类
大局
机器学习的目标是学习数据并进行预测或分类,通常我们会得到一个数学模型f(x) 来代表我们的学习结果,一个关键的问题是,我们怎么知道模型的好坏?
要想知道模型的好坏,首先要知道对一个模型来说,什么是好,什么是坏?这就涉及到目标函数。
比如,我们有一堆点x,和一个模型f(x),自然的,我们希望模型预测的点与实际的点越接近越好,所以怎么衡量是否接近?自然而然的,我们想到可以用空间中的距离即欧式距离来衡量。
当我们有多个点时,就可以累加起来得到
我们的目标是希望距离越小越好,所以我们就得到了如下的目标函数
接下来的问题,就转化为了一个最优化的求解问题。 当我们可以直接得到解析解时,当然可以直接求出,如对最小二乘问题
但是很多时候,解析解并不存在或者说计算复杂度太大难以实现,这时,我们就可以转为求迭代解。
应用常见的凸优化迭代算法,如牛顿迭代公式,最速梯度法,随机梯度法等。
我们进一步扩展,当我们改变我们的衡量标准时,如用绝对值距离代替欧式距离,或者换一个别的函数来衡量预测的好坏,我们就可以将目标函数扩展为
或者,我们从概率的角度出发,希望用最大似然概率表示最佳模型,
至于我们为什么要改变目标函数,是因为有不同的需求,有些是出于计算的目的,有些是出于鲁棒性的目的。
如欧氏距离的情况下,如果有异常值出现,对预测结果影响很大,但是改为绝对值距离,就可以有效地抑制这种异常。
再比如,对于一些复杂的目标函数或者非凸函数,我们可以用简单的凸函数近似从而简化计算过程。
所以,当我们采用不同的目标函数,用不同的求解方法时,彼此组合就产生了不同的机器学习算法。
模型介绍
接下来,我们根据数据的连续性与否,可以将问题分为分类问题与预测问题。