机器学习的复习笔记3-回归的细谈
一、回归的细分
机器学习中的回归问题是一种用于预测连续型输出变量的任务。回归问题的类型和特点如下:
- 线性回归(Linear Regression):线性回归是回归问题中最简单的一种方法。它假设自变量与因变量之间存在线性关系,并通过最小化预测值与真实值之间的差距来拟合最优直线。线性回归易于解释和实现,但对于非线性关系的建模能力有限。
-
多项式回归(Polynomial Regression):多项式回归是在线性回归的基础上引入多项式特征的一种方法。通过添加高次项来拟合更复杂的数据模式,可以更好地适应非线性关系。然而,多项式回归容易出现过拟合问题。
-
岭回归(Ridge Regression):岭回归是一种正则化线性回归方法,通过引入L2正则化项来控制模型的复杂度,防止过拟合。岭回归在特征之间存在共线性(即高度相关)时表现较好。【其核心思想是在最小化残差平方和的同时,加上一个惩罚项,该惩罚项与模型的参数大小有关。这个惩罚项可以将参数的估计值向零进行偏移,从而减少参数估计的方差。具体而言,岭回归使用L2范数作为惩罚项,即将参数的平方和添加到残差平方和中。】
-
Lasso回归(Lasso Regression):Lasso回归是另一种正则化线性回归方法,通过引入L1正则化项来促使模型具有稀疏性,即自动选择对预测目标更重要的特征。Lasso回归可以用于特征选择和降维。
-
弹性网回归(Elastic Net Regression):弹性网回归是岭回归和Lasso回归的结合,既具有L1正则化项的稀疏性特征选择能力,又具有L2正则化项的共线性处理能力。
-
支持向量回归(Support Vector Regression,SVR):支持向量回归是一种非常灵活的回归方法,通过引入核函数将输入空间映射到高维特征空间,从而实现非线性回归。SVR通过定义一个边界带,尽量使观测值落在该带内,同时最小化预测误差。【它基于支持向量机(Support Vector Machine,SVM)的思想,将分类问题扩展到回归问题上。
与传统的回归方法不同,SVR的目标是找到一个边界,使得样本点尽可能地落在该边界内,并且最大化落在边界上的样本之间的间隔。SVR通过引入一个容忍度范围(ε-tube)来容忍落在边界附近的样本点,即允许一部分样本点的预测误差落在容忍度范围内。因此,SVR旨在构建一个能够良好拟合数据并具有较小预测误差的超平面。
SVR的核心思想是通过寻找支持向量来建立回归模型。支持向量是指那些离边界最近的样本点,它们对于构建回归模型具有重要的作用。SVR的目标是找到一个最小化经验风险和模型复杂度的平衡点,从而获得一个效果良好且具有较好泛化能力的回归模型。
SVR可以使用不同的核函数来处理线性和非线性回归问题。常用的核函数包括线性核函数、多项式核函数和高斯径向基核函数等。这些核函数可以将原始样本映射到高维空间,从而使得原本线性不可分的问题在高维空间中变得线性可分。
SVR具有以下特点:SVR可以处理非线性回归问题,并具有较好的泛化能力。SVR通过引入容忍度范围(ε-tube)来允许一定的预测误差,增强了模型对噪声的鲁棒性。
总之,支持向量回归是一种用于解决回归问题的机器学习方法,通过寻找支持向量和引入容忍度范围来建立回归模型,能够处理非线性问题并具有较好的泛化能力。SVR的模型复杂度受支持向量数量的影响,通过选择合适的核函数和正则化参数,可以控制模型的复杂度,避免过拟合。SVR适用于小样本和高维数据的回归问题,具有较好的稳定性和性能。】
【当你无法在平面解决问题,你就要试图提升到空间维度解决问题】



7.决策树回归(Decision Tree Regression):决策树回归使用树结构来建模数据,每个节点代表一个特征变量,每个分叉代表一个判断条件,每个叶节点代表一个输出值。决策树回归具有很好的解释性和非线性建模能力,但容易过拟合。

8.随机森林回归(Random Forest Regression):随机森林回归是基于决策树的集成学习方法,通过构建多个决策树并取其平均或投票来进行回归预测。随机森林回归具有较好的鲁棒性和泛化能力,能够处理高维数据和特征选择。【随机森林选取】

随机森林回归是一种集成学习算法,用于解决回归问题。它结合了决策树和随机性的特点,能够应对高维数据和复杂关系的建模。
随机森林回归的主要步骤如下:
①数据准备:将数据集划分为训练集和测试集,确保数据的质量和完整性。
②随机抽取自助采样集:从训练集中随机有放回地抽取一部分样本,形成一个新的子训练集,样本数与原训练集相同。
③随机选择特征子集:从所有特征中随机选择一部分特征,形成一个新的子特征集。
④构建决策树:使用子训练集和子特征集构建决策树模型。在构建过程中,采用递归的方式选择最佳的划分特征和划分点,直到满足终止条件(如节点中样本数小于某个阈值或达到最大深度)。
④构建多棵决策树:重复步骤2和步骤3,构建多棵决策树形成随机森林。
⑤预测:使用测试集数据,在每棵决策树上进行预测,并取平均值或投票得到最终的预测结果。
随机森林回归具有以下优点:
随机性能够降低过拟合的风险,提高模型的泛化能力。
能够处理高维数据和复杂关系,对异常值和缺失值具有较好的鲁棒性。
能够评估特征的重要性,用于特征选择和特征工程。
相对于单个决策树,随机森林可以更准确地进行预测。
需要注意的是,随机森林回归也有一些限制:
对于具有大量特征和少量样本的问题,可能存在过拟合的情况。
随机森林构建过程中需要消耗较多的计算资源和时间。
随机森林的模型可解释性相对较弱。
9.梯度提升回归(Gradient Boosting Regression):梯度提升回归是一种迭代的集成方法,通过逐步改善残差来拟合模型,并组合多个弱回归器的预测结果。梯度提升回归在回归问题上表现出色,但对于大规模数据集和异常值敏感。
10.神经网络回归(Neural Network Regression):神经网络回归使用多层神经网络来进行回归预测,可以灵活地建模复杂的非线性关系。神经网络回归通常需要大量的数据和计算资源来训练,但可以获得较好的预测性能。
二、回归可以实现分类吗?
机器学习中的回归模型本质上是用于预测连续型输出变量的,而分类则是将样本划分到不同的离散类别中。虽然回归和分类是两个不同的任务,但有一些方法可以通过对回归结果进行适当处理来实现分类。
一种常见的方法是使用阈值(Threshold)来将回归输出转化为二元分类。例如,设定一个阈值,当回归输出大于该阈值时,将样本分类为一类;当回归输出小于等于该阈值时,将样本分类为另一类。这种方法简单直观,但需要合理选择阈值,且不能处理多类分类问题。
另一种方法是使用回归模型的输出概率来进行分类。例如,对于线性回归模型,可以使用逻辑函数(如sigmoid函数)将回归输出映射到[0,1]区间,表示概率。根据概率大小,将样本分配给具有最高概率的类别。这种方法通常被称为逻辑回归,虽然名字中带有"回归",但实际上是一种二元分类算法。
还有一些其他方法,如支持向量回归(SVR)可以通过设置不同的阈值来实现多类分类。随机森林回归和梯度提升回归等集成模型也可以在回归结果的基础上进行分类。这些方法在实践中往往能够拟合非线性的决策边界。
需要注意的是,尽管可以通过适当的处理实现分类,但这样的方法可能无法完全满足分类问题的要求。为了更好地解决分类问题,通常会使用专门设计的分类算法,如逻辑回归、支持向量机、决策树、随机森林和神经网络等。这些算法在设计上更加关注离散类别的划分,具有更好的分类性能。因此,在实际应用中,建议根据具体问题的特点选择适合的分类算法。
相关文章:
机器学习的复习笔记3-回归的细谈
一、回归的细分 机器学习中的回归问题是一种用于预测连续型输出变量的任务。回归问题的类型和特点如下: 线性回归(Linear Regression):线性回归是回归问题中最简单的一种方法。它假设自变量与因变量之间存在线性关系,…...
Git常用命令#切换分支
要在 Git 中切换分支,你可以使用 git checkout 命令。 a.创建新分支并切换到该分支 如果你想要创建一个新分支并立即切换到该分支,可以使用以下命令: git checkout -b 新分支名这会创建一个名为 新分支名 的新分支,并将你的工作目…...
【qml入门教程系列】:qml property使用介绍
作者:令狐掌门 技术交流QQ群:675120140 博客地址:https://mingshiqiang.blog.csdn.net/ 文章目录 属性的定义property基本用法属性变更事件通知属性绑定属性别名只读属性默认属性 default property访问和修改属性方式1:使用setProperty方法方式2:使用QQmlContext设置属性自定…...
pbootcms建站
pbootcms建站 一、下载pbootcms二、安装1、进入宝塔面在网站栏,新建站点,将该址里面文件全部清再将下载的pbootcms上传至该地址。 三、修改关联数据库1、在根目录下/config打开database.php照如下修改这里我使用mysqli数据库。修改并使用自已创建的数据库…...
Spring的事务传播行为
文章目录 说一下Spring的事务传播行为 今天来和大家聊聊spring中使用的事务传播行为, 说一下Spring的事务传播行为 spring事务的传播行为说的是,当多个事务同时存在的时候,spring如何处理这些事务的行为。 ① PROPAGATION_REQUIRED…...
04_网络编程
网络编程 什么是网络编程 可以让设备中的程序与网络上其他设备中的程序进行数据交互(实现网络通信的) java.net.* 包下提供了网络编程的解决方案 通信的基本架构 CS 架构(Client 客户端 / Server 服务端)BS 架构(…...
【五分钟】熟练使用numpy.cumsum()函数(干货!!!)
引言 numpy.cumsum()函数用于计算输入数组的累积和。当输入是多维数组时,numpy.cumsum()函数可以沿着指定轴计算累积和。 计算一维数组的累计和 代码如下: # 计算一维数组的累计和 tmp_array np.ones((4,), dtypenp.uint8) # [1, 1, 1, 1] print(&…...
由11月27日滴滴崩溃到近两个月国内互联网产品接二连三崩溃引发的感想
文章目录 知乎文分析微信聊天截图微信公众号 滴滴技术 发文k8s 官方文档滴滴官方微博账号 近两个月国内互联网产品“崩溃”事件2023-10-23 语雀崩溃2023-11-12 阿里云崩溃2023-11-27 滴滴崩溃2023-12-03 腾讯视频崩溃总结 我的感想 知乎文分析 最近连续加班,打车较…...
Python按要求从多个txt文本中提取指定数据
基本想法 遍历文件夹并从中找到文件名称符合我们需求的多个.txt格式文本文件,并从每一个文本文件中,找到我们需要的指定数据,最后得到所有文本文件中我们需要的数据的集合 举例 如现有名为file一个文件夹,里面含有大量的.txt格…...
DFT新手教程:VASP中ISIF取值设置
新手初学VASP计算时首先接触到的就是结构优化的计算任务。 在结构优化中,INCAR中的关键参数包括 IBRION ,NSW,ISIF,EDIFF和EDIFFG 各个参数均可在vaspwiki查到可设置的参数以及该参数所具有的设置的含义。 https://www.vasp.at/…...
pytest自动化框架之allure测试报告的用例描述设置
allure测试报告的用例描述相关方法;如下图 allure标记用例级别severity 在做自动化测试的过程中,测试用例越来越多的时候,如果执行一轮测试发现了几个测试不通过,我们也希望能快速统计出缺陷的等级。 pytest结合allure框架可以对…...
在编程中遇到的问题总结
IDEA空包粘黏问题 创建好目录以后会发现idea自动将空包合并在一起了,而且点击设置里面也没有Compact Middle Package Compact Middle Package如果不在设置的主面板上,则点击Tree Appearance,会发现Compact Middle Package在Tree Appearance里…...
【数据库设计和SQL基础语法】--SQL语言概述--SQL的基本结构和语法规则(二)
一、数据控制语言(DCL) 1.1 授权(GRANT) 数据控制语言(DCL)是SQL的一个子集,用于控制数据库中的数据访问和权限。GRANT语句是DCL中的一种,用于向用户或角色授予特定的数据库操作权…...
easyexcel多级表头导出各级设置样式(继承HorizontalCellStyleStrategy实现)
easyexcel多级表头导出各级设置样式(继承HorizontalCellStyleStrategy实现) package com.example.wxmessage.entity;import com.alibaba.excel.metadata.data.WriteCellData; import com.alibaba.excel.write.handler.context.CellWriteHandlerContext;…...
QMLfor python pyside6
QML QML是一种用于创建用户界面的声明性语言,它是Qt生态系统中的一部分。QML使用JavaScript语言和其独特的语法来定义用户界面组件,使得开发人员可以轻松地创建现代化、漂亮而又响应迅速的应用程序。 QML是基于QtQuick技术构建的,QtQuick是…...
几何教学工具 Sketchpad几何画板 mac软件特色
Sketchpad几何画板 for Mac是一款适用于macOS系统的几何教学工具,用户可以在其画板上进行各种几何图形的绘制、演示,帮助教师了解学生的思路和对概念的掌握程度。此外,Sketchpad更深层次的功能则是可以用来进行几何交流、研究和讨论ÿ…...
华清远见嵌入式学习——C++——作业5
作业要求: 代码: #include <iostream>using namespace std;//沙发 类 class Sofa { private:string sitting; //是否可坐double *cost; //花费 public://无参构造函数Sofa(){}//有参构造函数Sofa(string s,double c):sitting(s),cost(new double(…...
Java中的类与类之间的关系
1、Java中类与类之间的关系 依赖(Dependency):一个类依赖于另一个类的定义。这种关系通常通过在一个类的方法中创建另一个类的实例来实现。依赖关系是类与类之间最基本的关系之一。关联(Association):关联…...
全新仿某度文库网站源码/在线文库源码/文档分享平台网站源码/仿某度文库PHP源码
源码简介: 全新仿某度文库网站源码/在线文库源码,是以phpMySQL开发的,它是仿某度文库PHP源码。有功能免费文库网站 文档分享平台 实现文档上传下载及在线预览。 仿百度文库是一个以phpMySQL进行开发的免费文库网站源码。仿某度文库实现文档…...
HTTPS的安全问题及应对方案
HTTPS是一种在网络通信中广泛使用的安全协议,通过使用SSL/TLS加密来保护数据的传输。然而,即使在使用了HTTPS的情况下,仍然存在一些潜在的安全问题。本文将深入探讨HTTPS的安全问题,并提供一些有效的应对策略,以确保数…...
uniapp 对接腾讯云IM群组成员管理(增删改查)
UniApp 实战:腾讯云IM群组成员管理(增删改查) 一、前言 在社交类App开发中,群组成员管理是核心功能之一。本文将基于UniApp框架,结合腾讯云IM SDK,详细讲解如何实现群组成员的增删改查全流程。 权限校验…...
基于大模型的 UI 自动化系统
基于大模型的 UI 自动化系统 下面是一个完整的 Python 系统,利用大模型实现智能 UI 自动化,结合计算机视觉和自然语言处理技术,实现"看屏操作"的能力。 系统架构设计 #mermaid-svg-2gn2GRvh5WCP2ktF {font-family:"trebuchet ms",verdana,arial,sans-…...
ES6从入门到精通:前言
ES6简介 ES6(ECMAScript 2015)是JavaScript语言的重大更新,引入了许多新特性,包括语法糖、新数据类型、模块化支持等,显著提升了开发效率和代码可维护性。 核心知识点概览 变量声明 let 和 const 取代 var…...
【JavaEE】-- HTTP
1. HTTP是什么? HTTP(全称为"超文本传输协议")是一种应用非常广泛的应用层协议,HTTP是基于TCP协议的一种应用层协议。 应用层协议:是计算机网络协议栈中最高层的协议,它定义了运行在不同主机上…...
vscode(仍待补充)
写于2025 6.9 主包将加入vscode这个更权威的圈子 vscode的基本使用 侧边栏 vscode还能连接ssh? debug时使用的launch文件 1.task.json {"tasks": [{"type": "cppbuild","label": "C/C: gcc.exe 生成活动文件"…...
生成 Git SSH 证书
🔑 1. 生成 SSH 密钥对 在终端(Windows 使用 Git Bash,Mac/Linux 使用 Terminal)执行命令: ssh-keygen -t rsa -b 4096 -C "your_emailexample.com" 参数说明: -t rsa&#x…...
【HTML-16】深入理解HTML中的块元素与行内元素
HTML元素根据其显示特性可以分为两大类:块元素(Block-level Elements)和行内元素(Inline Elements)。理解这两者的区别对于构建良好的网页布局至关重要。本文将全面解析这两种元素的特性、区别以及实际应用场景。 1. 块元素(Block-level Elements) 1.1 基本特性 …...
基于Java Swing的电子通讯录设计与实现:附系统托盘功能代码详解
JAVASQL电子通讯录带系统托盘 一、系统概述 本电子通讯录系统采用Java Swing开发桌面应用,结合SQLite数据库实现联系人管理功能,并集成系统托盘功能提升用户体验。系统支持联系人的增删改查、分组管理、搜索过滤等功能,同时可以最小化到系统…...
R语言速释制剂QBD解决方案之三
本文是《Quality by Design for ANDAs: An Example for Immediate-Release Dosage Forms》第一个处方的R语言解决方案。 第一个处方研究评估原料药粒径分布、MCC/Lactose比例、崩解剂用量对制剂CQAs的影响。 第二处方研究用于理解颗粒外加硬脂酸镁和滑石粉对片剂质量和可生产…...
C#中的CLR属性、依赖属性与附加属性
CLR属性的主要特征 封装性: 隐藏字段的实现细节 提供对字段的受控访问 访问控制: 可单独设置get/set访问器的可见性 可创建只读或只写属性 计算属性: 可以在getter中执行计算逻辑 不需要直接对应一个字段 验证逻辑: 可以…...
