网站基础模板,常见的erp软件有哪些,深圳推广平台,网站关键词检测(图片由AI科技大本营付费下载自视觉中国)作者 | 文杰编辑 | yuquanle本文介绍线性回归模型#xff0c;从梯度下降和最小二乘的角度来求解线性回归问题#xff0c;以概率的方式解释了线性回归为什么采用平方损失#xff0c;然后介绍了线性回归中常用的两种范数来解决过拟合和… (图片由AI科技大本营付费下载自视觉中国)作者 | 文杰编辑 | yuquanle本文介绍线性回归模型从梯度下降和最小二乘的角度来求解线性回归问题以概率的方式解释了线性回归为什么采用平方损失然后介绍了线性回归中常用的两种范数来解决过拟合和矩阵不可逆的情况分别对应岭回归和Lasso回归最后考虑到线性回归的局限性介绍了一种局部加权线性回归增加其非线性表示能力线性回归A、线性回归假设有数据有其中,。其中m为训练集样本数n为样本维度y是样本的真实值。线性回归采用一个高维的线性函数来尽可能的拟合所有的数据点最简单的想法就是最小化函数值与真实值误差的平方(概率解释-高斯分布加最大似然估计)。即有如下目标函数其中线性函数如下构建好线性回归模型的目标函数之后接下来就是求解目标函数的最优解即一个优化问题。常用的梯度优化方法都可以拿来用这里以梯度下降法来求解目标函数。另外线性回归也可以从最小二乘法的角度来看下面先将样本表示向量化构成如下数据矩阵。那么目标函数向量化形式如下可以看出目标函数是一个凸二次规划问题其最优解在导数为0处取到。值得注意的上式中存在计算矩阵的逆一般来讲当样本数大于数据维度时矩阵可逆可以采用最小二乘法求得目标函数的闭式解。当数据维度大于样本数时矩阵线性相关不可逆。此时最小化目标函数解不唯一且非常多出于这样一种情况我们可以考虑奥卡姆剃刀准则来简化模型复杂度使其不必要的特征对应的w为0。所以引入正则项使得模型中w非0个数最少。当然岭回归lasso回归的最根本的目的不是解决不可逆问题而是防止过拟合。B、概率解释损失函数与最小二乘法采用最小化平方和的概率解释。假设模型预测值与真实值的误差为那么预测值与真实值之间有如下关系根据中心极限定理当一个事件与很多独立随机变量有关该事件服从正态分布 。一般来说连续值我们都倾向于假设服从正态分布。假设每个样本的误差独立同分布均值为0方差为σ的高斯分布,所以有即表示满足以均值为,方差为的高斯分布。由最大似然估计有岭回归和Lasso回归岭回归的目标函数在一般的线性回归的基础上加入了正则项在保证最佳拟合误差的同时使得参数尽可能的“简单”使得模型的泛化能力强(即不过分相信从训练数据中学到的知识)。正则项一般采用一二范数使得模型更具有泛化性同时可以解决线性回归中不可逆情况。其迭代优化函数如下另外从最小二乘的角度来看通过引入二范正则项使其主对角线元素来强制矩阵可逆。Lasso回归采用一范数来约束使参数非零个数最少。而Lasso和岭回归的区别很好理解在优化过程中最优解为函数等值线与约束空间的交集正则项可以看作是约束空间。可以看出二范的约束空间是一个球形而一范的约束空间是一个方形这也就是二范会得到很多参数接近0的值而一范则尽可能非零参数最少。值得注意的是线性模型的表示能力有限但是并不一定表示线性模型只能处理线性分布的数据。这里有两种常用的线性模型非线性化。对于上面的线性函数的构造我们可以看出模型在以的坐标上是线性的但是并不表示线性的模型就一定只能用于线性分布问题上。假如我们只有一个特征而实际上回归值是等我们同样可以采用线性模型因为我们完全可以把输入空间映射到高维空间其实这也是核方法以及PCA空间变换的一种思想凡是对输入空间进行线性非线性的变换都是把输入空间映射到特征空间的思想所以只需要把非线性问题转化为线性问题即可。另外一种是局部线性思想即对每一个样本构建一个加权的线性模型。局部加权线性回归考虑到线性回归的表示能力有限可能出现欠拟合现象。局部加权线性回归为每一个待预测的点构建一个加权的线性模型。其加权的方式是根据预测点与数据集中点的距离来为数据集中的点赋权重当某点距离预测点较远时其权重较小反之较大。由于这种权重的机制引入使得局部加权线性回归产生了一种局部分段拟合的效果。由于该方法对于每一个预测点构建一个加权线性模型都要重新计算与数据集中所有点的距离来确定权重值进而确定针对该预测点的线性模型计算成本高同时为了实现无参估计来计算权重需要存储整个数据集。局部加权线性回归在线性回归基础上引入权重其目标函数(下面的目标函数是针对一个预测样本的)如下一般选择下面的权重函数权重函数选择并非因为其类似于高斯函数而是根据数据分布的特性但权重函数的选取并不一定依赖于数据特性。其中是待预测的一个数据点。对于上面的目标函数我们的目标同样是求解使得损失函数最小化同样局部加权线性回归可以采用梯度的方法也可以从最小二乘法的角度给出闭式解。其中是对角矩阵。线性回归核心思想最小化平方误差可以从最小化损失函数和最小二乘角度来看优化过程可以采用梯度方法和闭式解。在闭式解问题中需要注意矩阵可逆问题。考虑到过拟合和欠拟合问题有岭回归和lasso回归来防止过拟合局部加权线性回归通过加权实现非线性表示。代码实战A、线性回归/**线性回归函数的实现考虑一般的线性回归最小平方和作为损失函数则目标函数是一个无约束的凸二次规划问题由凸二次规划问题的极小值在导数为0处取到且极小值为全局最小值且有闭式解。根据数学表达式实现矩阵之间的运算求得参数w。**/int regression(Matrix x,Matrix y){ Matrix xTx.transposeMatrix(); Matrix xTxxTx.multsMatrix(xT,x); Matrix xTx_1xTx.niMatrix(); Matrix xTx_1xTxTx_1xT.multsMatrix(xTx_1,xT); Matrix ws; wsws.multsMatrix(xTx_1xT,y);coutwsendl; ws.print();return 0;}B、岭回归和Lasso回归/**下面的岭回归函数只是在一般的线性回归函数的基础上在对角线上引入了岭的概念不仅有解决矩阵不可逆的线性同样也有正则项的目的采用常用的二范数就得到了直接引入lam的形式。**/int ridgeRegres(Matrix x,Matrix y,double lam){ Matrix xTx.transposeMatrix(); Matrix xTxxTx.multsMatrix(xT,x);Matrix denom(xTx.row,xTx.col,lam,diag); xTxxTx.addMatrix(xTx,denom); Matrix xTx_1xTx.niMatrix(); Matrix xTx_1xTxTx_1xT.multsMatrix(xTx_1,xT); Matrix wsws.multsMatrix(xTx_1xT,y);coutwsendl; ws.print();return 0;}C、局部加权线性回归/**局部加权线性回归是在线性回归的基础上对每一个测试样本(训练的时候就是每一个训练样本)在其已有的样本进行一个加权拟合权重的确定可以通过一个核来计算常用的有高斯核(离测试样本越近权重越大反之越小)这样对每一个测试样本就得到了不一样的权重向量所以最后得出的拟合曲线不再是线性的了这样就增加的模型的复杂度来更好的拟合非线性数据。**///需要注意的是局部加权线性回归是对每一个样本进行权重计算所以对于每一个样本都有一个权重w所以下面的函数只是局部线性回归的一个主要辅助函数Matrix locWeightLineReg(Matrix test,Matrix x,Matrix y,const double k){Matrix w(x.row,x.row,0,T);double temp0;int i,j;/** 根据测试样本点与整个样本的距离已经选择的核确定局部加权矩阵采用对角线上为局部加权值 **/for(i0;i { temp0;for(j0;j { temp(test.data[0][j]-x.data[i][j])*(test.data[0][j]-x.data[i][j]); } w.data[i][i]exp(temp/-2.0*k*k); } Matrix xTx.transposeMatrix(); Matrix wxwx.multsMatrix(w,x); Matrix xTwx; xTwxxTwx.multsMatrix(xT,wx); Matrix xTwx_1; xTwx_1xTwx.niMatrix(); Matrix xTwx_1xT; xTwx_1xTxTwx_1xT.multsMatrix(xTwx_1,xT); Matrix xTwx_1xTw; xTwx_1xTwxTwx_1xTw.multsMatrix(xTwx_1xT,w); Matrix ws xTwx_1xTw * y;return ws;}详细代码:https://github.com/myazi/myLearn/blob/master/LineReg.cpp(*本文为 AI科技大本营转载文章转载请联系原作者)◆精彩推荐◆2019 中国大数据技术大会(BDTC)历经十一载再度火热来袭豪华主席阵容及百位技术专家齐聚15 场精选专题技术和行业论坛超强干货技术剖析行业实践立体解读深入解析热门技术在行业中的实践落地。【早鸟票】与【特惠学生票】限时抢购扫码了解详情推荐阅读100多次竞赛后他研发了一个几乎可以解决所有机器学习问题的框架王霸之路从0.1到2.0一文看尽TensorFlow“奋斗史”伯克利人工智能研究院开源深度学习数据压缩方法Bit-Swap性能创新高NLP被英语统治打破成见英语不应是「自然语言」同义词TensorFlow2.0正式版发布极简安装TF2.0(CPUGPU)教程肖仰华知识图谱构建的三要素、三原则和九大策略 | AI ProCon 2019AI落地遭“卡脖子”困境为什么说联邦学习是解决良方10分钟搭建你的第一个图像识别模型 | 附完整代码限时早鸟票 | 2019 中国大数据技术大会(BDTC)超豪华盛宴抢先看你点的每个“在看”我都认真当成了喜欢