当前位置: 首页 > news >正文

(三)机器学习---线性回归及其Python实现

目录

  一.回归问题

 二.一元线性回归 

(1)一元线性回归的定义

(2)一元线性回归模型的参数学习

(3)一元线性回归模型的参数学习---正规方程法

(4)一元线性回归模型的参数学习---梯度下降法

(5)一元线性回归模型的参数学习---批量梯度下降法

三.多元线性回归

四.用python实现线性回归

(1)基于scikit-learn实现线性回归

(2)线性回顾模型的性能评估

五.广义线性回归

(1)广义线性回归的定义

(2)多项式的高维特征构建

六. 模型的泛化能力

(1)泛化能力

(2)过拟合和欠拟合的解决办法 

(3)用python实现岭回归


在上一篇中提到了常见的任务和算法,本篇我们就用线性回归来解决数值预测(回归)问题

分类问题回归问题聚类问题各种复杂问题
决策树√线性回归√K-means√神经网络√
逻辑回归√岭回归密度聚类深度学习√
集成学习√Lasso回归谱聚类条件随机场
贝叶斯层次聚类隐马尔可夫模型
支持向量机高斯混合聚类LDA主题模型

一.回归问题

回归分析(Regression Analysis):用函数模型拟合样本数据,获得目标变量与自变量(即特征)之间的关系。用于预测新的特征值对应的目标变量值。目标变量值是连续的数据。


 二.一元线性回归 

(1)一元线性回归的定义

通过拟合一个目标变量一个特征之间最佳的线性关系来预测目标变量值。

例如:以下一元线性回归模型可以利用父母平均身高来预测其子女平均身高。

给定数据集:D={(68.5,68.6),(72.8,73.0),……}

试图学得:f(x)=ωx+b使得:f(xi)≈yi

模型实际意义解释:基础身高33.73英寸,父母平均身高每增加1英寸,子女平均身高增加0.516英寸。

(2)一元线性回归模型的参数学习

这样参数学习的问题就转化成了求损失函数最小值的问题

(3)一元线性回归模型的参数学习---正规方程法

这里的算式我们称为天才算法,直接求解!只要样本数大于参数个数,即可求得任意多元线性回归参数。但参数多时(如大于一万)计算量很大

(4)一元线性回归模型的参数学习---梯度下降法

       在处理大量参数时,传统的数学解法存在计算量过大的问题。为了解决这一难题,研究人员提出了梯度下降法作为更为通用的参数学习方法。这种方法通过不断迭代优化,逐步接近最优解——即损失函数的极小值。以类似摇床的图形为例,该过程涉及选择初始参数组合(如欧米伽),并根据其计算出相应的损失函数值;随后调整参数使其损失函数值降低最多,从而找到最佳参数组合。


        具体来说,通过调整学习速率(阿尔法)和当前参数值(如B),可以确定每次迭代时参数变化的具体步长。这一过程涉及计算损失函数关于目标变量(如B)的偏导数,以此来判断下一步应该在哪条路径上前进。每一次迭代都使模型参数向着损失函数曲线最低处移动一小步,最终达到全局最优解或局部极小值。简而言之,这种方法不断更新参数,使其沿梯度方向逐步逼近最佳结果。

(5)一元线性回归模型的参数学习---批量梯度下降法

         另一种常见的梯度下降方式——批量梯度下降,其特点是所有训练数据都会被用于每一次的参数更新。

         虽然梯度下降是一种有效的寻找最优解的方法,但选择合适的步长以及理解何时停止迭代对于确保算法的有效性和效率至关重要。


三.多元线性回归

        多元线性回归能够建立目标变量与其多个特征之间的一般线性关系,公式形式上类似于一元线性回归但扩展至更多维度。

多元线性回归案例:广告公司收益预测:


四.用python实现线性回归

        下面介绍采用Python语言基于Scikit-learn库实现线性回归建模和应用的方法,对建模过程和相关支持函数,数据集分割、模型的性能评价等问题进行介绍

(1)基于scikit-learn实现线性回归

(2)线性回顾模型的性能评估

        谈到模型的性能评价,就必须要知道训练集与测试集,为了更准确地评价模型性能,通常将原始数据切分为两部分。
训练集:用于学习获得回归模型
测试集:视为未知数据,用于评估模型性能

常用留出法拆分数据集
直接将数据集划分为互斥的集合,如选70%作为训练集30%作为测试集。注意保持划分后集合数据分布的一致性,避免引入额外的偏差。

下面我们继续用案例1来举例

这里决定系数越接近1越好,值越大表示模型对目标变量变化的解释力越强。


五.广义线性回归

(1)广义线性回归的定义

(2)多项式的高维特征构建


六. 模型的泛化能力

(1)泛化能力

(2)过拟合和欠拟合的解决办法 

 (3)用python实现岭回归

http://www.dtcms.com/a/110045.html

相关文章:

  • 聚焦建筑业碳中和,楼宇自控系统应如何发挥建筑节能价值
  • 大语言模型中的嵌入模型
  • (C语言)单链表(2.0)数据结构(指针,单链表教程)
  • 栈和队列的概念
  • dfs递归回溯的两种体型
  • 水下声呐探测仪,应急救援中的高效水下定位技术|深圳鼎跃
  • Nuxt3项目的SEO优化(robots.txt,页面tdk,伪静态.html,sitemap.xml动态生成等)
  • 开源虚拟化管理平台Proxmox VE部署超融合
  • RHCSA LINUX系统文件管理
  • 市场交易策略优化与波动管理
  • 6.模型训练4-毕设篇
  • 【Prometheus】kube-state-metrics 的详细说明
  • 【学习笔记】计算机网络(七)—— 网络安全
  • Metasploit 反弹Shell
  • eplan许可证常见问题及解决方法
  • 数据结构(JAVA)单向,双向链表
  • 解析CSRF攻击
  • Transformer架构详解:从Encoder到Decoder的完整旅程
  • VSCode历史版本的下载安装
  • 破解AI编程瓶颈:上下文管理助力高效开发,以Cline为例
  • kornia,一个实用的 Python 库!
  • 环形链表相关题目
  • ARM架构安装MySQL8.0
  • 数据结构每日一题day11(链表)★★★★★
  • Python HTTP交互双剑客:requests与responses实战指南
  • 2025年消防设施操作员考试题库及答案
  • 矩池云使用指南
  • 高级IO模型
  • 华三H3C模拟器HCL搭建简单内网三层网络
  • Lua:第1-4部分 语言基础