方程式 y’=wx+b
也可以写成:
h (x)=wx+b
其中,需要注意以下两点。
我们把它称为假设函数,英文是hypothesis function(所以选用首字母h作为函数符号)。
机器学习的过程,是一个不断假设、探寻、优化的过程,在找到最佳的函数f(x)之前,现有的函数模型不一定是很准确的。它只是很多
种可能的模型之中的一种–因此我们强调,假设函数得出的结果是y’,而不是y本身。所以假设函数有时也被叫作预测函数(predication function )。在机器学习中看到h(x)、f(x)或者p(x),基本上它们所要做的都是一回事。
所以,机器学习的具体目标就是确定假设函数h(x)。
在继续寻找最优参数之前,需要先介绍损失和损失函数。
如果现在已经有了一个假设函数,就可以进行标签的预测了。那么,怎样才能够量化这个模型是不是足够好?比如,一个模型是3x+5,另一个是100x+1,怎样评估哪一个更好?
这里就需要引入损失(loss)这个概念。
损失,是对糟糕预测的惩罚。损失也就是误差,也称为成本(cost)或代价。名字虽多,但都是一个意思,也就是当前预测值和真实值之间的差距的体现。它是一个数值,表示对于单个样本而言模型预测的准确程度。如果模型的预测完全准确,则损失为0;如果不准确,就有损失。在机器学习中,我们追求的当然是比较小的损失。
不过,模型好不好还不能仅看单个样本,而是要针对所有数据样本找到一组平均损失“较小”的函数模型。样本的损失的大小,从几何意义上基本上可以
理解为y和y’之间的几何距离。 这个损失很大, 不靠谱 这个好一些
平均距离越大,说明误差越大,模型越离谱。如图所示,左边模型所有数据点的平均损失很明显大过右边模型。
因此,针对每一组不同的参数,机器都会针对样本数据集算一次平均损失。计算平均损失是每一个机器学习项目的必要环节。
损失函数( loss function)L(w,b)就是用来计算平均损失的。
这里要强调一下:损失函数L是参数w和b的函数,不是针对x的函数。我们会有一种思维定势,总觉得函数一定是表示x和y之间的关系。现在需要大家换一个角度去思考问题,暂时忘掉x和y,聚焦于参数。对于一个给定的数据集来说,所有的特征和标签都是已经确定的,那么此时损失值的大小就只随着参数w和b而变。也就是说,现在x和y不再是变量,而是定值,而W和b在损失函数中成为了变量。
计算数据集的平均损失非常重要,简而言之就是:如果平均损失小,参数就好;如果平均损失大,模型或者参数就还要继续调整。
这个计算当前假设函数所造成的损失的过程,就是前面提到过的模型内部参数的评估的过程。机器学习中的损失函数很多,主要包括以下几种。
用于回归的损失函数。
最后,根据样本的数量求平均值,则损失函数L为:
关于以上公式,说明以下几点。
学习机器学习的参考资料:
(1)书籍
利用Python进行数据分析
西瓜书
百面机器学习
机器学习实战
阿里云天池大赛赛题解析(机器学习篇)
白话机器学习中的数学
零基础学机器学习
图解机器学习算法
…
(2)机构
光环大数据
开课吧
极客时间
七月在线
深度之眼
贪心学院
拉勾教育
博学谷
…