机器学习笔记——回归(Regression)
一、何为回归
- 回归是一种预测性的建模技术,研究的是自变量与因变量之间的关系,通常使用曲线来拟合数据点,想要使得拟合曲线到各个数据点之间的误差总和最小。当达到一定预测精度后,就可以用该拟合曲线来代表该自变量与因变量之间的关系,并且可以用他来处理更多的输入。
- 回归可以分为线性回归(Linear Regression)和逻辑回归(Logistic Regression)。线性回归仅仅解决了回归的问题,而逻辑回归则可以解决分类的问题,比如二分类问题。
二、案例背景
- 我们将使用李宏毅老师的案例做进一步的细化解释。玩过宝可梦的同学都知道,每只宝可梦进化后战斗力都会获得不同程度的提升,而进化则都需要付出一定的代价,所以我们要选择最有价值的宝可梦进化。
- 因此我们用回归的方式研究宝可梦进化前后战斗力(Combat Power CP)的变化。输出y即为进化后的战斗力数值,而输入x我们先从单一变量进化前的CP值 x c p x_{cp} xcp开始研究,后续逐渐考虑多因素,比如宝可梦的血量HP x h p x_{hp} xhp,体重Weight,高度Height。
三、研究过程
1.选择模型
- 模型选择我们从最基本的开始,考虑线性回归也就是构建多元一次的函数模型。
- 线性回归(Linear Regression)模型如下: y = b + Σ w i x i y=b + \Sigma w_ix_{i} y=b+Σwixi
- 针对此案例,我们的 x i x_i xi可以取 x c p , x h p , x w , x h x_{cp},x_{hp},x_w,x_h xcp,xhp,xw,xh。但为了初步好理解,我们只考虑单元素输入,即初步模型定为:
- y = b + w x c p y=b + wx_{cp} y=b+wxcp
- 该模型代表了一组函数的集合,并且集合内函数的个数是无限的,因为一开始没有任何限定条件,b与w均可以取任意值。但我们也可以结合问题的实际情况做出初步的筛选,比如说参数值使y恒为负的我们可以不考虑。
2.衡量函数的好坏
- 模型初步划定范围后,我们还是有无限的选择可能。那么我们就需要制定一个衡量函数优劣的标准,来指导我们进一步选定参数,确定函数。
- 因此我们引入了**损失函数(Loss Function)**的概念。损失函数输入的是函数,输出的是该函数针对此问题到底有多糟糕。
- 可以说损失函数L是关于模型函数f的函数,并且f又是关于两个参数w,b的函数,因此也可以说损失函数是用来衡量两个参数w与b的函数。
- 我们用最简单的误差衡量方式:平方和来构建损失函数。
L ( f ) = ∑ n = 1 10 ( y n − f ( x c p n ) ) 2 L(f)=\sum_{n=1}^{10} {(y^n-f(x^n_{cp}))^2} L(f)=∑n=110(yn−f(xcpn))2
其中 y n y^n yn表示第n个数据的实际y值, f ( x c p n ) f(x^n_{cp}) f(xcpn