Regression:输入可以是股票市场的各种指数、自动驾驶的检测角度、大数据推荐系统,输出是数字。
实例:宝可梦的CP值(战斗力)预测
输入的内容包含,分别代表宝可梦的当前战斗力,种类,生命力,体重和身高;输出则是进化后宝可梦的战斗力。即,就是我们要找的函数。Step1:函数(或者称为模型Model)
假设函数为,综合考虑影响宝可梦战斗力的其他因素,可以得到更为全面的Linear Model:,是输入的feature、是权重、是bias。
Step2:函数的性能评价
定义损失函数Loss Function,是当前宝可梦的真实战斗力。输入是上述函数,输出是该函数的性能评价。
Step3:筛选最好的函数
或者,采用Gradient Descent方法筛选出最好的函数。对于上述损失函数:
- 随机选取一个初始值
- 计算,令,是学习率
- 重复上述两步......
对于Linear Model,根据梯度下降方法得到的局部最优解同时也是全局最优解(凸优化理论)。分别得到该模型在训练集和数据集的错误率,可以发现适量增加的次数可以减少错误率(重构模型为时在测试集上的错误率最低)。
Underfitting(欠拟合):模型不能很好的拟合训练集的数据,即模型有很大的bias(偏差)。
Overfitting(过拟合):模型可以很好的拟合训练集的数据,但是在测试集上有很大的误差,即模型有很大的variance(方差)。当模型越来越复杂时,bias越来越小而variance会变大。
对于欠拟合,可以重新设计模型:在输入上增加更多的特征;更复杂的模型。对于过拟合,可以从数据集和模型两个方面进行处理:更多的数据集(非常有效,但不是一直奏效);regularization(正则化,使模型的预测曲线趋于平滑,但有可能增大bias)。
将原始训练集划分为Training(新训练集)和Validation(验证集):训练集是为了训练模型,验证集是为了筛选最好的模型。还可以将原始训练集划分为两份新训练集和一份验证集(循环划分)。