机器学习知识与心得

news2024/11/18 0:14:04

目录

机器学习实践

机器学习基础理论和概念

机器学习基本方法

1.线性回归(回归算法)

训练集(Training Set)

测试集(Test Set)

交叉验证

正则化

特点

2.logistic回归(分类算法)

特点

3.决策树

ID3与C4.5算法

梯度提升

GBDT模型与xgboost

决策树总结

4.朴素贝叶斯算法(文本分类模型)

贝叶斯公式

语言模型

马尔科夫假设

特点


机器学习实践

机器学习基础理论和概念

机器学习主要是研究如何使计算机从给定数据中学习规律,并利用学习到的规律(模型)来对未知或无法观测的数据进行预测。  

机器学习基本方法

1.线性回归(回归算法)

线性回归(Linear Regression)是一种统计学上分析变量之间关系的预测模型,它试图建立一个因变量(目标变量)与一个或多个自变量(特征变量)之间的线性关系。这种关系的形式是通过拟合一个最佳直线(在只有一个自变量时)或超平面(在有多个自变量时)来建立的,使得预测值与实际观测值之间的残差平方和最小。

线性回归模型的基本形式为:
(Y = \beta_0 + \beta_1X_1 + \beta_2X_2 + \ldots + \beta_pX_p + \epsilon)
其中:

  • (Y) 是因变量(响应变量)。
  • (X_1, X_2, \ldots, X_p) 是自变量(预测变量或特征)。
  • (\beta_0, \beta_1, \ldots, \beta_p) 是回归系数,其中 (\beta_0) 是截距,(\beta_1, \ldots, \beta_p) 是斜率。
  • (\epsilon) 是误差项,表示模型未能解释的变异。

线性回归的主要目的是估计回归系数 (\beta_0, \beta_1, \ldots, \beta_p),这通常通过最小二乘法来实现,即最小化残差平方和。一旦得到了这些系数的估计值,模型就可以用来预测新的观测值的因变量值。

线性回归在数据分析、机器学习、经济学、社会科学和自然科学等领域都有广泛的应用。它可以帮助人们理解变量之间的关系,进行预测和推断,并作出基于数据的决策。然而,值得注意的是,线性回归模型假设因变量和自变量之间存在线性关系,并且误差项满足一定的条件(如正态性、独立性和同方差性)。在实际应用中,需要检验这些假设是否成立,并根据具体情况对模型进行调整或选择其他更合适的模型。

在机器学习,特别是线性回归中,我们通常将数据集分为训练集(Training Set)和测试集(Test Set)以评估模型的性能。这种划分有助于我们了解模型在未见过的数据上的表现。

训练集(Training Set)

训练集用于训练模型,即确定线性回归模型的参数(斜率和截距)。在训练过程中,模型会尝试找到最佳拟合训练数据的参数,以最小化预测误差。

测试集(Test Set)

测试集用于评估训练好的模型的性能。它包含模型在训练过程中未见过的数据。通过将模型应用于测试集,我们可以得到模型在未知数据上的预测结果,并与实际结果进行比较,从而计算模型的性能指标(如均方误差MSE、R平方值等)。

为什么要划分训练集和测试集?

  1. 防止过拟合:如果只使用整个数据集进行训练和评估,模型可能会过度拟合训练数据,导致在未见过的数据上表现不佳。通过划分训练集和测试集,我们可以确保模型在未见过的数据上进行评估,从而更准确地评估其性能。
  2. 模型选择:在多个候选模型中选择最佳模型时,我们可以使用训练集进行训练,并使用测试集的性能指标进行比较。这样可以确保我们选择的模型不仅在训练数据上表现良好,而且在未见过的数据上也具有良好的泛化能力。

如何划分?

通常,训练集和测试集的划分比例可以是70%-30%、80%-20%等,具体取决于数据集的大小和问题的复杂性。在某些情况下,还可以使用交叉验证(Cross-Validation)等技术来进一步评估模型的性能。

总之,通过合理划分训练集和测试集,我们可以更好地训练和评估线性回归模型,从而得到更准确、更可靠的预测结果。

交叉验证

交叉验证(Cross-Validation,简称CV)是一种统计学方法,主要用于评估机器学习模型的性能。它的主要目的是确保模型在新的、未见过的数据上也能表现得很好,从而避免过拟合。

在交叉验证中,数据通常被分为训练集和测试集(有时还包括验证集)。模型在训练集上进行训练,并在测试集上进行评估。通过多次评估模型的性能,交叉验证提供了对模型在未见过的数据上表现的更稳健的估计。

交叉验证有多种形式,其中较为常见的是k折交叉验证(如10折交叉验证)。在k折交叉验证中,数据集被分为k个子集。然后,轮流将k-1个子集用作训练数据,剩下的一个子集用作测试数据。这个过程重复k次,每次使用不同的子集作为测试数据。最后,对k次的结果进行平均,以得到一个对模型性能的总体估计。

通过交叉验证,我们可以得到可靠稳定的模型,特别是在数据量有限或模型选择和调整的情况下。这种方法在建模应用中,如PCR、PLS回归建模中,被广泛使用。

需要注意的是,虽然交叉验证是一种强大的工具,但它也有其局限性。例如,它可能会增加计算成本,特别是当数据集很大或模型很复杂时。因此,在实际应用中,需要根据具体情况权衡其利弊。

Precision与Accuracy(准确度)是不同的概念。Accuracy是描述每一次独立的测量之间,其平均值与已知的数据真值之间的差距,而Precision则更侧重于实验数据的一致性或再现性2。

正则化

特点

线性回归本身并不能直接用于解决分类问题。线性回归是一种基本的回归分析方法,主要用于探索自变量与因变量之间的线性关系,并预测连续型的因变量。其原理是通过拟合一条(或多条)直线(或平面)来最小化预测值和观测值之间的差异,从而得到最佳的截距和系数。

然而,通过对线性回归做出简单的变换,如逻辑斯蒂回归(logistic regression),可以用于解决二分类问题。逻辑斯蒂回归是在线性回归的基础上,通过应用一个逻辑函数(通常是sigmoid函数)将线性预测值转换为概率值,从而实现对分类问题的建模。对于多分类问题,可以通过将多分类问题分解成多个二分类问题来解决,进而应用逻辑斯蒂回归或其他多分类算法。

因此,虽然线性回归本身不直接适用于分类问题,但通过一些变换和扩展,可以间接地用于分类任务。但需要注意的是,选择适合问题特性的模型和算法至关重要,线性回归及其变换形式可能并不适用于所有类型的分类问题。在实际应用中,应根据问题的具体需求和数据的特性来选择合适的模型和方法。

2.logistic回归(分类算法)

Logistic回归,又称为逻辑斯蒂回归分析,是一种广义的线性回归分析模型。它常用于数据挖掘、疾病自动诊断、经济预测等领域。Logistic回归根据给定的自变量数据集来估计事件的发生概率,由于结果是一个概率,因此因变量的范围在0和1之间。

在实际应用中,Logistic回归经常用于研究某些因素条件下某个结果是否发生。比如,在医学领域,可以根据病人的症状来判断其是否患有某种疾病。

Logistic回归可以分为二分类和多分类,其中二分类的Logistic回归更为常用且易于解释。对于多分类问题,可以使用softmax方法进行处理。

特点

3.决策树

ID3与C4.5算法

梯度提升

GBDT模型与xgboost

CART是决策树的一种实现,它既可以用于分类问题,也可以用于回归问题。作为一种二分递归分割技术,CART算法通过递归地将数据集划分为两个子集来构建决策树,使得生成的每个非叶子结点都有两个分支,因此CART算法生成的决策树是结构简洁的二叉树。

XGBoost在Gradient Boosting框架下实现机器学习算法,提供并行树提升(也称为GBDT,GBM),可以快速准确地解决许多数据科学问题。其目标函数由梯度提升算法损失和正则化项两部分构成,损失函数中加入了正则化项以防止过拟合,并提高了模型的泛化能力。

决策树总结

4.朴素贝叶斯算法(文本分类模型)
贝叶斯公式

LSTM模型(Long Short-Term Memory,长短期记忆)是一种特殊的RNN(循环神经网络),主要是为了解决长序列训练过程中的梯度消失和梯度模型(Long Short-Term Memory,长短期记忆)是一种特殊的RNN(循环神经网络),主要是为了解决长序列训练过程中的梯度消失和梯度爆炸问题。

LSTM模型是一种强大的深度学习模型,特别适用于处理具有长期依赖关系的序列数据。

语言模型

马尔科夫假设

特点

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1708245.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【面试八股总结】索引(二):B+树数据结构、索引使用场景、索引优化、索引失效

参考资料:小林coding、阿秀 一、为什么InnoDB采用B树作为索引数据结构? B 树是一个自平衡多路搜索树,每一个节点最多可以包括 M 个子节点,M 称为 B 树的阶,所以 B 树就是一个多叉树。 B 树与 B 树的差异:…

数据分析必备:一步步教你如何用Pandas做数据分析(10)

1、Pandas 文本处理 Pandas 文本处理操作实例 在本章中,我们将使用基本的Series / Index讨论字符串操作。在随后的章节中,我们将学习如何在DataFrame上应用这些字符串函数。 Pandas提供了一组字符串函数,可以轻松地对字符串数据进行操作。最…

海信集团携纷享销客启动LTC数字化落地 推动ToB业务再升级

日前,海信集团携手连接型CRM纷享销客正式启动LTC(Leads to Cash)数字化平台实施落地项目。作为海信集团数字化的重要里程碑,该项目将通过统一规划、统一投资、统一平台、资源共享和数据赋能,构建ToB业务数字化经营管理…

System32文件夹千万不能删除,看完这篇你就知道为什么了

序言 C:\Windows\System32目录是Windows操作系统的关键部分,重要的系统文件存储在该目录中。网上的一些恶作剧者可能会告诉你删除它,但你不应该尝试去操作,如果你尝试的话,我们会告诉你会发生什么。 什么是System32文件夹 位于C:\Windows\System32的System32文件夹是所有…

【高阶数据结构】 B树 -- 详解

一、常见的搜索结构 适合做内查找: 以上结构适合用于数据量相对不是很大,能够一次性存放在内存中,进行数据查找的场景。如果数据量很大,比如有 100G 数据,无法一次放进内存中,那就只能放在磁盘上了。 如果…

【C++】数据结构:哈希桶

哈希桶(Hash Bucket)是哈希表(Hash Table)实现中的一种数据结构,用于解决哈希冲突问题。哈希表是一种非常高效的数据结构,它通过一个特定的函数(哈希函数)将输入数据(通常…

aws eks中cwagent收集性能日志的理解

参考资料 CloudWatch代理配置参考Prometheus的CloudWatch代理配置 本文旨在明确以下几个问题 eks的container insight addon包括哪些组件?分别起什么作用?eks的cwagent的指标获取具体包括那些部分?数据源是什么?eks的cwagent如…

【NumPy】全面解析NumPy的where函数:高效条件操作指南

🧑 博主简介:阿里巴巴嵌入式技术专家,深耕嵌入式人工智能领域,具备多年的嵌入式硬件产品研发管理经验。 📒 博客介绍:分享嵌入式开发领域的相关知识、经验、思考和感悟,欢迎关注。提供嵌入式方向…

5-26作业

网络聊天室 服务器&#xff1a; 1 #include <myhead.h>2 int main(int argc, const char *argv[])3 {4 if(argc!3)5 {6 printf("请输入IP和端口号\n");7 return -1;8 }9 int sfd socket(AF_INET, SOCK_DGRAM, 0);10 if(…

汇编:循环结构

16位汇编语言中的循环结构主要通过条件跳转指令&#xff08;如LOOP、JMP, JE, JNE, JG, JL, 等&#xff09;来实现&#xff0c;常见的循环类型包括for循环和while循环&#xff1b; Loop指令 LOOP指令的操作非常简单&#xff1a;它将CX寄存器的值减1&#xff0c;如果结果不为零…

代码随想录算法训练营day21|530.二叉搜索树的最小绝对值差、501.二叉搜索树中的众数、236.二叉树的最近公共祖先

二叉搜索树的最小绝对值差 递归法 首先需考虑这是一个二叉搜索树&#xff0c;在中序遍历后的结果为从小到大的一个序列&#xff0c;寻找二叉搜索树的最小绝对值差&#xff0c;只需比较一个节点与之后的差值即可。在遍历的过程中&#xff0c;我们需要一个节点保存前节点…

[Android]将私钥(.pk8)和公钥证书(.pem/.crt)合并成一个PKCS#12格式的密钥库文件

如下&#xff0c;我们有一个platform.pk8和platform.x509.pem。为了打包&#xff0c;需要将私钥&#xff08;.pk8&#xff09;和公钥证书&#xff08;可能是.pem或.crt文件&#xff09;合并成一个PKCS#12 格式的密钥库文件 1.准备你的私钥和证书文件 确保你有以下两个文件&…

【论文阅读】xLSTM: Extended Long Short-Term Memory

xLSTM: Extended Long Short-Term Memory 引用&#xff1a; Beck M, Pppel K, Spanring M, et al. xLSTM: Extended Long Short-Term Memory[J]. arXiv preprint arXiv:2405.04517, 2024. 论文链接&#xff1a; [2405.04517] xLSTM: Extended Long Short-Term Memory (arxiv.…

Nocobase快速上手 -第一个collection

本文记录Nocobase中如何创建collection&#xff0c;以及如何将collection展示到页面中&#xff0c;并且配置CRUD相应的操作. Collection 在NocoBase中&#xff0c;collection&#xff08;集合&#xff09;是用来组织和存储各种数据的容器&#xff0c;如订单、产品、用户、评论…

VMware中的虚拟机设置开启VT虚拟化

虚拟机系统关机打开虚拟机设置-----点击处理器----勾选虚拟化引擎---确定即可

【UML】-01-UML基本元素的介绍

1、UML的词汇表 &#xff08;1&#xff09;事物&#xff1b; &#xff08;2&#xff09;关系&#xff1b; &#xff08;3&#xff09;图。 事物是对模型中首要成分的抽象&#xff1b;关系把事物结合在一起&#xff1b;图聚集了相关的事物。 注&#xff1a;事物也称为元素 2…

Springboot项目——网页版本五子棋

网页五子棋&#xff1a;本项目简单实现了网页版本的五子棋对战功能&#xff0c;同时会根据用户的天梯分数来匹配&#xff0c;可供多位用户同时提供对战功能。大致可分为三个模块&#xff0c;用户模块&#xff0c;匹配模块&#xff0c;对战模块&#xff0c;下面重点介绍以下三个…

交叉熵损失函数计算过程(tensorflow)

交叉熵损失函数通常用于多类分类损失函数计算。计算公式如下&#xff1a; P为真实值&#xff0c;Q为预测值。 使用tensorflow计算 import tensorflow as tf import keras# 创建一个示例数据集 # 假设有3个样本&#xff0c;每个样本有4个特征&#xff0c;共2个类别 # 目标标签…

简爱的思维导图怎么做?从这三个角度

简爱的思维导图怎么做&#xff1f;《简爱》作为夏洛蒂勃朗特的代表作&#xff0c;不仅是一部经典的爱情小说&#xff0c;也是探索女性独立与自我成长的文学巨著。为了深入理解这部作品&#xff0c;制作思维导图是一种高效的学习和分析工具。以下是三种不同的角度来创建《简爱》…

excel数据丢失怎么办?表格文件恢复的3个方法

Excel作为一个常用的表格文件&#xff0c;我们在工作中经常都需要用到它。最令人崩溃的事就是有时候我们辛辛苦苦用Excel完成了工作&#xff0c;但是突然发现Excel数据丢失。这可怎么办呢&#xff1f;如何找回丢失的Excel数据&#xff1f;下面小编就分享几种恢复办法。 方法一&…