一文搞懂机器学习!2024.6月最新!(附代码实现)

news2024/9/21 0:27:12

前言

机器学习入门精品文章

随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文介绍机器学习的基础内容。


机器学习是人工智能的一个分支,它使计算机系统能够从数据中学习并做出决策或预测,而无需明确编程。它涉及使用算法和统计模型来分析和解释数据,从而发现模式和关系。这些模式随后可以用于预测新数据的结果或分类数据。
机器学习的关键技术包括监督学习、无监督学习、半监督学习和强化学习。监督学习通过标记的训练数据来训练模型,使其能够预测或分类新的输入数据。无监督学习则在没有标签的数据上工作,试图发现数据中的结构。半监督学习是两者的结合,使用少量标记数据和大量未标记数据。强化学习则通过奖励和惩罚来训练模型,使其在环境中做出最优决策。机器学习在多个领域都有应用,包括图像识别、自然语言处理、医疗诊断、股票市场分析等。
在这里插入图片描述

机器学习的经典算法包括:

1.线性回归 Linear Regression
2.逻辑回归Logistic Regression
3.决策树Decision Tree
4.随机森林Random Forest
5.支持向量机Support Vector Machine,SVM
6.朴素贝叶斯算法Naive Bayes
7.聚类Clustering
8.K最近邻K-Nearest Neighbors, KNN
9.强化学习Reinforcement Learning

10.深度学习Deep Learning

文章目录
  • 前言
    • 随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文介绍机器学习的基础内容。
  • 一、线性回归
  • 二、逻辑回归
  • 三、决策树
  • 四、随机森林算法
  • 五、支持向量机SVM
  • 六、朴素贝叶斯
  • 七、聚类
  • 八、K最近邻算法

一、线性回归

线性回归(Linear Regression)简单来说,就是找到一条直线(超平面),这条直线(超平面)尽可能好地拟合给定的数据点。二维空间如图所示。

在这里插入图片描述

线性回归(Linear Regression)是机器学习十大算法中的一种,用于预测连续数值型的输出。它试图找到特征变量(输入)和目标变量(输出)之间的线性关系。线性回归主要有两种形式:简单线性回归和多元线性回归。

简单线性回归(Simple Linear Regression)
简单线性回归涉及一个自变量(解释变量)和一个因变量(响应变量),试图找到它们之间的线性关系。
多元线性回归(Multiple Linear Regression)
多元线性回归涉及两个或更多自变量,试图找到它们与因变量之间的线性关系。

线性回归优点是简单易懂,计算效率高。可以提供连续的输出值,适合预测问题。也可以容易地解释模型参数。缺点是对非线性关系拟合能力有限。对异常值敏感,可能会影响模型性能,需要特征和目标变量之间存在线性关系。
线性回归模型是许多领域中常用的预测工具,如金融、经济、生物统计等。尽管它是一个基础模型,但理解线性回归对于深入学习更复杂的机器学习算法非常重要。

代码链接:https://blog.csdn.net/qq_45591302/article/details/138770944

二、逻辑回归

逻辑回归(Logistic Regression)也称线性判别回归(Linear Discriminant Analysis Regression, LDA),是一种用于二分类问题的统计方法,简单来说就是通过一条直线(三维中是超平面)将两个不同的类分开,如图所示:
在这里插入图片描述

它通过使用Sigmoid函数将线性回归的输出映射到0和1之间,从而预测事件发生的概率。模型参数通常通过最大似然估计来确定,使用二元交叉熵损失作为损失函数,并通过优化算法如梯度下降来求解。逻辑回归可以应用正则化技术来防止过拟合,并通过多种评估指标来衡量模型性能。此外,它还可以扩展到多分类问题,广泛应用于医疗、金融、文本分类等领域。

代码链接:https://blog.csdn.net/qq_45591302/article/details/139550446

三、决策树

决策树(Decision Trees)是一种监督学习算法,用于分类和回归任务。

决策树通过构建树状结构来表示决策规则,其中每个内部节点表示一个属性或特征,每个分支表示该属性可能的取值,每个叶节点表示一个类别或一个数值。

它的优点包括易于理解和解释,能够处理数值和类别特征,并且不需要太多的数据预处理。然而,缺点是决策树容易过拟合,因此可能需要剪枝等技术来提高模型的泛化能力。

在这里插入图片描述

决策树的构建过程通常从根节点开始,根据给定的数据集和属性集,选择一个最优的属性作为根节点。然后,根据该属性的不同取值将数据集分割成不同的子集,并递归地构建子树。这个过程会不断地重复,直到满足某个终止条件,例如达到预定的树深度、所有样本都属于同一类别或子集的纯度达到一定的阈值。

在决策树的构建过程中,有多种算法可以用于选择最优的属性,例如信息增益和基尼系数。信息增益是通过计算属性对数据集的纯度改善程度来选择最优的属性,而基尼系数是通过计算属性对数据集进行划分后的不纯度来选择最优的属性。

决策树构建完成后,可以使用该树对新的样本进行分类或回归预测。对于分类问题,通过从根节点开始,按照属性的取值依次遍历树,最终到达一个叶节点,该叶节点所表示的类别即为该样本的预测类别。对于回归问题,类似地,根据树的结构和样本的属性值,可以找到对应的预测数值。

代码链接:https://blog.csdn.net/qq_45591302/article/details/139550537

四、随机森林算法

随机森林算法是一种集成学习方法,通过构建多个决策树模型来进行分类或回归任务。随机森林算法的基本思想是将多个决策树模型集成在一起,通过投票或平均的方式进行预测。具体步骤如下:

  1. 随机选择训练数据集中的部分样本进行有放回抽样,构建一个决策树模型。这样可以保证每个决策树的训练数据不完全相同,增加模型的多样性。

  2. 在每个节点上,随机选择一部分特征进行划分。这样可以保证每个决策树的划分规则不完全相同,增加模型的多样性。

  3. 重复步骤1和步骤2,构建多个决策树模型。

  4. 针对分类任务,使用投票的方式进行预测,即每个决策树对于一个样本都进行预测,最后选择预测结果最多的类别作为最终的预测结果。针对回归任务,使用平均的方式进行预测,即每个决策树都对一个样本进行预测,最后选择预测结果的平均值作为最终的预测结果。

单决策树与随机森林示例图:
在这里插入图片描述

随机森林预测的示例:现在要对浣熊进行预测,使用随机森林算法,其中每个决策树都对浣熊进行一次预测,多数决策树认为是浣熊,则最终预测结果为浣熊。
在这里插入图片描述

随机森林算法具有以下优点:

  1. 随机森林算法可以处理高维数据,且对于特征的缺失和异常值不敏感。

  2. 随机森林算法可以通过特征的重要性评估,提供有关特征的重要信息,用于特征选择。

  3. 随机森林算法可以有效地处理大型数据集,具有较高的计算效率。

  4. 随机森林算法能够自动处理非线性关系和交互效应,具有较强的建模能力。

总之,随机森林算法是一种强大的集成学习方法,能够有效地进行分类和回归任务,并具有良好的鲁棒性和泛化能力。

代码链接:https://blog.csdn.net/qq_45591302/article/details/139634463

五、支持向量机SVM

支持向量机(Support Vector Machines, SVM)试图在特征空间中找到最优的分割平面(或线)来分开两类样本,适用于分类和回归问题。
在这里插入图片描述

在这里插入图片描述

SVM是一种强大的分类算法,通过在数据点之间寻找最大间隔的决策边界来区分不同的类别。它使用支持向量,即距离边界最近的点,来确定这个边界。SVM通过核技巧处理非线性问题,将数据映射到高维空间以找到线性分隔面。常见的核函数包括线性核、多项式核和径向基函数核。SVM的训练是一个凸优化问题,旨在最大化间隔同时最小化误差。它对异常值和噪声具有鲁棒性,因为只有支持向量影响最终的决策边界。

六、朴素贝叶斯

1、简介
朴素贝叶斯是一种基于贝叶斯定理的分类算法,它假设特征之间相互独立,即给定目标值时,一个特征出现的概率不影响其他特征的出现概率。这种算法通过计算每个类别的后验概率来预测新数据点的类别。具体来说,朴素贝叶斯首先计算每个类别的先验概率,然后对每个类别,计算给定特征值的条件概率,并将这些概率相乘。最后,选择具有最高后验概率的类别作为预测结果。朴素贝叶斯算法简单、易于实现,且在处理大量特征的数据集时表现良好,尤其适用于文本分类等任务。
​​在这里插入图片描述

朴素贝叶斯分类器的基本步骤如下:

数据预处理:对输入数据进行清洗、转换和归一化等操作。

特征选择:选择与分类目标相关的特征。

计算先验概率:统计训练集中各个类别出现的概率。

计算条件概率:对于每个特征,计算在给定类别的条件下该特征的概率。

应用贝叶斯定理:通过乘积法则计算给定特征的条件下各类别的概率。

分类决策:选择概率最大的类别作为分类结果。


2、贝叶斯定理

要想学习朴素贝叶斯分类器,要先搞懂贝叶斯定理,贝叶斯定理是概率论中一个重要的定理,用于根据已知的条件概率来计算逆条件概率。

贝叶斯定理可以用以下公式表示:
在这里插入图片描述

其中,P(A|B)表示事件A在事件B发生的条件下发生的概率,P(B|A)表示事件B在事件A发生的条件下发生的概率,P(A)和P(B)分别表示事件A和事件B发生的概率。

贝叶斯定理的应用范围非常广泛,包括机器学习、数据分析、模式识别等领域。它可以用于根据已知的先验概率和观测数据来更新概率的估计。

贝叶斯定理的核心思想是通过先验概率和观测数据的关系,来计算后验概率。先验概率是在没有观测数据的情况下对事件发生概率的估计,而后验概率是在观测到数据之后对事件发生概率的修正。

贝叶斯定理的应用可以帮助我们在面对不完全信息和不确定性的情况下,通过观测数据来更新和修正我们的概率估计,从而做出更准确的推断和决策。

七、聚类

聚类(Clustering)是一种无监督学习的方法,用于将数据集中的数据点分组成N个簇。其目标是使每个聚类内部的样本之间的相似度最大化,而不同聚类之间的相似度最小化。

图中每一块不同颜色的区局称为”簇“。
在这里插入图片描述

在这里插入图片描述

聚类的优点是可以自动发现数据中的潜在结构,并且不需要事先标记的训练样本。它可以应用于各种领域,如生物学、社交网络分析、市场细分等。然而,简介聚类也存在一些挑战,如对初始聚类中心的选择比较敏感,以及对数据的维度较为敏感等。因此,在实际应用中,需要根据具体问题选择合适的聚类算法和参数设置。

聚类的过程通常包括以下步骤:

  1. 选择合适的相似度度量方法,如欧氏距离或余弦相似度等。这些度量方法用于计算样本之间的相似性。
  2. 初始化一些聚类中心,可以是随机选择的样本或者根据先验知识确定的初始值。
  3. 将每个样本分配给最近的聚类中心,形成初始的聚类。
  4. 根据当前的聚类分配,更新聚类中心的位置,通常采用均值或者中位数等方法。
  5. 重复步骤3和4,直到聚类中心的位置不再发生变化或达到预定的迭代次数。

八、K最近邻算法

K最近邻算法(k-Nearest Neighbors,简称KNN)是一种常见的分类和回归算法。简单来说,通过查找测试数据点的K个最近邻居来进行分类或回归。它基于一个简单的假设:如果一个样本在特征空间中的K个最近邻中的大多数属于某个类别,则该样本也属于该类别。
在这里插入图片描述

在这里插入图片描述

KNN算法的关键是选择合适的K值和距离度量方法。K值的选择需要根据具体问题和数据集的特点进行调整。常用的距离度量方法包括欧氏距离、曼哈顿距离和闵可夫斯基距离。

KNN算法的优点是简单易实现,适用于多分类和回归问题。
但它的缺点是计算复杂度高,需要存储全部训练样本,对于大规模数据集计算开销较大。此外,KNN对于类别不平衡和噪声数据比较敏感,需要进行数据预处理和特征选择。KNN算法在实际应用中广泛使用,特别是在模式识别、图像处理和推荐系统等领域。

KNN算法的实现步骤如下:

  1. 计算测试样本与每个训练样本之间的距离。
  2. 根据距离将训练样本排序。
  3. 选取距离最近的K个训练样本。
  4. 统计这K个训练样本中每个类别的出现次数。
  5. 将测试样本分类为出现次数最多的类别。

持续更新中。。。

读者福利:如果大家对大模型感兴趣,这套大模型学习资料一定对你有用

对于0基础小白入门:

如果你是零基础小白,想快速入门大模型是可以考虑的。

一方面是学习时间相对较短,学习内容更全面更集中。
二方面是可以根据这些资料规划好学习计划和方向。

包括:大模型学习线路汇总、学习阶段,大模型实战案例,大模型学习视频,人工智能、机器学习、大模型书籍PDF。带你从零基础系统性的学好大模型!

😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓
在这里插入图片描述

👉AI大模型学习路线汇总👈

大模型学习路线图,整体分为7个大的阶段:(全套教程文末领取哈)

第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;

第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;

第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;

第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;

第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;

第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;

第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。

👉大模型实战案例👈

光学理论是没用的,要学会跟着一起做,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

在这里插入图片描述

👉大模型视频和PDF合集👈

观看零基础学习书籍和视频,看书籍和视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
在这里插入图片描述
在这里插入图片描述

👉学会后的收获:👈

• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;

• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;

• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;

• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。

👉获取方式:

😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓
在这里插入图片描述

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

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

相关文章

Jangow-1.0.1靶机漏洞复现(未完成)

首先,这个靶机只能使用VirtualBox打开,靶机下载地址为 https://download.vulnhub.com/jangow/jangow-01-1.0.1.ova 虚拟机软件下载地址为 Download_Old_Builds – Oracle VM VirtualBox 开启靶机后访问ip进入如下页面,点击site进入到一个…

【C++】哈希容器

unordered系列关联式容器 在之前的博文中介绍过关联式容器中的map与set,同map与set一样,unordered_set与unordered_set也是关联式容器。 在C98中,STL提供了底层为红黑树结构的一系列关联式容器,查询效率可以达到logN;在…

详解HTTP代理与SOCKS代理之间的差异

代理服务器在网络安全和隐私保护方面,发挥着十分重要的作用。其中,HTTP代理和SOCKS代理是两种常见的代理方式,它们在原理、功能和应用场景上有着明显的差异。本文将为大家深入分析这两种代理之间的区别,帮助大家更好地选择适合自己…

Linux中如何添加磁盘分区

在Linux中添加分区通常涉及到几个步骤,包括识别磁盘、创建分区、格式化分区,以及挂载或将其用作特定的文件系统类型(如LVM、RAID等)。以下是一个基本的步骤指南,假设你正在使用命令行界面(CLI)和…

《技术人求职之道》之简历优化篇(下):技能与项目亮点,如何让你的简历熠熠生辉

摘要 本文将深入探讨技术求职者在撰写简历时的关键要素,包括专业技能的表达和项目经验的描述。文章首先提出专业技能描述的六条基本原则,包括统一技术词汇、标点符号一致性、技术关键字的驼峰命名法、技术分类、技术热度和掌握度排序以及慎用“精通”。接着,指导读者如何美…

FFmpeg Windows安装教程

一. 下载ffmpeg 进入Download FFmpeg网址,点击下载windows版ffmpeg。 下载第一个essentials版本就行。 二. 环境配置 上面源码解压后如下 将bin添加到系统环境变量 验证安装是否成功,输入ffmpeg –version,显示版本即为安装成功。

必应Bing国内广告开户、投放流程和避坑攻略!

必应Bing作为微软旗下的搜索引擎,不仅在全球范围内拥有庞大的用户群体,在中国也有着稳定的市场份额。为了让企业更好地利用必应Bing在国内的广告资源,云衔科技提供了全面的广告开户及代运营服务,帮助企业轻松驾驭数字化营销之路。…

c语言指针3

文章目录 前言一、数组名的理解1.数组名正常情况是首元素的地址2.数组名不是首元素地址的情况2. 1 sizeof(arr)中的数组名2. 2 &arr中的arr代表整个数组 3. 结论 二、使用指针访问数组1.使用指针输入输出数组中的数 三、一维数组传参的本质四、冒泡排序五、二级指针5.1 二级…

betterZip免费版怎么下载 如何安装下载和激活BetterZip教程 BetterZip注册码密钥

BetterZip是一款功能齐全且对用户友好的Mac系统解压缩工具,它具备压缩文件及文件夹,解压压缩包,在线预览和编辑压缩包内文件等一系列功能。此外,BetterZip还有简洁的界面和操作,可以通过拖拽或右键菜单来压缩或解压文件…

深度体验AI计算平台:超算互联网模型服务与加速卡

目录 前言 AI算力性能体验 1、注册/登录 2、购买服务 3、运行的过程记录 4、运行效果 5、运行结果反馈 6、体验总结 番外篇:主流推荐 1、算法模型推荐 2、开源项目推荐 3、数据集推荐 结束语 前言 在人工智能的浪潮中,AI计算平台已成为研究…

系统移植(十一)根文件系统(未整理)

文章目录 一、根文件系统中各个目录文件功能解析:二、对busybox进行配置和编译(一)执行make help命令获取make的帮助信息(二)对busybox源码进行配置,配置交叉编译器(三)执行make men…

kill 命令详解

kill命令其实比较让人难以理解的点在于信号这块,开发中kill -9经常用,但却很少去深入了解其他信号参数的具体作用,本文主要是就信号这块做一个解释。 实验代码 public static void main(String[] args) {Runtime.getRuntime().addShutdownHoo…

文件系统 --- 文件结构体,文件fd以及文件描述符表

序言 在编程的世界里,文件操作是不可或缺的一部分。无论是数据的持久化存储、日志记录,还是简单的文本编辑,文件都扮演着至关重要的角色。然而,当我们通过编程语言如 C、Java 等轻松地进行文件读写时,背后隐藏的复杂机…

C#面向对象补全计划 之 画UML类图(持续更新)

本文仅作学习笔记与交流,不作任何商业用途,作者能力有限,如有不足还请斧正 本系列旨在通过补全学习之后,给出任意类图都能实现并做到逻辑上严丝合缝 学会这套规则,并看完面向对象补全计划文章之后,可以尝试…

Ubuntu20.04安装Angular CLI

一、更换apt-get源 使用原来的apt-get源有几个包报错,下不下来 更换阿里源(阿里巴巴开源镜像站-OPSX镜像站-阿里云开发者社区),使用网站中的内容,在 apt-get update 时总是报错 改用清华源: deb http:/…

多种方式防止表单重复提交

1.前端方案: 通过js将按钮绑定一个方法,点击后3s内将按钮设置成不可用,或者隐藏。 缺点:绕过前端,例如通过postman发请求。 2.hashmap版: 请求携带一个参数,将请求携带的参数(可…

牛客JS题(十四)类继承

注释很详细&#xff0c;直接上代码 涉及知识点&#xff1a; 类的基本使用构造函数实现类原型链的使用 题干&#xff1a; 我的答案 <!DOCTYPE html> <html><head><meta charset"utf-8" /></head><body><script type"tex…

这两个大龄程序员,打算搞垮一个世界软件巨头!

大家都知道&#xff0c;Adobe是多媒体和数字内容创作者的绝对王者&#xff0c;它的旗下有众多大家耳熟能详的软件&#xff1a;Photoshop、Illustrator、Premiere Pro、After Effects、InDegign、Acrobat、Animate等等。 这些软件使用门槛很高&#xff0c;价格昂贵&#xff0c;安…

安装 Terraform for Tencent 使用

第一步 &#xff1a;下载安装包 前往 Terraform 官网&#xff0c;使用命令行直接安装 Terraform 或下载二进制安装文件。 解压并配置全局路径 Linux/MAC&#xff1a;export PATH$PATH:${可执行文件所在目录} 例如&#xff1a;export PATH$PATH:$/usr/bin/terraform Win…