机器学习之逻辑回归(4)-超参数模型优化

机器学习之逻辑回归(4)-超参数模型优化


什么是超参数?

参数是机器学习算法的关键。

机器学习中有两类参数,模型参数和模型超参数,他们在作用、来源等方面都有所不同,而模型超参数常被称为模型参数,很容易对初学者造成混淆。

二者本质上的区别:

模型参数是模型表达式的参数变量,可以通过训练并用数据估计得到的模型参数

模型超参数是模型外部的配置,必须手动的参数,模型无法学习。

可以通过设置不同的超参数来获取不同的模型参数,也可以得到不同的准确率,精准率和召回率,

逻辑回归模型中的超参数最常用的如下:

Penalty:惩罚项也称正则项,L1或L2范数, 默认L2,是为了防止出现模型过拟合现,是一种类似的稀疏矩阵,L1让模型参数稀疏化,L2让模型参数尽量小,关于L1和L2范数的正则项来防止过拟合,请参考之前的文章

C:正则项权重,C越大正则项的权重越小,模型容易出现过拟合,反之正则项的权重越大,容易出现欠拟合,默认为1.0

在scikit-learn里面,超参数是在模型建立时设置的。在前面的例子中,我们没有为LogisticRegression()设置参数,是因为用的都是默认值。但是有时候默认值不一定是最优的。网格搜索(Grid search)就是用来确定最优超参数的方法。其原理就是选取可能的参数不断运行模型获取最佳效果。网格搜索用的是穷举法,其缺点在于即使每个超参数的取值范围都很小,计算量也是巨大的。不过这是一个并行问题,参数与参数彼此独立,计算过程不需要同步,所有很多方法都可以解决这个问题。scikit-learn有GridSearchCV()函数解决这个问题:

机器学习之逻辑回归(4)-超参数模型优化

GridSearchCV()函数的参数有待评估模型pipeline,超参数词典parameters,效果评价指标scoring(默认是accuracy,准确率),n_jobs是指并发进程最大数量,设置为-1表示使用所有CPU核心进程

代码如下:

机器学习之逻辑回归(4)-超参数模型优化

可以得到最优的参数组合:

机器学习之逻辑回归(4)-超参数模型优化

根据优化结果,调节模型超参数,能提高模型的准确率

机器学习之逻辑回归(4)-超参数模型优化


分享到:


相關文章: