您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > AI人工智能 > 机器学习入门:回归问题
机器学习入门:回归算法原理及应用人类学习过程认知模仿,实践反馈再认知?机器学习就是让计算机从大量的数据中学习到相关的规律和逻辑,然后利用学习来的规律来进行决策,推理和识别等。什么是机器学习?测试数据发现规律测试结果评估规则邮件XiYi:垃圾or正常1.发件人邮件地址异常;2.标题含有“低价促销”3.…机器学习应用实例应用实例:1、对语言、文字的认知与识别2、对图像、场景、自然物体的认知与识别3、对规则的学习与掌握例如:下雨天要带伞,生病要吃药,天冷了要穿厚衣服等4、对复杂事物的推理与判断能力例如:好人与坏人的辨别能力,事物的正误的判断能力机器学习的种类根据学习方式的不同,可以分为监督学习,无监督学习和强化学习等几种类型。监督学习(有指导)无监督学习(自学)强化学习(自我评估)机器学习三要素机器学习可以认为是一个在逐步发现和探索规律的过程。学习过程主要包含以三个要素:模型表示问题的影响因素(特征)有哪些?它们之间的关系如何?模型评估什么样的模型是好的模型参数优化如何高效的找到最优参数”回归“的由来英国人类学家F.Galton首次在《自然遗传》一书中,提出并阐明了“相关”和“相关系数”两个概念,为相关论奠定了基础。其后,他和英国统计学家KarlPearson对上千个家庭的身高,臂长,拃长(伸开大拇指与中指两端的最大长度)做了测量,发现了一种现象。回归问题应用场景回归分析属于有监督学习,简单有效,应用十分广泛:一个简单的例子回归分析回归分析研究的主要是因变量(目标)和自变量(经验)之间的依存关系。按关系类型,又可分为线性回归分析和非线性回归分析。学习过程如下:线性回归:寻找X和Y之间的关系Y=𝜃0+𝜃1∗𝑥如何确定参数𝜃0,𝜃1呢?常采用的策略是误差平方和最小化准则,即:𝐽(𝜃)=12Y(i)−Y(i)2𝑚𝑖=1𝑚𝑖𝑛𝜃𝐽𝜃理想的拟合直线LinearRegression最小二乘算法现在问题就转化为求𝐽𝜃的最小值问题。具体的做法是:1)对目标函数求导2)零其导数为0,求得极值如果函数是凸函数,极值点就是最值点。这即是著名方法—最小二乘的基本思想。最小二乘算法𝐽B=12(𝑦𝑖−𝑦(𝑖))2𝑚𝑖=1=12(𝜃0+𝜃1𝑥1𝑖+𝜃2𝑥2𝑖−y(𝑖))2𝑚𝑖=1𝐽𝜃1′=𝑥1(𝑖)(𝜃0+𝜃1𝑥1𝑖+𝜃2𝑥2𝑖−y𝑖)m𝑖=1=0𝐽𝜃2′=𝑥2(𝑖)(𝜃0+𝜃1𝑥1𝑖+𝜃2𝑥2𝑖−y𝑖)m𝑖=1=0𝐽𝜃0′=(𝜃0+𝜃1𝑥1𝑖+𝜃2𝑥2𝑖−y𝑖)m𝑖=1=0三个未知数,三个方程,可以解出𝜃0,𝜃1,𝜃2𝜃=(X𝑇X)−1𝑋𝑇𝑌选择“最优回归方程”回归方程中包含的自变量个数越多,回归平方和就越大,残差平方和越小,预测值的置信区间也越小。既要选择对预测影响显著的自变量,又要使回归的损失很小,这样才有利于预测。选择“最优回归方程”的方法有:最优子选择法(bestsubsetselection)逐步选择法(stepwiseselection)Bestsubsetselection最优子集选择法(bestsubsetselection),即对n个预测变量的所有可能组合(共有2n-1)分别进行拟合,然后选择出最优模型。StepwiseSelection逐步选择法按选择方式的不同,共分为三种:前向逐步选择法(ForwardStepwiseSelection)后向逐步选择法(BackwardStepwiseSelection)逐步回归法(StepwiseRegression)基于最优子集回归方法的一些缺陷,逐步选择的优点是限制了搜索空间,从而提高了运算效率。ForwardStepwiseSelection以零模型为起点,依次往模型中添加变量,直至加完所有的变量。但每次优先将能够最大限度地提升模型效果的变量加入模型。但无法保证找到的模型是所有2n-1个模型中最优的,且可能在前期将后来变得多余的变量纳入模型。模型个数:[n(n+1)/2]+1BackwardStepwiseSelection以全模型为起点,逐次迭代,每次移除一个对模型拟合结果最不利的变量。需满足样本量m大于变量个数n(保证全模型被拟合)。而前向逐步选择即时在mn的情况下也可以使用,适应于高维数据。模型个数:[n(n+1)/2]+1StepwiseRegression该方法将前向选择与后项进行了结合,试图达到最优子集选择效果的同时也保留了前向和后向逐步选择在计算上的优势。损失函数(lossfunction)损失函数(lossfunction)度量预测错误的程度,常记作L(Y,f(X))。常见的损失函数有以下几种:0-1损失函数(0-1lossfunction):缺点:无法度量损失的“严重程度”。损失函数(lossfunction)平方损失函数(quadraticlossfunction):对数损失函数(logarithmiclossfunction):指数损失函数(exp-lossfunction):梯度下降算法梯度下降法:是一种优化算法,通常也称为最速下降基本思想:在下山时,如果想以最快的方式到达山底,应该沿着山势最陡的方向,也即山势变化最快的方向。同样,如果从任意一点出发,需要最快搜索到函数的最小值,那么也应该从函数变化最快的方向搜索而函数变化最快的方向就是函数的负梯度方向梯度下降算法梯度下降法是一种迭代算法,迭代更新X的值,逐步实现目标函数的极小化。具体的更新过程如下:1)初始化𝜃(随机初始化)2)迭代新的𝜃使得J(𝜃)更小:3)如果J(𝜃)能够继续减少,返回(2)注:α为步长(或称学习速率)损失计算方法批量梯度下降法(BGD):是梯度下降法最原始的形式,在更新每一参数时都使用所有的样本来进行更新。随机梯度下降法(SGD):它的具体思路是在更新每一参数时都使用一个样本来进行更新。Mini-batchGradientDescent(MBGD):它的具体思路是在更新每一参数时都使用一部分样本来进行更新可能存在的问题学习过程可能出现的问题:1)数据量过少(mn)2)存在大量相似特征3)过拟合,泛化能力弱(一般都存在此问题)可以使用结构风险最小化模型选择策略,即引入正则项。什么是过拟合?什么是结构风险最小化?风险函数损失函数度量预测值与“真实值”之间的“接近程度”,而风险函数,可以认为是平均意义下的损失。有两个概念:经验风险:给定一个数据集,模型f(x)关于训练集的平均损失被称为经验风险。一般认为经验风险最小的模型最优,即经验风险最小化(ERM)。风险函数结构风险:经验风险最小化易产生“过拟合”问题。这就提出了结构风险最小(SRM)的理论。本质上是在经验风险的基础上加入了正则化项(regularizer)或者叫做罚项(penaltyterm),即:OverfitingandUnderfiting模型学的“太好”,把样本自身的一些特点当作所有潜在样本都会具有的一般性质,泛化性能很差,称为“过拟合”(overfitting)。正则化可以很好的解决这一问题。与“过拟合”相对的是“欠拟合”(underfitting),这是指对训练样本的一般性质尚未学好。L1范数与L2范数范数:范数是衡量某个向量空间(或矩阵)中的每个向量的长度或大小。范数的一般化定义如下(实数p=1):L1范数:当p=1时,是L1范数,表示某个向量中所有元素的绝对值之和。L2范数:当p=2时,是L2范数,表示某个向量中所有元素的平方和再开根号。RidgeRegression正则化项是参数的L2范数时,整个回归方法就叫做岭回归。相应损失函数:那么为什么叫做“岭”回归呢?𝐽𝜃=12(𝑦𝑖−𝑦(𝑖))2𝑚𝑖=1+𝜆2𝜃j2njLassoRegression𝐽𝜃=12(𝑦𝑖−𝑦(𝑖))2𝑚𝑖=1+𝜆2|𝜃j|njlasso回归:参数范数为L1范数优势:不仅可以解决过拟合问题,而且可以在参数缩减过程中,将一些重复或不重要的参数直接缩减为零(删除),有提取有用特征的作用。劣势:计算过程复杂,毕竟L1范数不是连续可导的。L1正则与L2正则拉普拉斯分布:上式即为拉普拉斯分布的密度函数,其中𝜇为数学期望(位置参数),b为振幅。L1正则与L2正则高斯分布:上式即为高斯斯分布的密度函数,其中𝜇为数学期望(位置参数),𝜎为标准差(振幅)。两者分布等于0和1时,为标准正态分布。L1正则与L2正则从贝叶斯角度来看,正则化相当于对模型参数引入了先验分布,即对模型参数加了分布约束:L1正则,模型参数服从拉普拉斯分布,只有很小的|w|,才能得到较大的概率,L2正则,模型参数服从高斯分布对大的|w|,概率较低,而在接近0的时候,概率变换缓慢,最终解的w趋于0附近。L1正则与L2正则对模型加入参数的正则化项后,模型会尝试最小化这些权值参数。而这个最小化就像一个下坡的过程,L1和L2的另一个差别就在于这个“坡”不同。如下图:L1就是按绝对值函数的“坡”下降的,而L2是按二次函数的“坡”下降。所以实际上在0附近,L1的下降速度比L2的下降速度要快。另一种回归方法叫ElasticNet,它同时采用了L1和L2正则,以综合RidgeRegression和LassoRegression两者的优点。既能稀疏化模型权重,又能保持岭回归的稳定性。ElasticNet非线性模型对于非线性关系问题,自然的方法是将标准线性模型换成一个多项式函数:Yi=b0+b1*xi+b2*xi2+b3*xi3+…+bn*xin称为多项式回归。对于一般的非线性模型,本质上是在对X的函数或变换进行建模:yℹ=𝑏0+𝑏1∗𝛽1𝑥𝑖+𝑏2∗𝛽2𝑥𝑖+⋯+𝑏𝑛∗𝛽𝑛(𝑥𝑖)这里𝛽𝑛𝑥𝑖的形式是事先确定好的。回归问题讨论回归分析要有实际意义;异常值检测。扩展内容在实际应用中,问题复杂多样,不同的问题可能需要不同的方法来解决。除了以上所介绍的回归方法外,还有很多方法:比如基于生成模型的贝叶斯回归(BayesianRegression),基于树模型的分类回归树(CART),基于集成方法的梯度提升树(GBDT)及XGboost等。THANKS
本文标题:机器学习入门:回归问题
链接地址:https://www.777doc.com/doc-4208116 .html