数据挖掘与机器学习 1. 绪论

于高山之巅,方见大河奔涌;于群峰之上,便觉长风浩荡

                                                                      —— 24.3.24

一、数据挖掘和机器学习的定义

1.数据挖掘的狭义定义

背景:大数据时代——知识贫乏

数据挖掘的狭义定义:

数据挖掘就是从大量的、不完全的、有噪声的、模糊的、随机的实际应用数据中,提取隐含在其中的、人们事先不知道的、但是又潜在有用的信息或知识的过程

数据源必须是真实的、大量的、含噪声的

发现的是用户感兴趣的知识

发现的知识要可接受、可理解、可运用

并不要求发现放之四海而皆准地知识,仅支持特定的发现问题即可

从知识发现过程来看:可以把数据挖掘视为知识发现过程中的一个基本步骤,也就是数据分析环节

2.⭐Fayyad数据挖掘过程主要包含七个阶段:

①数据清理

②数据集成

③数据选择

④数据变换

⑤数据挖掘

⑥模式评估

⑦知识表示

3.数据挖掘和机器学习的定义

数据挖掘是一种深层次地数据分析方法,需要对涉及到地海量数据进行管理与分析

数据库领域的研究为数据挖掘提供数据管理技术对于利用计算机对历史数据的分析,就是误码通常所说的机器学习

机器学习的定义:

机器学习是利用经验来改善计算机系统自身的性能,机器学习需要:

①通过数据分析建立模型

②利用算法对模型进行优化

③使计算机不断模拟人的学习行为来获取新的知识和技能,不断改善性能从而实现自我完善

机器学习方法构成地三元素

①模型        ②策略        ③算法

可简单表示为:机器学习 = 模型+策略 + 算法

模型是从数据中抽象用来描述客观世界的数学模型

机器学习的根本目的是构建一个模型来描述历史的数据规律,通过这个模型对未来进行预测

策略是选择模型的标准

假设空间往往包括多个模型,策略来确定哪一个模型是最好的

算法是指学习模型的具体计算方法,即在确定寻找最优模型的策略后,机器学习的问题归结于最优化问题,其优化算法是指求解模型参数最优解的算法

4.数据挖掘和机器学习、数据库的关系:

利用数据库提供的技术来管理海量数据,利用机器学习方法来分析挖掘数据背后的知识

数据挖掘注重运用算法或其他某种模式解决实际问题,偏实践和应用

机器学习注重相关机器学习算法的理论研究和算法优化,为数据挖掘提供了理论方法,偏理论和学术

数据挖掘技术是机器学习技术的一个实际应用

广义上来看,同属于知识发现的范畴,只是侧重点不同

相关术语:

①人工智能AI是一个大的领域概念

②机器学习是人工智能的一个重要领域

③统计学主要是利用机器学习来对数据挖掘产生影响

④机器学习和数据库是数据挖掘两大支撑技术

⑤模式识别是机器学习的一个工程应用

⑥机器学习可以从数据中实现系统的构建,而模式识别是对数据中模式和规律性的识别

⑦神经网络是机器学习中一个重要的方法,深度学习就是多层次的神经网络,是神经网络的高级阶段

5.习题

1.

2.

3.

4.

5.

6.

二、机器学习过程及其发展历程

1.机器学习基本过程

①第一步 数据集准备:机器学习是数据贪婪的,数据采集是最基础、最重要的一步,从不同的数据源收集数据,数据集是构建机器学习模型的起点。

②第二步 数据预处理:数据预处理是指对数据进行清洗、归约转换等。通过对数据进行各种检查和校正以纠正缺失值、异常、标准化等问题。通过预处理将数据结构化以便满足模型训练的需要。第一和第二步属于机器学习初级阶段
③第三步模型选择:根据具体任务特定问题的要求,选择合适的模型,根据机器学习模型对于训练数据处理方式的不同,机器学习算法可以大致可分为:监督学习无监督学习强化学习等。

④第四步模型训练:机器学习过程的核心是模型训练通过训练历史经验数据,对选择的模型的参数进行不断优化,最小化模型预测带来的误差。

第三和第四部属于机器学习中级阶段。

⑤第五步模型评估优化:在训练好模型之后,利用在数据预处理中准备好的测试数据集对模型进行测试。对模型评估结束后,还可以通过调参对训练过程进行优化。

⑥第六步应用预测:使用完全训练好的模型在新数据上做预测,这是机器学习过程的最后一步,在此阶段默认该模型已准备就绪,可以用于实际应用。

第五和第六步属于机器学习高级阶段,实现智能的目标。

2.机器学习的发展历程

数据挖掘与机器学习的本质是一样的

区别:

①数据挖掘更接近于数据端

②机器学习更接近于智能端

人工智能发展的三个时期:

3.习题

1.

2.

3.

4.

5.

6.

三、机器学习算法及数据隐私权

1.机器学习算法分类

我们通过系统的反馈方法的不同,将机器学习算法分为:无监督学习、有监督学习、强化学习

数据集的相关定义:

训练集、验证集、测试集

①训练集

训练集也称为样本数据集,是用于训练构造模型的数据集,通过设置模型参数、训练模型、建立机器学习模型

训练集由数据对象组成,每个对象所属类别已知,在构造模型时,需要输入一定数量的训练集,选取的训练集是否合适直接影响到分类器性能的好坏

②验证集

训练集训练出的多个模型对验证集数据进行预测,并记录模型准确率,从而选出效果最佳的模型所对应的参数,也就是说验证集用来调整模型参数。当模型无需人为设定超参数,所有参数都通过学习得到时就不需要验证集

③测试集

用于测试基于训练集构造的模型的性能。在模型产生后,由模型判定测试集对象的所属类别与测试集已知的所属类别进行比较,得出分类器的正确率等一系列评价性能指标。

⭐2.机器学习的三类方法

①无监督学习:

        无监督学习也叫无导师学习,实际应用中,在无法预先知道样本标签的情况下,训练数据类别未知,需要根据样本间的相似性对样本集进行划分,使类内的距离最小化类间的距离最大化。无监督学习常见包括聚类、降维关联规则等。

聚类是基于样本间的相似性来对样本进行划分,常见的聚类算法有:

关联规则是一种典型的购物栏分析,基于统计物品同时出现的现象,分析物品间的关联性

降维是因为我们采集的数据往往存在很多字段,但是有一些字段对机器学习的意义很小或没有贡献,参与计算会产生不利影响,我们应该根据实际情况,把数据进行降维,减少参与学习过程的数据,使得计算过程更加轻便,降维是通过空间变换方法,在保持原有数据结构关系之上,将原来高维空间数据投影到低维空间中。

②有监督学习

(2)有监督学习:
        有监督学习是从给定的训练数据集中学习出一个函数,这个函数也叫学习机分类器,当新的数据到来时,可以根据这个函数预测结果。监督学习的训练集要求包括输入和输出,也可以说是特征和目标,训练集中的目标是提前标注好的

2)有监督学习:
        分类(classification):输出的是离散型变量,是一种定性输出。例如预测明天天气是阴天、晴天还是下雨天。

        回归(regression )输出的是连续型变量,是一种定量输出。例如预测明天的气温是多少度。

③强化学习
        强化学习又称评价学习或增强学习,用于描述和解决智能体在与环境的交互过程中,通过学习策略以达成回报最大化或实现特定目标的问题。

        强化学习主要研究智能体如何在环境中在给与的奖励或惩罚的刺激下,逐渐形成对刺激的预期,产生能获得最大利益的习惯性行为。

        作为一个序列决策问题,主要是指导训练对象每一步如何决策,采用什么样的行动可以完成特定的目的或使收益最大化

3.数据隐私权

1.个人数据隐私权:
       
 个人对以数据形式收集和存储在信息系统中的有关自己的资料加以控制和保护的权利。
从机器学习的角度来看,隐私数据的利用既可能带来成功,也可能带来威胁。滥用隐私数据不仅破坏企业在客户心目中的良好形象也会将机器学习推入灰暗的前景中,阻碍机器学习这一新兴技术的采纳、应用和推广。

2.数据分析者可能从以下及格方面侵犯公民的个人数据隐私权:

①过度采集个人数据

②数据使用者超常使用个人数据

③数据使用者不当或错误分析个人数据

④数据使用者非法公开个人数据

3.保护隐私权的对策
(1)加强法律法规的建设和监督执行

(2)提高保护隐私的技术手段

(3)提高用户的隐私数据自我保护意识

4.数据隐私权的保护法规

5.隐私权问题和大数据发展的关系

数据隐私权问题是数据分析中一个十分重要的问题,它的解决程度直接决定着大数据技术的未来发展,数据隐私权问题是大数据时代最大的阴影

习题

1.

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

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

相关文章

CI/CD实战-jenkins结合docker 5

实验准备: 在docker主机要下载git工具 禁掉key的校验 确保在立即构建项目时不会出现任何报错: 自动化构建docker镜像 在server3上安装docker-ce 修改内核参数 拷贝证书 添加默认仓库 添加harbor仓库的解析 测试拉取 登录harbor私有仓库 在jenkins安装d…

微服务day06 -- Elasticsearch的数据搜索功能。分别使用DSL和RestClient实现搜索

1.DSL查询文档 elasticsearch的查询依然是基于JSON风格的DSL来实现的。 1.1.DSL查询分类 Elasticsearch提供了基于JSON的DSL(Domain Specific Language)来定义查询。常见的查询类型包括: 查询所有:查询出所有数据,一…

linux用户管理1

linux系统可以多用户同时登录,在各自权限下做各自的事情 useradd添加普通用户,之后使用suusername切换用户 所有用户中,root用户权限最大,对应uid,gid均为0,uid为用户编号,gid为用户所在组编号…

AcWing 4609:火柴棍数字 ← 贪心算法

【题目来源】 https://www.acwing.com/problem/content/4612/【题目描述】 给定 n 个火柴棍,你可以用它们摆出数字 0∼9。 摆出每个数字所需要的具体火柴棍数量如下图所示: 请你用这些火柴棍摆成若干个数字,并把这些数字排成一排组成一个整数…

【数据结构和算法初阶(C语言)】二叉树的链式结构--前、中、后序遍历实现详解,节点数目计算及oj题目详解---二叉树学习日记③

目录 ​编辑 1.二叉树的链式存储 2.二叉树链式结构的实现 2.1树的创建 2.2二叉树的再理解 3.链式结构二叉树的遍历 3.1前序遍历实现: ​编辑 3.2中序遍历实现 3.3后序遍历 ​编辑 4.链式二叉树节点数目的计算 4.1 总节点个数的计算 错误代码1: 错误代…

使用git下载github/gitee仓库部分或单个文件的方法

前言 有些时候在github或者gitee仓库中我们只需要下载整个项目中的我门需要的那一部分文件夹或文件就行了,不需要下载所有的项目。这样可以节省很多流量和时间 步骤 1.建立一个新的 git 本地仓库 这里我在D:\test中初始化 命令: git init2.在本地仓…

【Yolov7】踩坑记录

#windows上调用cuda去 使用GPU来进行预测 -需要下载cudnn,cuDNN 9.0.0 Downloads | NVIDIA Developer -环境变量要配置 比如 : C:\Program Files\NVIDIA\CUDNN\v9.0\bin\11.8 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.7\bin 也可…

学习笔记Day15:Shell脚本编程

Shell脚本编程 Linux系统环境 Linux系统的4个主要部分:内核、shell、文件系统和应用程序。 内核是操作系统的核心,决定系统性能和稳定性shell :一种应用程序,是用户和内核交互操作的接口,是套在内核外的壳&#xff…

Stable Diffusion 进阶教程 - 二次开发(制作您的文生图应用)

目录 1. 引言 2. 基于Rest API 开发 2.1 前置条件 2.2 代码实现 2.3 效果演示 2.4 常见错误 3. 总结 1. 引言 Stable Diffusion作为一种强大的文本到图像生成模型,已经在艺术、设计和创意领域引起了广泛的关注和应用。然而,对于许多开发者来说&#xff…

使用倒模耳机壳UV树脂胶液制作舞台监听耳返入耳式耳机壳推荐的材料和工艺流程?

推荐的材料和工艺流程如下: 材料: UV树脂胶液:选择适合倒模工艺的UV树脂胶液,要求具有高透明度、良好的流动性和固化性能。模具材料:建议使用硅胶模具,因为硅胶模具具有较高的耐用性和稳定性,…

Linux 安装 JDK、MySQL、Tomcat(图文并茂)

所需资料 下载 1.1 软件安装方式 在Linux系统中,安装软件的方式主要有四种,这四种安装方式的特点如下: 安装方式特点二进制发布包安装软件已经针对具体平台编译打包发布,只要解压,修改配置即可rpm安装软件已经按照re…

C#自定义控件 生成 与 加入到项目

C#自定义控件生成 在C#中,自定义控件通常是通过继承现有的控件类(如UserControl、Form等)并添加或修改其属性和方法来实现的。以下是一个简单的示例,演示如何创建一个自定义控件: 首先,创建一个新的Window…

sonar+gitlab提交阻断 增量扫描

通过本文,您将可以学习到 sonarqube、git\gitlab、shell、sonar-scanner、sonarlint 一、前言 sonarqube 是一款开源的静态代码扫描工具。 实际生产应用中,sonarqube 如何落地,需要考虑以下四个维度: 1、规则的来源 现在规则的…

每日一练:LeeCode-200、岛屿数量【DFS递归+BFS队列】

给你一个由 1(陆地)和 0(水)组成的的二维网格,请你计算网格中岛屿的数量。 岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。 此外,你可以假设该网格的四条边…

MyBatis:查询与连接池

一、查询 1、多表查询 尽量避免使用多表查询,尤其是对性能要求较高的项目。因为多表查询必然会导致性能变低。 例如:select *from ta运行需要10ms,select *from tb 运行也需要10s。但是,select *from ta left join tb on ta.xx…

python初级第一次作业

一、 dayint(input("enter today day")) fdayint(input("enter num of day since today")) c((fday%7)day)%7 if c0:print("sunday") elif c1:print("monday") elif c2:print("tuesday") elif c3:print("wendnsday&quo…

Jmeter脚本优化——CSV数据驱动文件

使用 CSV 数据文件设置实现参数化注册 1) 本地创建 csv 文件,并准备要使用的数据,这里要参数化的是注册的用户名和邮箱。所以在 csv 文件中输入多组用户名和邮箱。 2) 通过测试计划或者线程组的右键添加->配置元件->CSV…

多线程合并练习题,线程安全(售票任务引入)--学习JavaEE的day30

day30 练习(day29) 注意代码注释,里面涉及代码实现遇到问题及解决方案,由于理解方便没有单独出来 1.计算任务 1.计算任务,一个包含了2万个整数的数组,分拆了多个线程来进行并行计算,最后汇总出…

FT232RL/FT232RNL替代GP232RNL USB转UART桥接控制器芯片低成本方案

关注过小编的朋友都知道,之前小编有推荐过FT232RL的替代产品GP232RL,软硬件直接兼容,无需做修改。随着产品的更新迭代,后面也出来了升级版GP232RNL,低成本方案,可直接替代FT232RL/FT232RNL,参数…

【数据结构】线性表的定义与基本操作

🎈个人主页:豌豆射手^ 🎉欢迎 👍点赞✍评论⭐收藏 🤗收录专栏:数据结构 🤝希望本文对您有所裨益,如有不足之处,欢迎在评论区提出指正,让我们共同学习、交流进…