一般机器学习有哪些算法?
传统的机器学习算法主要依赖统计学和优化方法,不依赖深层神经网络,通常具有较高的可解释性且适用于中小规模数据集。以下是经典的传统机器学习算法分类及代表性模型:
一、监督学习(Supervised Learning)
1. 回归(Regression)
-
线性回归(Linear Regression)
通过最小化预测值与真实值的平方误差,拟合特征与目标之间的线性关系。
场景:房价预测、销量趋势分析。 -
岭回归(Ridge Regression) 和 Lasso回归(Lasso Regression)
在线性回归基础上加入L2或L1正则化,防止过拟合。
场景:高维数据回归(如基因数据分析)。 -
支持向量回归(Support Vector Regression, SVR)
基于支持向量机(SVM)的回归方法,通过间隔最大化优化预测边界。
2. 分类(Classification)
-
逻辑回归(Logistic Regression)
通过Sigmoid函数将线性回归结果映射到概率,用于二分类或多分类。
场景:信用评分、疾病预测。 -
支持向量机(Support Vector Machine, SVM)
寻找最大间隔超平面分割数据,支持核技巧处理非线性问题。
场景:文本分类、图像分割。 -
决策树(Decision Tree)
基于特征阈值递归划分数据,生成树形规则(如ID3、C4.5、CART)。
场景:客户分群、风险评估。 -
K近邻(K-Nearest Neighbors, KNN)
根据样本在特征空间中的最近邻标签进行预测,属于惰性学习。
场景:推荐系统、简单模式识别。 -
朴素贝叶斯(Naive Bayes)
基于贝叶斯定理与特征条件独立性假设,计算类别概率。
场景:垃圾邮件过滤、情感分析。
3. 集成学习(Ensemble Learning)
-
随机森林(Random Forest)
通过多棵决策树的投票或平均提升泛化能力,降低过拟合。
场景:高维数据分类(如医疗诊断)。 -
梯度提升树(Gradient Boosting Decision Trees, GBDT)
逐步训练弱学习器拟合残差,优化预测效果(如XGBoost、LightGBM)。
场景:点击率预测、竞赛建模。 -
AdaBoost
自适应调整样本权重,迭代训练弱分类器并加权组合。
场景:人脸检测、异常识别。
二、无监督学习(Unsupervised Learning)
1. 聚类(Clustering)
-
K均值(K-Means)
将数据划分为K个簇,最小化簇内样本到中心的距离平方和。
场景:用户分群、图像压缩。 -
层次聚类(Hierarchical Clustering)
构建树状聚类结构,支持自底向上(AGNES)或自顶向下(DIANA)划分。
场景:生物基因分类、文档主题聚类。 -
DBSCAN(Density-Based Spatial Clustering)
基于密度发现任意形状的簇,自动识别噪声点。
场景:地理数据聚类、异常检测。 -
高斯混合模型(GMM)
假设数据由多个高斯分布混合生成,通过EM算法估计参数。
场景:语音信号分离、图像分割。
2. 降维(Dimensionality Reduction)
-
主成分分析(PCA)
线性降维,提取数据最大方差方向的主成分。
场景:数据可视化、特征压缩。 -
线性判别分析(LDA)
最大化类间差异、最小化类内差异的监督降维方法。
场景:人脸识别、分类任务的特征提取。
3. 关联规则(Association Rule)
- Apriori算法
挖掘频繁项集(如“购买啤酒的用户常购买尿布”)。
场景:购物篮分析、交叉销售。
三、半监督学习(Semi-Supervised Learning)
-
标签传播(Label Propagation)
基于图结构将少量标签扩散到未标注数据。
场景:社交网络分析、半监督分类。 -
自训练(Self-Training)
用已标注数据训练初始模型,预测未标注数据并迭代优化。
场景:文本分类(标注数据不足时)。
四、概率图模型(Probabilistic Graphical Models)
-
隐马尔可夫模型(HMM)
用于时序数据建模,假设状态转移和观测服从马尔可夫性。
场景:语音识别、股票预测。 -
贝叶斯网络(Bayesian Network)
用有向无环图表示变量间的条件依赖关系。
场景:医疗诊断、风险评估。
五、其他经典算法
-
核方法(Kernel Methods)
通过核函数将数据映射到高维空间,解决非线性问题(如核SVM)。
场景:图像分类、非线性回归。 -
最近邻(KNN)
基于距离度量进行预测,无需显式训练过程。
场景:简单分类/回归(数据分布清晰时)。
六、传统机器学习的优势与局限
优势:
- 解释性强:如决策树、线性回归可直观理解特征重要性。
- 计算效率高:适合中小规模数据,训练和推理速度快。
- 依赖特征工程:通过人工设计特征提升模型表现。
局限:
- 对复杂模式捕捉能力有限:如图像、语音等非结构化数据。
- 特征工程成本高:需领域知识设计有效特征。
七、应用场景选择建议
- 小数据集+可解释性需求:逻辑回归、决策树。
- 高维稀疏数据:SVM(线性核)、随机森林。
- 时序数据:HMM、ARIMA(统计模型)。
- 无标签数据聚类:K-Means、DBSCAN。
- 关联规则挖掘:Apriori、FP-Growth。
传统机器学习算法至今仍在工业界广泛应用,尤其在数据规模较小、特征明确且需解释性的场景中表现优异。结合业务需求和数据特点选择合适的算法,往往能高效解决问题。
相关文章:
一般机器学习有哪些算法?
传统的机器学习算法主要依赖统计学和优化方法,不依赖深层神经网络,通常具有较高的可解释性且适用于中小规模数据集。以下是经典的传统机器学习算法分类及代表性模型: 一、监督学习(Supervised Learning) 1. 回归&…...
RAGFlow部署与使用(开源本地知识库管理系统,包括kibana配置)
一、RAGFlow 简介 戳我访问RAGFlow RAGFlow 是一款基于深度文档理解构建的开源 RAG(Retrieval-Augmented Generation)引擎。它可以给我们搭建本地知识库,将用户的知识文档上传到RAGFlow后,通过文档切分、向量入库,在…...
STM32G070CBT6读写FLASH中的数据
向FLASH中写入数据函数 /*函数说明:向FLASH中写数据形参:addr-要写入数据的起始地址 data-准备写入数据 len-数据大小返回值:1-成功,0-失败 */ uint8_t FlashWriteData(uint64_t addr,uint8_t data[],size_t len) {uint32_t Fir…...
如何使用HACS一键集成米家与果家设备到HomeAssistant玩转智能家居
文章目录 前言1. 下载HACS源码2. 添加HACS商店3. 绑定米家设备 前言 各位科技潮人和智能家居发烧友们,是不是也梦想着把家里变成一个高科技的空间?有了群晖NAS这位得力助手,不仅存储空间大得吓人,还能通过Docker轻松安装各种应用…...
Flutter_学习记录_状态管理之GetX
1. 状态管理、Flutter Getx介绍 1.1 状态管理 通俗的讲:当我们想在多个页面(组件/Widget)之间共享状态(数据),或者一个页面(组件/Widget)中的多个子组件之间共享状态(数…...
DeepSeek 助力 Vue3 开发:打造丝滑的表格(Table)之添加列宽调整功能,示例Table14_09自定义单元格的固定表头表格
前言:哈喽,大家好,今天给大家分享一篇文章!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏+关注哦 💕 目录 DeepSeek 助力 Vue3 开发:打造丝滑的表格(Table)之添加列宽调整功能,示例Table14_09自定义单元格…...
基于 Prometheus + Grafana 监控微服务和数据库
以下是基于 Prometheus Grafana 监控微服务和数据库的详细指南,包含架构设计、安装配置及验证步骤: 一、整体架构设计 二、监控微服务 1. 微服务指标暴露 Spring Boot 应用: xml <!-- 添加 Micrometer 依赖 --> <dependency>…...
文件解析漏洞
一,IIS解析漏洞 1,IIS6.X 目录解析 在iis的⽹站根⽬录新建⼀个名为q.asp的⽂件,在q.asp中新建⼀个txt⽂件 在外部浏览器中访问windows2003的iis⽹站中的1.txt 发现asp代码被执⾏ 2,IIS6.X 畸形文件解析 在iis的⽹站根⽬录新建⼀…...
C++学习笔记(二十一)——文件读写
一、文件读写 作用: 文件读写指的是将数据从程序存储到文件,或从文件读取数据,以实现数据的持久化存储。 C 提供了 fstream 头文件,用于文件操作,主要包括: ofstream(输出文件流)—…...
Ubuntu上部署Flask+MySQL项目
一、服务器安装python环境 1、安装gcc(Ubuntu默认已安装) 2、安装python源码 wget https://www.python.org/ftp/python/3.13.2/Python-3.13.2.tar.xz 3、安装Python依赖库 4、配置python豆瓣源 二、服务器安装虚拟环境 1、安装virtualenv pip3.10 ins…...
Unity WebGL项目访问时自动全屏
Unity WebGL项目访问时自动全屏 打开TemplateData/style.css文件 在文件最下方添加红色框内的两行代码 使用vscode或者其他编辑器打开index.html 将按钮注释掉,并且更改为默认全屏...
C#RTSP代理推流程序
将不支持rtsp的相机通过rtspserver实现推流 主要功能 1. rtsp交互 2. udp推流 3. Bitmap转H264,RTP打包 4. 支持多路播放...
Redis--渐进式遍历
目录 一、引言 二、介绍 三、命令 四、总结 一、引言 本篇文章将介绍Redis中的渐进式遍历 二、介绍 一般使用keys * 来获取所有的key,但这样的操作如果数据量很大的时候,会将服务器给卡死,所以通过渐进式遍历,就会避免这个问题…...
PyTorch深度学习框架60天进阶学习计划 - 第23天:Transformer架构解析
让我继续完成机器翻译示例的代码: PyTorch深度学习框架60天进阶学习计划:第23天 Transformer架构解析 学习目标 推导自注意力机制数学公式详解位置编码的傅里叶基函数设计对比编码器-解码器结构的信息流动差异 1. Transformer架构概述 Transformer架…...
《C#上位机开发从门外到门内》3-4:基于TCP/IP的远程监控系统设计与实现
文章目录 一、项目概述二、系统架构设计三、通信协议设计四、功能模块实现五、系统安全性与稳定性六、性能优化与测试七、实际应用案例八、结论 随着信息技术的飞速发展,远程监控系统在工业自动化、智能家居、环境监测等领域的应用日益广泛。基于TCP/IP协议的远程监…...
【MySQL】MySQL审计工具Audit Plugin安装使用
MySQL审计工具Audit Plugin安装使用 https://www.cnblogs.com/waynechou/p/mysql_audit.html MySQL 5.6 开启审计功能 https://blog.51cto.com/u_15127556/4344503 MySQL之添加日志审计功能 https://blog.csdn.net/weixin_43279032/article/details/105507170 MySQL开启日志记录…...
Flutter 按钮组件 ElevatedButton 详解
目录 1. 引言 2. ElevatedButton 的基本用法 3. 主要属性 4. 自定义按钮样式 4.1 修改背景颜色和文本颜色 4.2 修改按钮形状和边框 4.3 修改按钮大小 4.4 阴影控制 4.5 水波纹效果 5. 结论 相关推荐 1. 引言 在 Flutter 中,ElevatedButton 是一个常用的…...
AndroidStudio+Android8.0下的Launcher3 导入,编译,烧录,调试
文章目录 编译完成搜索输出文件Android.mk配置gradle编译环境报错一报错二报错三输出文件下载INSTALL_FAILED_TEST_ONLY查找系统签名查找签名工具开始签名查看签名签名问题重新生成秘钥解决方案生成成功挽救错误:重新刷机更换testkey秘钥keystore生成keystoreINSTALL_FAILED_S…...
【差分约束】P5590 赛车游戏|省选-
本文涉及知识点 【数学 线性代数】差分约束 P5590 赛车游戏 题目描述 R 君和小伙伴打算一起玩赛车。但他们被老司机 mocania 骗去了秋名山。 秋名山上有 n n n 个点和 m m m 条边,R 君和他的小伙伴要从点 1 1 1 出发开往点 n n n,每条边都有一个…...
咪咕MG101_晨星MSO9380芯片_安卓5.1.1_免拆卡刷固件包
咪咕MG101_晨星MSO9380芯片_安卓5.1.1_免拆卡刷固件包(内有教程) 刷机教程简单说明: 1、把下载好的刷机包,U盘里建立一个upgrade文件夹,固件放入此文件夹里,放入U盘中,注意升级包为压缩包不要对…...
【软件工程】06_软件设计
6.1 软件设计概述 1. 软件设计的目标 软件设计的最基本目标就是回答 “概括地描述系统如何实现用户所提出来的功能和性能等方面的需求?” 这个问题。 软件设计的目标是根据软件需求分析的结果,设想并设计软件,即根据目标系统的逻辑模型确定目标系统的物理模型。包括软件体系…...
在Flutter中使用Future读取一个大文件会导致线程阻塞吗
目录 一、Future 与文件读取的机制 1. Dart 的异步 I/O 原理 2. 代码示例 二、什么情况下会阻塞主线程? 1. I/O 操作本身不会阻塞 2. 数据处理可能阻塞 3. 示例对比 三、如何避免阻塞主线程? 1. 将耗时操作移到 Isolate 2. 使用 compute 函数(简化 Isolate 操作)…...
2025-03-17 Unity 网络基础1——网络基本概念
文章目录 1 网络1.1 局域网1.2 以太网1.3 城域网1.4 广域网1.5 互联网(因特网)1.6 万维网1.7 小结 2 IP 地址2.1 IP 地址2.2 端口号2.3 Mac 地址2.4 小结 3 客户端与服务端3.1 客户端3.2 服务端3.3 网络游戏中的客户端与服务端 1 网络 在没有网络之前…...
2025-03-17 学习记录--C/C++-PTA 习题4-8 高空坠球
合抱之木,生于毫末;九层之台,起于累土;千里之行,始于足下。💪🏻 一、题目描述 ⭐️ 习题4-8 高空坠球 皮球从某给定高度自由落下,触地后反弹到原高度的一半,再落下&…...
Java网络编程socket
一、UDP 特点: ① 用户数据报协议(User Datagram Protocol) ② UDP是面向无连接通信协议 ③ 速度快,一次只能传输64KB数据,数据不安全,容易丢失 (1)单播 一对一 客户端…...
蓝桥杯备赛 Day0_移动零
🎈 个人主页👉:tbRNA-CSDN博客tbRNA-CSDN博客tbRNA-CSDN博客 💯 个人简介:在校大学生一枚💋. 😍 希望我的文章对大家有着不一样的帮助,欢迎大家关注我,感谢大家的多多支持…...
Razor C# 变量
Razor C# 变量 引言 在ASP.NET MVC和Razor视图引擎中,变量是构建动态网页的基础。理解Razor C#变量的使用对于开发者来说至关重要。本文将详细介绍Razor C#变量的概念、类型、作用域以及如何在实际项目中有效使用它们。 一、Razor C# 变量的概念 Razor C# 变量是存储在Raz…...
产品更新丨谷云科技ETLCloud 3月更新速递
本月,我们的数据集成产品ETLCloud继续迎来多项更新,进一步提升系统的兼容性和用户体验。以下是本月更新的亮点内容: 新增10项功能组件,持续丰富产品易用性 聚水潭-奇门通用组件 新增聚水潭-奇门通用组件,帮助企业更…...
如何高效定位网络丢包问题?
引言 本期分享一个比较常见的网络问题--丢包。例如我们去ping一个网站,如果能ping通,且网站返回信息全面,则说明与网站服务器的通信是畅通的,如果ping不通,或者网站返回的信息不全等,则很可能是数据被丢包…...
gitlab将本地项目提交到远程dev分支
获取Git路径 首先从远程获取到git路径,将给的git地址进行克隆到本地文件; git clone http:************.git 按照git地址的文件路径将本地项目,拷贝到目标文件中 在该路径中,初始化命令; # 初始化项目 git init #…...
Linux命令学习使用列表
Linux命令学习使用列表 1 系统启动相关2 系统网络相关3 系统磁盘相关4 系统定时任务5 系统进程监控 1 系统启动相关 1.1 麒麟V10 sp3修改选择默认启动项 2 系统网络相关 2.1 Linux IP 配置 2.2 ping监测网络通信情况 3 系统磁盘相关 4 系统定时任务 5 系统进程监控 5.1 L…...
分布式锁: 并发时,redis如何避免删别人的锁
在使用Redis实现分布式锁的时候,如何避免在并发情况下误删别人的锁。首先,分布式锁的基本概念:是多个客户端在访问共享资源时,通过某种机制来确保同一时间只有一个客户端能持有锁。 Redis通常用SET命令加上NX选项来创建锁…...
解决 Jupyter Notebook 中本地模块修改不生效的问题
解决 Jupyter Notebook 中本地模块修改不生效的问题 问题原因 当你在 Jupyter Notebook 中导入本地目录的库,修改后重新运行 import 语句却发现修改没有生效,这是因为 Python 的模块缓存机制。Python 解释器会将已导入的模块缓存在 sys.modules 字典中…...
蓝桥杯嵌入式赛道复习笔记2(按键控制LED灯,双击按键,单击按键,长按按键)
硬件原理解释 这张图展示了一个简单的按键电路原理图,其中包含四个按键(PB0、PB1、PB2、PB3、PA0),每个按键通过一个10kΩ的上拉电阻连接到VDD(电源电压),并接地(GND)。 …...
简单爬虫--框架
简单爬虫 import requests import re import chardet# 模拟浏览器的请求头 headers {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36" }# 发送 HTTP 请求获取百…...
游戏引擎学习第163天
我们可以在资源处理器中使用库 因为我们的资源处理器并不是游戏的一部分,所以它可以使用库。我说过我不介意让它使用库,而我提到这个的原因是,今天我们确实有一个选择——可以使用库。 生成字体位图的两种方式:求助于 Windows 或…...
多模态模型Orpheus,基于病理图像的乳腺癌复发风险智能评估工具|顶刊解读·25-03-17
小罗碎碎念 在医学领域,尤其是乳腺癌治疗方面,准确评估患者的复发风险至关重要。对于占乳腺癌很大比例的 HR/HER2 - 亚型患者,目前主要依靠 Oncotype DX 的复发评分(RS)来指导治疗决策。 然而,该检测存在…...
基于MapReduce的气候数据分析
标题:基于MapReduce的气候数据分析 内容:1.摘要 本文聚焦于基于MapReduce的气候数据分析。背景在于随着全球气候变化问题日益严峻,海量气候数据的高效处理和分析成为关键。目的是利用MapReduce技术对气候数据进行有效挖掘,以揭示气候变化规律和趋势。方…...
Spring 原生启动过程
Spring(Spring Framework)的原生启动过程,它主要涉及 ApplicationContext 的初始化、BeanFactory 的加载、Bean 的创建与依赖注入。下面详细解析: Spring 原生启动过程 Spring 本身不依赖 SpringApplication,其核心在…...
【React】useEffect、useLayoutEffect底层机制
目录 useEffect不设置依赖设置空数组,无依赖设置多个依赖返回值是一个函数总结useEffect的使用环境useEffect 中发送请求错误示例用.then获取数据在useEffect创建一个函数 总结 useLayoutEffectuseLayoutEffect 和useEffect区别执行时机:浏览器渲染的关系…...
RTSP/Onvif视频安防监控平台EasyNVR调用接口返回匿名用户名和密码的原因排查
视频安防监控平台EasyNVR可支持设备通过RTSP/Onvif协议接入,并能对接入的视频流进行处理与多端分发,包括RTSP、RTMP、HTTP-FLV、WS-FLV、HLS、WebRTC等多种格式。平台拓展性强、支持二次开发与集成,可应用在景区、校园、水利、社区、工地等场…...
Linux-数据结构-线性表-单链表
一.链表的概念 【1】线性表的链式存储 解决顺序存储的缺点,插入和删除,动态存储问题。 【2】特点: 线性表链式存储结构的特点是一组任意的存储单位存储线性表的数据元素,存储单元可以是连续的,也可以不连续。可以被存…...
基于SpringBoot+Vue3实现的宠物领养管理平台功能一
一、前言介绍: 1.1 项目摘要 随着社会经济的发展和人们生活水平的提高,越来越多的人开始关注并参与到宠物领养中。宠物已经成为许多家庭的重要成员,人们对于宠物的关爱和照顾也日益增加。然而,传统的宠物领养流程存在诸多不便&a…...
DeepSeek进阶应用(二):结合Kimi制作PPT(双AI协作教程)
🌟引言: DeepSeek作为国产AI大模型,以强大的逻辑推理和结构化内容生成能力著称,擅长根据用户需求生成PPT大纲或Markdown文本;Kimi的PPT助手则能解析结构化内容并套用模板快速生成美观的PPT,两者结合实现“内容+设计”全流程自动化 名人说:苔花如米小,也学牡丹开。——…...
准确---快速安装nginx
1. 安装 Nginx 和 Stream 模块 首先,使用 yum 安装 Nginx 及其 Stream 模块: yum install nginx yum install nginx-mod-stream这将安装 Nginx 及其 Stream 模块,Stream 模块用于处理 TCP 和 UDP 流量,通常用于代理、负载均衡等…...
本地知识库RAG总结
目录 RAG流程: 知识库的要求: 知识抽取: 知识存储: 向量化: 知识检索: 应用客户端: RAG智能问答应用几个痛点: 如何提升召回率改进思路: 如何提升回答专业性: RAG评测: 总结: 参考…...
Trae IDE 介绍与使用教程
一、产品概述 Trae IDE 是由字节跳动推出的国内首个原生AI集成开发环境,专为中文开发者深度定制,旨在通过智能化工具降低编程门槛,提升开发效率。作为对标国外Cursor的国产替代方案,Trae不仅继承了AI驱动的代码生成与补全功能&am…...
OceanBase 用户问题精选答疑:OceanBase 版本升级解析
背景 此篇博客的源自于OceanBase社区论坛内一位名为皇甫侯的热心用户所提的建议,希望向OceanBase的用户介绍OceanBase的版本升级路径。本文以一个版本升级为示例,汇总了对用户而言比较重要的版本升级要点,期望通过这份分享,能让读…...
SpringBoot 和vue前后端配合开发网页拼图10关游戏源码技术分享
今天分享一个 前后端结合 的网页游戏 开发项目源码技术。 这也是我第一次写游戏类的程序,虽然不是特别复杂的游戏,但是是第一次写,肯定要记录一下了,哈哈。 游戏的内容 就是 我们显示中玩的那个 拼图碎片的 游戏,类似下…...
LeetCode 1005. K 次取反后最大化的数组和 java题解
https://leetcode.cn/problems/maximize-sum-of-array-after-k-negations/description/ 看着简单但是写si人的一题。 class Solution {public int largestSumAfterKNegations(int[] nums, int k) {Arrays.sort(nums);//排序int last_negative-1,first_positive-1;//最后一个负…...