Spark-机器学习(1)什么是机器学习与MLlib算法库的认识

从这一系列开始,我会带着大家一起了解我们的机器学习,了解我们spark机器学习中的MLIib算法库,知道它大概的模型,熟悉并认识它。同时,本篇文章为个人spark免费专栏的系列文章,有兴趣的可以收藏关注一下,谢谢。同时,希望我的文章能帮助到每一个正在学习的你们。

Spark-大数据技术与应用icon-default.png?t=N7T8https://blog.csdn.net/qq_49513817/category_12641739.html

目录

一、什么是机器学习

机器学习 

发展历史 

 机器学习模型

监督模型

无监督模型

概率模型 

二、MLlib算法库

什么是MLlib算法库

MLlib的方法:

一、什么是机器学习

个人认为,机器学习是一个非常庞大的概念,不论是它本身的模型,运用它是产生的海量数据与决策,还是它那涵盖了众多的模型、算法和技术。并且随着技术的不断进步和应用领域的不断拓展,机器学习的影响力和重要性也将继续提升,所以,机器学习目前的热度高,未来很长时间内也不会衰减甚至更值得学习。

机器学习 

 机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。它是人工智能核心,是使计算机具有智能的根本途径。

机器学习算法通过从数据中自动分析和学习规律,使计算机能够自动获取新知识和能力。它可以处理大量的复杂数据并从中提取出有用的信息,并根据不断的经验来改善自身的性能。机器学习算法构建一个基于样本数据的数学模型,即“训练数据”,以便在没有明确编程来执行任务的情况下进行预测或决策。

发展历史 

机器学习的发展可以追溯到上世纪50年代。1952年,Arthur Samuel在IBM开发了第一个自我学习程序,这标志着机器学习的起步。此后,随着技术的发展,机器学习领域不断取得突破,包括感知机、最近邻算法、决策树、随机森林等算法的提出,以及深度学习的兴起。这些创新推动了机器学习在各个领域的应用和发展。 

有监督学习: 

聚类:

 

 概率图模型:

 深度学习: 

 

强化学习:

 机器学习模型

机器学习模型图

监督模型

工作原理:

  • 数据标注:在监督学习中,训练数据集中的每个样本都被标注了一个目标值或标签。这些标签可以是分类标签(如类别名称)或回归值(如连续的数字)。
  • 模型训练:算法使用这些带有标签的数据来训练模型。它学习如何根据输入特征预测目标值。
  • 预测与评估:一旦模型训练完成,它就可以用于对新的、未标注的数据进行预测。预测的准确性通常通过评估指标(如准确率、召回率、F1分数等)来衡量。

 在监督模型中,我们常用的算法有:

  • 线性回归:用于预测一个连续的目标值,基于输入特征与目标值之间的线性关系。
  • 逻辑回归:虽然名字中有“回归”,但实际上是一种分类算法,用于预测二分类或多分类问题。
  • 支持向量机(SVM):通过找到一个超平面来最大化不同类别之间的间隔,从而进行分类。
  • 决策树:通过一系列的问题和答案来进行预测,每个问题都基于一个输入特征。
  • 随机森林:由多个决策树组成,通过集成多个树的预测结果来提高准确性。
  • 神经网络:模拟人脑中的神经元结构,通过多层网络进行学习和预测。

广泛应用在:

  • 图像识别:识别图像中的物体或场景。
  • 自然语言处理:情感分析、文本分类、机器翻译等。
  • 金融领域:信用风险评估、股票价格预测等。
  • 医疗诊断:基于医疗图像或患者数据预测疾病。

监督学习模型是机器学习中的核心组成部分,它通过学习带有标签的数据来建立预测模型,并在各种实际应用中发挥着重要作用。

无监督模型

工作原理:

无监督学习模型通过对大量无标签数据进行迭代计算,自动地发现数据的结构和模式。这些模型通常基于数据的相似性、距离或其他度量来构建,从而将数据分组或降维。

 在无监督模型中,我们常用的算法有:

  • 聚类算法:如K-均值聚类(K-means)和层次聚类。这些算法将数据点划分为不同的组或簇,使得同一簇内的数据点尽可能相似,而不同簇之间的数据点尽可能不同。
  • 降维算法:如主成分分析(PCA)和自编码器。这些算法用于减少数据的维度,同时保留数据中的主要特征或结构。降维有助于减少计算复杂性、消除噪声并可视化高维数据。

 广泛应用在:

  • 图像处理:用于图像分割、特征提取和异常检测。
  • 社交网络分析:识别社区、用户群体和社交模式。
  • 市场分析:通过聚类分析消费者行为和市场趋势。
  • 自然语言处理:用于文本聚类和主题建模。

无监督学习模型为处理未标记数据提供了强大的工具,能够发现数据中的结构和模式,为各种实际应用提供了有力支持。 

概率模型 

工作原理:

在机器学习中,概率模型通过给定的数据来估计和计算不同事件或结果发生的概率。这通常涉及到数据的统计分析和概率推断,以确定模型参数的最优值。一旦模型建立完成,它就可以用于预测新数据的行为或结果,并根据概率分布给出相应的预测概率。

常用的算法有:

  • 朴素贝叶斯算法:这是一种基于贝叶斯定理和特征条件独立假设的分类方法。它常用于文本分类、垃圾邮件过滤等任务。朴素贝叶斯算法根据先验概率和特征条件概率来计算后验概率,从而进行分类。根据应用场景的不同,朴素贝叶斯算法可以分为GaussianNB、MultinomialNB和BernoulliNB等变种。

  • 隐马尔可夫模型(Hidden Markov Model, HMM):HMM是一种统计模型,它用来描述一个含有隐含未知参数的马尔可夫过程。HMM常被用于时序数据的建模,如语音识别、自然语言处理等。

  • 最大熵模型:最大熵原理是一种选择概率模型的原则,它认为在满足约束条件的模型集合中,选择熵最大的模型是最好的模型。最大熵模型可以用于各种分类和回归任务。

  • 概率图模型:包括一系列基于图结构的概率模型,如马尔可夫随机场、信念网络等。这些模型通过图来表示变量之间的关系,并利用图论和概率论的方法来进行推理和学习。

  • 混合高斯模型(Gaussian Mixture Model, GMM):GMM是一种概率模型,它假设所有数据都是由有限个高斯分布混合而成的。GMM常用于聚类分析和密度估计。

  • 期望最大化算法(Expectation-Maximization, EM):EM算法是一种迭代方法,常用于概率模型中的参数估计。它通过在E步(期望步)计算期望,然后在M步(最大化步)最大化这个期望,来找到参数的最优估计。

  • 变分推断(Variational Inference):这是一种在概率图模型中进行近似推断的方法。它通过优化一个易于处理的分布来近似难以处理的真实后验分布。

  • 蒙特卡洛方法:这是一种基于随机抽样的统计方法,用于估计复杂函数的积分和解决各种概率问题。在机器学习中,蒙特卡洛方法常用于模型参数的估计和复杂概率分布的计算。

二、MLlib算法库

什么是MLlib算法库

MLlib是Spark的机器学习库,旨在简化机器学习的工程实践工作,并方便扩展到更大规模的数据集。它提供了一组丰富的机器学习算法和工具,用于数据预处理、特征提取、模型训练和评估等任务。MLlib是基于Spark的分布式计算引擎构建的,可以处理大规模数据集,并利用分布式计算的优势来加速机器学习任务的执行。

MLlib提供了丰富的算法实现,包括线性回归、逻辑回归、决策树、随机森林、梯度提升树、K-means聚类等,以及用于特征提取、转换和选择的工具。此外,MLlib还支持使用管道(Pipeline)API将多个机器学习步骤组合成一个统一的流程,从而简化模型训练和调优的过程。

MLlib的方法:

方法作用使用方式
分类用于预测离散型目标变量使用MLlib的分类算法(如逻辑回归、决策树、随机森林等)训练模型,然后对新的数据进行预测。
回归用于预测连续型目标变量使用MLlib的回归算法(如线性回归、决策树回归等)训练模型,用于预测数值型结果。
聚类用于将数据划分为具有相似性的不同簇利用MLlib的聚类算法(如K-means)对数据进行分组,发现数据中的结构和模式。
协同过滤用于推荐系统中的用户或物品的相似度计算应用MLlib的协同过滤算法,根据用户的历史行为和其他用户的相似性生成推荐。
特征工程提取、转换和选择特征,提高模型性能使用MLlib的特征化工具进行特征提取、降维、转换和选择,优化特征表示。
管道(Pipeline)构建、评估和调整机器学习管道利用MLlib的管道API,将多个机器学习步骤组合成一个统一的流程,方便管理和调优。
模型持久化保存和加载模型,以便复用和部署使用MLlib的持久化功能,将训练好的模型保存到文件或数据库中,方便后续的预测和部署。

最后,MLlib是基于Spark的分布式计算引擎构建的,因此在使用MLlib时,我们需要熟悉Spark的基本概念和编程模型,如RDD(弹性分布式数据集)和DataFrame等。通过编写Spark应用程序,我们可以利用MLlib提供的算法和工具来处理大规模数据集,并进行高效的机器学习任务。

一起开始我们的spark机器学习之旅吧~ 

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

前端标记语言HTML

HTML(HyperText Markup Language)是一种用于创建网页的标准标记语言。它是构建和设计网页及应用的基础,通过定义各种元素和属性,HTML使得开发者能够组织和格式化文本、图像、链接等内容。 HTML的基本结构 文档类型声明&#xff0…

SpringBoot+FreeMaker

目录 1.FreeMarker说明2.SpringBootFreeMarker快速搭建Pom文件application.properties文件Controller文件目录结构 3.FreeMarker数据类型3.1.布尔类型3.2.数值类型3.3.字符串类型3.4.日期类型3.5.空值类型3.6.sequence类型3.7.hash类型 4.FreeMarker指令assign自定义变量指令if…

开源版中文和越南语贷款源码贷款平台下载 小额贷款系统 贷款源码运营版

后台 代理 前端均为vue源码,前端有中文和越南语 前端ui黄色大气,逻辑操作简单,注册可对接国际短信,可不对接 用户注册进去填写资料,后台审批,审批状态可自定义修改文字显示 源码免费下载地址抄笔记 (chaob…

详解构造函数

前言 希望这篇文章是有意义的,能够帮助初学者理清构造函数的概念,关系及误区。首先定义一个日期类,借助日期类讲解构造函数。 class Date {public:void Init(int year, int month, int day) //初始化数据的方法{_year year;_month month…

CDP7 下载安装 Flink Percel 包

下载链接:https://www.cloudera.com/downloads/cdf/csa-trial.html 点击后选择版本, 然后点击download now,会有一个协议,勾选即可,然后就有三个文件列表, 我这里是已经注册登录的状态,如果没…

64B/66B GT Transceiver 配置

一、前言 前一篇文章已经讲述了64B/66B的编码原理,此篇文章来配置一下7系列GT的64B/66B编码。并讲述所对应的例子工程的架构,以及部分代码的含义。 二、IP核配置 1、打开7 Series FPGAs Transceiver Wizards,选择将共享逻辑放置在example …

【面试题】s += 1 和 s = s + 1的区别

文章目录 1.问题2.发现过程3.解析 1.问题 以下两个程序真的完全等同吗? short s 0; s 1; short s 0; s s 1; 2.发现过程 初看s 1 和 s s 1好像是等价的,没有什么区别。很长一段时间内我也是这么觉得,因为当时学习c语言的时候教科书…

【数据挖掘】实验6:初级绘图

实验6:初级绘图 一:实验目的与要求 1:了解R语言中各种图形元素的添加方法,并能够灵活应用这些元素。 2:了解R语言中的各种图形函数,掌握常见图形的绘制方法。 二:实验内容 【直方图】 Eg.1&…

【linux深入剖析】深入理解软硬链接 | 动静态库的制作以及使用

🍁你好,我是 RO-BERRY 📗 致力于C、C、数据结构、TCP/IP、数据库等等一系列知识 🎄感谢你的陪伴与支持 ,故事既有了开头,就要画上一个完美的句号,让我们一起加油 目录 1.理解软硬链接1.1 操作观…

pyqt和opencv结合01:读取图像、显示

在这里插入图片描述 1 、opencv读取图像用于pyqt显示 # image cv2.imread(file_path)image cv2.cvtColor(image, cv2.COLOR_BGR2RGB)# 将图像转换为 Qt 可接受的格式height, width, channel image.shapebytes_per_line 3 * widthq_image QImage(image.data, width, hei…

vue3 uniapp微信登录

根据最新的微信小程序官方的规定,uniapp中的uni.getUserInfo方法不再返回用户头像和昵称、以及手机号 首先,需获取appID,appSecret,如下图 先调用uni.getUserInfo方法获取code,然后调用后台的api,传入code&…

ssm049基于Vue.js的在线购物系统的设计与实现+vue

在线购物系统 摘 要 随着科学技术的飞速发展,各行各业都在努力与现代先进技术接轨,通过科技手段提高自身的优势;对于在线购物系统当然也不能排除在外,随着网络技术的不断成熟,带动了在线购物系统,它彻底改…

【氮化镓】GaN HEMTs结温和热阻测试方法

文章《Temperature rise detection in GaN high-electron-mobility transistors via gate-drain Schottky junction forward-conduction voltages》,由Xiujuan Huang, Chunsheng Guo, Qian Wen, Shiwei Feng, 和 Yamin Zhang撰写,发表在《Microelectroni…

Linux调试器之gdb

前言 我们前面介绍了几个基本的环境开发工具。例如通过yum我们可以安装和卸载软件、通过vim我们可以写代码、通过gcc和g我们可以编译代码成可执行程序。但是如何在Linux下调试代码呢?我们并未介绍,本期我们将来介绍最后一个工具 --- 调试器gdb。 本期内…

Tomcat服务器入门介及用postman工具简单接收数据 2024详解

Tomcat服务器 简介 Tomcat是一个开源的Servlet容器,也是一个支持Java Servlet和JSP技术的Web服务器。它由Apache软件基金会开发和维护。Tomcat的主要作用是将Java Servlet和JavaServer Pages(JSP)等动态网页技术部署到服务器上,…

基于Python豆瓣电影数据可视化分析系统的设计与实现

大数据可视化项目——基于Python豆瓣电影数据可视化分析系统的设计与实现 2024最新项目 项目介绍 本项目旨在通过对豆瓣电影数据进行综合分析与可视化展示,构建一个基于Python的大数据可视化系统。通过数据爬取收集、清洗、分析豆瓣电影数据,我们提供了…

13.多通道视频流缓存以及显示架构

1 简介 多通道视频流缓存以及显示架构是一个在数字图像处理中很基础也很重要的一个架构。在图像拼接以及高分辨率图像显示方面应用范围较为广泛。本文将介绍一个四通道的图像显示。可以四个图像信息输入以及拼接到一个显示屏里面。使用的开发板为A7 2 框架图 架构图如下图所示…

4/11 QT_day5

服务器端 头文件 #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QTcpServer> #include <QMessageBox> #include <QTcpSocket> #include <QList> QT_BEGIN_NAMESPACE namespace Ui { class Widget; } QT_END_NAMESPACEclass …

专题十三、预处理器

预处理器 1. 预处理器的工作原理2. 预处理指令3. 宏定义3.1 简单的宏3.2 带参数的宏3.3 # 运算符3.4 ## 运算符3.5 宏的通用属性3.6 宏定义中的圆括号3.7 创建较长的宏3.8 预定义宏3.9 C99 中新增的预定义宏3.10 空的宏参数3.11 参数个数可变的宏3.12 __func__ 标识符 4. 条件编…

SAP SD学习笔记06 - 受注的据否,受注的理由,简易变更(一括处理)

上文讲了一括处理和Block&#xff08;冻结&#xff09;处理。 SAP SD学习笔记05 - SD中的一括处理&#xff08;集中处理&#xff09;&#xff0c;出荷和请求的冻结&#xff08;替代实现承认功能&#xff09;-CSDN博客 本章继续讲SAP的流程中一些常用的操作。 1&#xff0c;受注…