回到回归的正题,回归问题是机器学习领域中应用的比较广的一种方法,不过我觉得大部分的回归模型都是广义线性模型,在Andrew NG的课程中,对广义线性模型做了比较详细的推导,这篇文章的内容是,线性回归、局部加权回归、岭回归以及前向逐步回归,除了前向逐步回归之外,其他的都是广义线性回归模型,基本思路都是 1,确定损失函数 2,使用梯度下降(或者梯度上升)求解权重参数,算是套路,而这两种套路使用Python都比较容易实现,就是使用了矩阵运算,代码量也不大,所以这篇文章就简单说说各种回归,而不实现代码,代码和之前的logistic回归计算过程都是一样的

言归正传

一、线性回归

线性回归方式很简单,公式如下:

z=w0+w1*x1+w2*x2+...+wn*xn

损失函数: h=(1/2)*(z-y)^2  其中h是训练数据的真正结果值

方法:梯度下降法

二、局部加权回归

线性回归有一些问题,就是如果训练数据如果有些数据偏差特别大,这回造成最后训练的模型可能对整体数据都不具备很好的准确性,因此又提出了一种新的回归模型,也就是局部加权回归(LWR),局部加权回归实质上是对于需要预测的点,只是根据其附近的点进行训练,其他的没有改变,只是改变了其损失函数,对于比如对于点P(x0,y0)的预测:

z=w0+w1*x1+w2*x2+...+wn*xn

损失函数: h=exp(|x-x0|/(-2k^2)) * (1/2)*(z-y)^2  其中h是训练数据的真正结果值

方法:梯度下降法

说道为什么局部加权回归能够达到其效果,可以从损失函数前面加的exp(|x-x0|/(-2k^2)) 函数看出,如果训练数据点距离需要预测的点比较远,那么该值就会趋向于0,那么也就是说,在最后进行梯度下降的时候其对权重的变化就影响很少,相当于可以说,只有预测点周边的训练数据才会对最后的权重产生重要的影响

但是其实局部加权回归容易出现过拟合现象,过拟合现象很明显:太关注局部的训练数据,忽略了全局数据,如果预测点在出现偏差的训练数据附近,那么预测值会偏差很大,但是局部加权回归还是对训练数据拟合的比较好,这也是局部加权回归的优点,只是容易出现过拟合现象

三、岭回归

岭回归着手解决的是训练数据少于预测数据的问题,其实对于之前的回归,有一个前提条件就是矩阵X是列满秩矩阵,如果训练数据比较少,那么就容易出现X是非列满秩矩阵,导致的问题是xTx是一个奇异矩阵,因此需要加入一个单位矩阵进行变换成非奇异矩阵,具体的来说,公式如下:

z=w0+w1*x1+w2*x2+...+wn*xn

损失函数:

其中,I是一个单位矩阵,通常该矩阵会加个lambda参数来调节,单位矩阵I的秩是训练参数的长度

方法:梯度下降法

四、前向逐步回归

前向逐步回归其实很简单,就是对于初始化的权重,在每一次迭代中,都略微增加或者减少一些值,然后计算整个损失函数的值,如果损失函数变小了的话,就将权重更新,如果没有减小,就继续下一次迭代

前向逐步回归其实说白了就是去一步一步尝试,这种方法可能达到局部最优但是很难达到全局最优,看过一些书说是关于凸函数的问题,这点我不太明白,所以就不详述

MLA Review之五:回归相关推荐

  1. MLA Review之四:logistic回归

    终于来到logistic回归,logistic回归其实很简单,之前的说到的神经网络就用到了这个方法,其中最重要的就是使用了sigmoid损失函数.当然使用的方法也就最简单的梯度下降法,这里并没有使用之 ...

  2. MLA Review之二:决策树

    分类决策树是一种描述对实例进行分类的属性结构,决策树由内部节点和叶节点,内部节点表示一个特征或者属性,叶节点表示一个类. Part 1 :决策树生成 用决策树分类其实是一个if-then的过程,根据一 ...

  3. MLA Review之二: 决策树

    分类决策树是一种描述对实例进行分类的属性结构,决策树由内部节点和叶节点,内部节点表示一个特征或者属性,叶节点表示一个类. Part 1 :决策树生成 用决策树分类其实是一个if-then的过程,根据一 ...

  4. MLA Review之一: KNN算法

    在看完Machine Learning in Action一书之后,觉得还是需要进行一些回顾,而且由于第一次看的时候Python基础并不牢固,所以这次也当做是Python一些知识回顾和运用的过程. 在 ...

  5. MLA Review之三:朴素贝叶斯分类

    朴素贝叶斯(Naive Bayes),贝叶斯概率论在整个统计学习上都是泰山北斗一样的存在,<Pattern Recognization and Machine Learning>这一扛鼎之 ...

  6. R中的假设检验(二)方差分析

    方差分析的原理:原本想跳过这个部分的,然而突然发现自己看懂了这些公式,就忍不住写出来. (1)Xij=X均值+(X组内均值-X均值)+(Xij-X组内均值) #Xij代表第i组第j个观察值,X均值代表 ...

  7. Hyperspectral Unmixing论文泛读(一)

    文章目录 李沐:如何读论文? JMnet: Joint Metric Neural Network for Hyperspectral Unmixing UnDIP: Hyperspectral Un ...

  8. 布比Code Review赏金计划正式启动 让区块链回归代码本身

    区块链发展至今,其创新的记账方式和去中心化的理念获得了大众的认可,也成为了资本的宠儿,人们越来越多的把目光放在了价值甚至价格部分,忽略了其背后的本源--技术. 8 月 4 日,由布比技术社区举办的布比 ...

  9. 机器学习与高维信息检索 - Note 3 - 逻辑回归(Logistic Regression)及相关实例

    逻辑回归 Logistic Regression 3. 逻辑回归 补充: 凸性 Convexity 定义3.1 定理3.2 定理3.3 成本函数的凸性 3.1逻辑回归的替代方法 3.2 线性可分性和逻 ...

最新文章

  1. 在C# Express 2005中配置 NUnit
  2. Java笔记(七)HashMap和HashSet
  3. 用oracle怎么测试,oracle – 如何(单位)测试数据密集的PL / SQL应用程序
  4. 小a与黄金街道(欧拉函数)/**模运算规则总结*/
  5. 【TensorFlow】实现、训练并评估简单的回归模型和分类模型
  6. 分布式数据库在金融应用场景中的探索与实践
  7. 小米营销总监:中国模式能复制,但要有本地化的独特性
  8. 使用U盘升级到win10系统
  9. 搭建基于Python的数字图像识别系统(一)
  10. camel研究_【卡瑞利珠单抗·CameL研究者说】任秀宝教授:卡瑞利珠单抗治疗NSCLC疗效与安全性俱佳,受指南重磅推荐后再获批肺癌适应症...
  11. python怎么编写重复程序,python重复执行怎么写
  12. Compass的用法
  13. Flink流批一体从入门到入土(源码)
  14. 3D游戏建模到底需要学习哪些美术基础?新手如何开始学习3D建模?
  15. 英国电信第四财季利润大幅下滑 宣布裁员4000人
  16. 关于AI,你最该了解但从没想过的四个问题
  17. 海康大华监控摄像机接入SkeyeVSS视频融合平台配置详细步骤
  18. 由参数方程确定的函数关系的求导
  19. 【C语言数组】一维数组,二维数组详解,数组传参,变长数组,这篇文章让你更全面的认识数组。
  20. TCP报文段中URG和PSH的区别

热门文章

  1. Android学习——SQLite游戏玩家管理案例
  2. 2 天! Google Cloud 2022 中国出海数字峰会进入倒计时!
  3. 告诉你中国著名的40个四大是什么?
  4. 基于Alpha-Beta剪枝树的井字棋人机博弈实现
  5. Android 6.0变化之休眠模式
  6. vscode文件格式化配置
  7. 官网下载Android Studio下载不了
  8. 苹果手机如何设置邮箱
  9. QC网址打不开解决方法
  10. 详解反调试技术(转)