常用非线性模型和线性模型的理解
线性模型
LinearRegression线性回归
Lasso回归:L1正则化有助于生成一个稀疏权值矩阵,进而可以用于特征选择。由此发现power与userd_time特征非常重要。
Ridge回归:L2正则化在拟合过程中通常都倾向于让权值尽可能小,最后构造一个所有参数都比较小的模型,因为一般认为参数值小的模型比较简单,能适应不同的数据集,也在一定程度上避免了过拟合现象。
非线性模型
- SVM:通过寻求结构化风险最小来提高学习机泛化能力,基本模型定义为特征空间上的间隔最大的线性分类器支持向量机的学习策略便是间隔最大化。
- SVR:用于标签连续值的回归问题
- SVC:用于分类标签的分类问题
- Boosting:一堆弱分类器的组合就可以成为一个强分类器;不断地在错误中学习,迭代来降低犯错概率通过一系列的迭代来优化分类结果,每迭代一次引入一个弱分类器,来克服现在已经存在的弱分类器组合的短板。
- Adaboost:整个训练集上维护一个分布权值向量W,用赋予权重的训练集通过弱分类算法产生分类假设(基学习器)y(x), 然后计算错误率,用得到的错误率去更新分布权值向量w,对错误分类的样本分配更大的权值,正确分类的样本赋予更小的权值,每次更新后用相同的弱分类算法产生新的分类假设,这些分类假设的序列构成多分类器,对这些多分类器用加权的方法进行联合,最后得到决策结果
- Gradient Boosting:迭代的时候选择梯度下降的方向来保证最后的结果最好。损失函数用来描述模型的’靠谱’程度,假设模型没有过拟合,损失函数越大,模型的错误率越高。如果我们的模型能够让损失函数持续的下降,最好的方式就是让损失函数在其梯度方向下降。
- GradientBoostingRegressor()
loss - 选择损失函数,默认值为ls(least squres),即最小二乘法,对函数拟合learning_rate - 学习率n_estimators - 弱学习器的数目,默认值100max_depth - 每一个学习器的最大深度,限制回归树的节点数目,默认为3min_samples_split - 可以划分为内部节点的最小样本数,默认为2min_samples_leaf - 叶节点所需的最小样本数,默认为1
- MLPRegressor():也叫人工神经网络(ANN,Artificial Neural Network),除了输入输出层,它中间可以有多个隐层,最简单的MLP只含一个隐层,即三层的结构
MLPRegressor()
参数详解
hidden_layer_sizes - hidden_layer_sizes=(50, 50),表示有两层隐藏层,第一层隐藏层有50个神经元,第二层也有50个神经元activation - 激活函数 {‘identity’, ‘logistic’, ‘tanh’, ‘relu’},默认reluidentity - f(x) = xlogistic - 其实就是sigmod函数,f(x) = 1 / (1 + exp(-x))tanh - f(x) = tanh(x)relu - f(x) = max(0, x)solver - 用来优化权重 {‘lbfgs’, ‘sgd’, ‘adam’},默认adam,lbfgs - quasi-Newton方法的优化器:对小数据集来说,lbfgs收敛更快效果也
更好sgd - 随机梯度下降adam - 机遇随机梯度的优化器alpha - 正则化项参数,可选的,默认0.0001learning_rate - 学习率,用于权重更新,只有当solver为’sgd’时使用max_iter - 最大迭代次数,默认200shuffle - 判断是否在每次迭代时对样本进行清洗,默认True,只有当solver=’sgd’或者‘adam’时使用
- XGBRegressor:梯度提升回归树,也叫梯度提升机。采用连续的方式构造树,每棵树都试图纠正前一棵树的错误;与随机森林不同,梯度提升回归树没有使用随机化,而是用到了强预剪枝;从而使得梯度提升树往往深度很小,这样模型占用的内存少,预测的速度也快
-LightGBM: 使用的是histogram算法,占用的内存更低,数据分隔的复杂度更低。思想是将连续的浮点特征离散成k个离散值,并构造宽度为k的Histogram。然后遍历训练数据,统计每个离散值在直方图中的累计统计量。在进行特征选择时,只需要根据直方图的离散值,遍历寻找最优的分割点。LightGBM采用leaf-wise生长策略:每次从当前所有叶子中找到分裂增益最大(一般也是数据量最大)的一个叶子,然后分裂,如此循环。因此同Level-wise相比,在分裂次数相同的情况下,Leaf-wise可以降低更多的误差,得到更好的精度。Leaf-wise的缺点是可能会长出比较深的决策树,产生过拟合因此LightGBM在Leaf-wise之上增加了一个最大深度的限制,在保证高效率的同时防止过拟合。
num_leaves - 控制了叶节点的数目,它是控制树模型复杂度的主要参数,取值应 <= 2 ^(max_depth)bagging_fraction - 每次迭代时用的数据比例,用于加快训练速度和减小过拟合feature_fraction - 每次迭代时用的特征比例,例如为0.8时,意味着在每次迭代中随机选择80%的参数来建树,boosting为random forest时用min_data_in_leaf - 每个叶节点的最少样本数量。它是处理leaf-wise树的过拟合的重要参数。将它设为较大的值,可以避免生成一个过深的树。但是也可能导致欠拟合max_depth - 控制了树的最大深度,该参数可以显式的限制树的深度n_estimators - 分多少颗决策树(总共迭代的次数)objective - 问题类型regression - 回归任务,使用L2损失函数regression_l1 - 回归任务,使用L1损失函数huber - 回归任务,使用huber损失函数fair - 回归任务,使用fair损失函数mape (mean_absolute_precentage_error) - 回归任务,使用MAPE损失函
常用非线性模型和线性模型的理解相关推荐
- 非线性模型转换为线性模型平滑数据处理
目录 背景 非线性模型转换为线性模型 背景 非线性关系线性化的几种情况 应用 平滑数据处理 参考文献 背景 大一做项目,使用过huff模型与gwr模型(地理加权回归)的线性化.在处理数据过程中也遇到了 ...
- 从线性到非线性模型-对数线性模型
从线性到非线性模型 1.线性回归,岭回归,Lasso回归,局部加权线性回归 2.logistic回归,softmax回归,最大熵模型 3.广义线性模型 4.Fisher线性判别和线性感知机 5.三层神 ...
- maven项目的pom文件中常用的简单的标签理解
maven的pom文件一些标签的理解 在本篇文章中,我只是将pom文件中的一些常用的并且比较简单的标签理解标记注释了.还有很多并常用但是也很重要的这里并没有列出.因为本人水平也有限的,所以请谅解. & ...
- 《Python数据分析基础教程:NumPy学习指南(第2版)》笔记8:第三章 常用函数4——线性模型、数组修剪与压缩、阶乘
本章将介绍NumPy的常用函数.具体来说,我们将以分析历史股价为例,介绍怎样从文件中载入数据,以及怎样使用NumPy的基本数学和统计分析函数.这里还将学习读写文件的方法,并尝试函数式编程和NumPy线 ...
- 常用设计模式之白话精简理解及应用-下
工厂模式 上一篇我们先学习了单例和模板方法两个设计模式,单例模式在JDK中java.lang.Runtime使用饿汉式还有Spring从单例池获取bean的方法getSingleton,Spring解 ...
- Android常用设计模式之工厂模式理解
Android常用设计模式之工厂模式 前言 工厂模式 普通工厂模式 普通工厂模式例子 简单工厂模式总结: 简单工厂模式优缺点: 抽象工厂模式 抽象工厂模式的例子 抽象工厂模式小结 抽象工厂模式优缺点 ...
- 从线性到非线性模型-广义线性模型
从线性到非线性模型 1.线性回归,岭回归,Lasso回归,局部加权线性回归 2.logistic回归,softmax回归,最大熵模型 3.广义线性模型 4.Fisher线性判别和线性感知机 5.三层神 ...
- Android常用设计模式之Builder模式理解
Android常用设计模式之Builder模式 1 单例模式 2 Builder模式 Builder模式的应用场景 总结 1 单例模式 单例模式之前有详细的介绍,可移步到链接: 常见的单例模式及其特点 ...
- 论文中常用的反证法思路本质理解
有些定理从正面不容易证明,从反面反而容易一些,那么就需要用到反证法. 反证法核心思想:假设条件成立(式子1),而结论不成立(式子2),那么就用这两个式子去推,推出某些与目前已知的定理或者公理矛盾的结果 ...
最新文章
- string 基本用法
- 满屏的if-else,看我怎么消灭你!
- ajax(jquery)前后台传数组(Springmvc后台)
- 【吾悟】《易经》有感程序人生
- python语法中的网络编程_(六)python语法之网络编程
- 研究生阅读管理文献---我阅读科研文献的一些做法
- 解决no module cv2
- python类和对象详解_python面向对象编程:类和对象详解介绍 – Python高级开发教程...
- 差分进化算法和遗传算法 区别 谁更好
- 如何解决logcat TAG过长时Android studio提示错误的问题
- 【智能算法第一期】蚁群算法原理和多种改进方法
- 前后端交互、Node、npm、Express、mysql基础
- 零基础学习IT技术是有技巧的
- Factory reset会黑屏一段时间进入Provision首页
- [RK3399][Android7.1.1]Tethering:修复使用USB共享网络,拔出USB后 USB共享没有自动关闭的问题
- 2021 春季新品发布会上,苹果推出了全新配件 AirTag
- Go设置一个工作区打开多个项目
- 建立自己的封装库(二)
- 北航超算运行matlab,北航学子在ASC17世界大学生超级计算机竞赛全球总决赛中荣获亚军...
- flex布局侧轴(交叉轴)对齐方式
热门文章
- 超平面,半空间,多面体
- mac 切换php,Mac切换php版本方法
- IW会话参数、请求信息、及其响应信息
- JQuery 图片循环播放抽奖
- 夫妻过河 c语言程序,求解夫妻过河问题.doc
- spc统计过程控制系统架构模型
- 检验杜宾 瓦森检验法R语言_期货投资分析模拟试题及答案解析(6)
- DRP系统(组织决定的存留策略)
- 民宿管理系统课程设计_基于“能力本位”的中职酒店类专业《民宿管家服务》课程开发研究...
- FTK1000使用视频一招搞定多模光损耗