本文主要是介绍机器学习 | Regression,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
机器学习的步骤
- 对现有问题,找出一个数学模型,例如 y = w*x +b (其中,w&b值待定,因此组成了一个function set)。
- 定义一个评价函数,用训练数据去评估function set中的function效果。
- 找出一个最好的函数,确定模型参数
(如何从若干参数值中找出合适的模型参数:梯度下降法) - 用训练数据测试数学模型,用评价函数评估
- 如果训练结果不好,改进数学模型,迭代设计。
梯度下降法
- 随意选取一个参数值
- 计算在此处对此参数的微分
- if differentition != 0 : w=w0-η*Differentiation;
- 迭代,直到导数值为0,找到最低点(线性回归没有局部最优解,局部最优解=全局最优解)
模型选择
模型不一定越复杂越好,可能会产生过拟合,产生原因:模型尽可能地去适配了训练集。
评价函数
- 参数归一化
- 给评估函数加权重,表示这一个量的举足轻重。
- 平滑的函数对无用数据/噪声不敏感,有利于增加算法的普适性、鲁棒性。
宝可梦cp值预测的流程
- 根据已知数据的特点, 确定使用监督学习
- 根据输出值是一个标量的特点,使用regression
- 考虑包括进化前cp值、species、hp等各方面变量属性以及高次项的影响,我们的model可以采用这些input的一次项和二次型之和的形式,如: 90(1)
- 选定评价函数,评估function set 里的function 的性能(用训练数据作为输入)。
对Loss function采用归一化/正则化:L = Σ(y’-y)2 + h * Wj 2 - 利用gradient descent对regularization版本的loss function进行梯度下降迭代处理,每次迭代都减去L对该参数的微分与learning rate之积.
- 对h 参数进行调整,直到找到那个使testing data的error最小的h,找出最合适的模型参数。
先设定λ
确定loss function
找到使loss最小的参数组
确定function
计算error
重新设定新的λ重复上述步骤
使testing data上的error最小的λ所对应的参数组所对应的function就是我们能够找到的最佳的function
这篇关于机器学习 | Regression的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!