代价函数~ML
最近接触了机器学习,感觉很梦幻,能实现的我的梦想,看网上说的花天酒地的难,但是想做就要做下去,毅然决然的跳入这个大坑。
让我们慢慢来,先怼它几个概念。
监督学习
我们给出了关于每个数据的“正确答案”。监督学习必须知道预测什么,即目标变量的分类信息。
监督学习中又有常见的两种问题回归问题和分类问题。
回归问题
回归一词指的是我们根据之前的数据预测出一个准确的连续输出值。
分类问题
当我们想要预测离散的输出值。
几个常用术语
- m:训练样本
- y's:输出特征/变量
- x's:输入特征/变量
- (x'i,y'i):第i组训练样本
监督学习的过程
给定一个训练集(m),一个函数h:x -> y,h(x)是预测Y对应值的一个指标,称为假设。图片为过程:
这是一个学习房屋价格的学习过程。
- Training set:训练数据
- Learning algorithm:学习算法
- h:hypthesis(假设),一个函数
- x:输入变量
- y:输出变量
转变为线性回归的话可以写成 h(x) = a + bx ,b就是斜率,a就是y轴截点,是不是很像y = kx + b。
等之后的梯度下降就知道其作用了。(待续)
解决线性回归问题的常用函数代价函数
首先理解一个概念 θ ,让我们把前面的假设函数改写成 hθ(x) = θ1 + θ2x 。
θi's 代表的是 Parameters(模型参数)
在线性回归中,我们要解决的是“θ”的最小化问题。在这个假设函数里就是θ1和θ2。
而我们怎么去求呢,首先看个图。
画蓝线的是我们的假设函数h,我们要找到的是不是和真实值(x,y)误差最小,也就是其中的红色×。
所以我们希望最小。
我们来解释一下:
- hθ(xi):预测结果
- yi:实际结果
- 平方作用为取消负数
- 1/2m:为减少其大小
- 因为得保证每个测试用例都是最小的所以得用取和(m为样本总数)
这个方程就被我们成为代价函数,其表示为J(θ0,θ1),函数为:
也称为平方误差函数,平方误差代价函数。