机器学习/Sklearn 学习笔记-损失/代价/目标函数
在股票预测这个例子中,如何评价一个预测的准确性呢?直接用预测的收盘价y’减去真实的收盘价y,差e=y’-y为0最理想,但是当达不到理想的情况下(绝大多数情况下),-0.01和0.01 那个比较好呢?有的人偏向0.01,有的人偏向-0.01,或者有的时候更偏向-0.01,有的时候更偏向0.01。 有资料把如e=y’-y这样输入一个预测值和真实值并输出一个误差值的函数,被定义为损失函数。损失函数是定义在单次输入上的,其输出结果是肯定可以比较大小或者好坏的。
机器学习的数据集包含多个样本,每个样本可作为模型的一次输入。如果使用模型对多个输入进行预测,我们会得到多个预测值y’1、y’2、y’3…及多个预测误差e1、e2、e3…,又怎么评价预测的总体准确性呢?我们可以把它们简单地加起来,e=e1+e2+e3+…,或者全部相乘或者进行其他运算,最后会得到一个输出值。这个值是总体的损失。当机器学习的算法确定不变后,总体误差只决定于模型的参数和输入的数据集。部分资料上,用 Θ 表示参数,x代表输入,用e=J( Θ,x )表示代价函数。在求代价函数的值时,会调用损失函数,损失函数可以作为代价函数的一部分。
一般来说,在训练机器学习的模型时,数据集是不变的,我们不短地调整模型的参数 Θ ,使总体的误差(代价函数)最小。 有部分资料说代价函数是一种目标函数。其实我个人认为,这种说法并不对,目标函数是代价函数消去一个自变量 Θ 而得到的,目标函数就是我们想要让机器学习得到的函数,在股价预测的例子中就是: y=A1*x1+A2*x2+A3*x3+A4*x4+A5*x5+b,并且其中的A1,A2…和b 不在是未知数,而是具体的值。