人工智能 之 机器学习(Machine Learning)

news2024/11/15 19:33:43

目录

一:机器学习概述

二:机器学习算法

三:机器学习模型

四:机器学习过程

五:机器学习模型验证

六:sklearn模块


一:机器学习概述

程序化处理和机器学习处理;

主观思维和客观思维;

下面举一个例子:我们现在帮小明决定明天到底要不要去看球赛

考虑因素:  天气、价格、朋友、球星

1 程序化

if ...

else if ...

else if ...

else if ...

2 那么机器学习呢?

现在提供这样一种情境

天气:下雨

门票价格:100

同伴情况:没人一起

球星:有他喜欢的球星

那么可以做出这样一种分析:小明肯定会去,因为只要他喜欢的球星来了,无论怎么样他都会去的

由上述,机器学习示例,有了简单的概念 

经验 + 思考 = 结果

经验也称为数据(样本)分为特征和标签:

特征:指的是在某些特定的外在条件或者内在条件下的一个反应,比如上述的天气、价格、是否有喜欢的球星等 (考虑因素)

标签:指的是在特征发生后,等到的一个结果,比如去看球赛和不去看球赛

经验/数据,如下示例   特征(天气等考虑因素)   +   标签(结果)

天气价格朋友球星结果
晴天150
阴天200没有没有不去
晴天500不去
多云180没有
多云130

此时,若是再给出一组数据,来决定是否去看球赛,根据这样的经验的不断累积,就类似是机器学习的一整个过程

二:机器学习算法

线性回归

Logistic回归

决策树

朴素贝叶斯

K近邻算法

支持向量机(SVM)

... 

对于机器学习算法,举个例子

比如,一个母亲在教孩子识字的过程 (算法),那么最终会识字的孩子(模型)

三:机器学习模型

机器学习模型 = 数据 + 算法

数据的特征决定了机器学习的上限 (收集到的数据量),而算法只是无限逼近于这个上限 (不断训练模型,调优算法)

模型训练过程

机器学习算法被描述为学习一个目标函数f,该函数将输入变量X最好地映射到输出变量Y:Y=f(X)     X:模型数据      Y结果

最常见地机器学习算法是学习映射Y=f(x)来预测新X的Y;这叫做预测建模或预测分析,我们的目标是尽可能做出最准确的预测

模型训练过程 + 模型预测过程

训练  图示如下

每一个特征x,分别有各自的w(权重) ,算法是每一个特征与其对应权重的结合,然后求和,预测结果

预测  图示 如下

输入对应特征值,模型以及存在(W权重 值已知),模型在训练成功后(预期值已知 如上图3就是该模型临界点)

四:机器学习过程

首先:问题的产生

需要准备数据集,数据集需要提纯优化,接下来训练数据,需要认识数据的分布以及观察是否有特殊点/离散点,之后进行数据预处理(数据清洗),经过这样一系列操作才比较完整,特征构造

算法的选择:首先考虑是有监督问题还是无监督问题

无监督学习(结果需要自己去整合分析,无监督模型会分类,把有相似特征的归为一类,准确率也不是很高),目前比如模仿人脑神经网络的,世界上做这类研究的也寥寥无几,不仅耗费大量成本时间,而且不一定能取得结果;因此,绝大多数做的都是有监督学习

有特征、有标签  --  有监督学习

有特征、无标签  --  无监督学习

分类问题 :分类统计

回归问题 :预测走向

五:机器学习模型验证

拟合(Fitting):就是说这个曲线能不能很好的描述某些样本

过拟合(Overfitting):就是太过贴近于训练数据的特征了,在训练集上表现非常优秀,近乎完美的预测/区分了所有的数据,但是在新的测试集上却表现平平,不具泛化性,拿到新样本后没有办法去准确的判断

欠拟合(UnderFitting):测试样本的特性没有学到,或者是模型过于简单无法拟合或区分样本 

分类,如上图,好的拟合 如中间图所示 

欠拟合就相当于摆烂,随意分类,过拟合就相当于超级认真,精确分类

回归,如上图,好的拟合 如中间图所示 

欠拟合就相当于摆烂,随意回归曲线,过拟合就相当于超级认真,精确回归曲线

六:sklearn模块

Scikit-learn(sklearn)是机器学习中常用的第三方模块,对常用的机器学习算法进行的封装和实现,它自带一些训练数据集供用户使用 

Sklearn datasets

Sklearn提供一些标准数据,我们不必再从其他网站寻找数据进行训练

鸢尾花数据集:load_iris()

手写数字数据集:load_digits()

波斯顿房价数据集:load_boson()

.... 

安装

pip3 install sklearn -i https://pypi.mirrors.ustc.edu.cn/simple/

安装sklearn后,即可使用鸢尾花数据集,

如下博主使用鸢尾花数据集,提取特征数据、标签数据并对数据集划分

1 :sklearn - datasets -  data下包含有训练数据集供用户使用 

2 :cv2 - data 下包含有人脸识别相关训练模型 

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

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

相关文章

python利用read()、readline()、readlines()读取文件

目录 1.语法和用法 2.实例 1.语法和用法 with open(file,moder,encodingNone) as f:#①读取所有文本data1 f.read()#②读取第一行数据data2 f.readline() #③读取所有文本数据 data3 f.readlines() 说明: with …… as ……:用于命名&#xff0c…

2022年总结:打开新世界,踏上新征程

一、前言 于我而言,2022年是我的幸运年,人生发生转折的关键点。同时,也可能是互联网行业、社会经济状况开始扭转的一年。因此,打算在CSDN开始记录下我的第一篇年总结。当然除了是意义特殊外,也还有现实实在的意义&…

【ROS服务通信】服务端和客户端

本文记录下ROS服务通信的实现,首先明确,ROS中的服务通信主要适用于偶然的,有实时要求的场景。服务通信基于客户-服务的架构,在主节点下,由服务端和客户端组成,服务端负责对请求做出响应,客户端发…

SQL Server2019详细安装教程(含JDBC连接)

文章目录一、安装SQL Server引擎1.1、安装SQL Server1.2、SQL Server选项配置二、SQL Server Management Studio(SSMS,客户端)2.1、安装连接工具2.2、连接SQL Server三、JDBC连接SQLServer提前配置查看SQLSever的启动端口Java代码参考文章一、…

雷神五代笔记本U盘重装系统图文教程

雷神五代笔记本U盘重装系统图文教程分享。有用户使用的雷神五代笔记本开机之后会自动安装很多的软件,导致卡到无法正常使用。这个情况是电脑中了病毒程序导致的,一起来看看如何通过U盘来重新安装系统操作教程吧。 准备工作: 1、U盘一个&#…

蓝桥杯嵌入式串口uart

文章目录前言一、板子串口原理图2.cubeMx配置3.波特率的简单讲解4.代码编写一、发送数据函数二、开启接收中断函数三、中断回调函数四、具体使用总结前言 本篇文章将带大家了解串口的编程,串口在比赛当中和实际工程中都是非常重要的,串口的难度也比较大…

微信小程序自定义tabbar底部菜单

自定义 tabBar 可以让开发者更加灵活地设置 tabBar 样式,以满足更多个性化的场景。 在自定义 tabBar 模式下,为了保证低版本兼容以及区分哪些页面是 tab 页,tabBar 的相关配置项需完整声明,但这些字段不会作用于自定义 tabBar 的渲…

UC伯克利提出AIGC图像编辑新利器InstructPix2Pix,AI模型P图更加精细

原文链接:https://www.techbeat.net/article-info?id4375 作者:seven_ 最近的一些工作向我们展示了AIGC在创造性生成图像、视频等方面的潜力,相信已有很多研究者在沿着这一方向进行拓展式的挖掘和创新。目前已有很多衍生应用出现在了大家眼前…

Java中的类和对象

文章目录1.面向对象和面向过程的含义2.类的定义与使用2.1什么是类2.2类的定义和格式2.3类名的修改方法![在这里插入图片描述](https://img-blog.csdnimg.cn/f126dbd47491402e93bc83bc07f51673.png)3.类和对象3.1类的实例化3.2成员的访问4.this引用4.1为何要this引用4.2什么是th…

java和vue的学生健康管理系统疫情打卡系统

需求:关注学生健康数据以及疫情打卡 系统分两个角色:学生和管理员 演示视频 https://www.bilibili.com/video/BV1iD4y1h74F/?share_sourcecopy_web&vd_sourceed0f04fbb713154db5cc611225d92156 技术:springbootvueelementuipagehelperm…

医疗器械实验室设计基本要求SICOLAB

医疗器械实验室设计基本要求SICOLAB 医疗器械实验室设计、医疗器械实验室装修、医疗器械实验室建设SICOLAB 一、实验室分类 (一)基础实验室 生物学评价检验实验室、电气安全检验实验室、环境试验检验实验室、手术医疗器械检验实验室、医用材料检验实…

【图像去噪】双立方插值和稀疏表示图像去噪【含Matlab源码 2009期】

⛄一、稀疏表示模型简介 图像的稀疏表示能够更好地表示出图像的特征, 其理论依据就是, 有用的图像信号是有序的, 而噪声普遍是杂乱无章的, 因此可以提取出能够表示图像特有奇异性特征的信息, 比如边缘、线段、条纹、端点等, 再用特定的过完备字典中的原子进行线性组合, 重构出…

JDK的安装及环境变量配置

一、应用安装 1、可以在官网下载jdk,(http://www.oracle.com/)下载自己适用的版本。 2、双击下载的 .exe安装包文件,如 jdk-8u131-windows-x64.exe。 3、进入安装向导。 4、点击下一步,更改安装路径,我选择安装在d盘…

30分钟看懂linux内核 - page介绍

【推荐阅读】 浅析linux内核网络协议栈--linux bridge 深入理解SR-IOV和IO虚拟化 了解Docker 依赖的linux内核技术 浅谈linux 内核网络 sk_buff 之克隆与复制 深入linux内核架构--进程&线程 内核中最初勾引我好奇心的还是内存管理方面,我们平时编写应用程…

代码随想录训练营第53天|LeetCode 1143.最长公共子序列、1035.不相交的线、53. 最大子序和

参考 代码随想录 题目一:LeetCode 1143.最长公共子序列 确定dp数组下标及其含义 dp[i][j]:字符串text1中的0~i字符构成的字符串和字符串text2中的0~j字符构成的字符串的最长 公共子序列 的长度为dp[i][j]。注意和之前做过的Leet…

将postgresql配置为Linux服务管理 systemctl service

发行版安装的数据库在装完后会自动添加数据库服务,但编译安装的不会,需要手动添加。 cd postgresql-14.0/contrib/start-scripts/ cp linux /etc/init.d/postgresql cd /etc/init.d/ vi postgresql 修改以下部分 ## EDIT FROM HERE# Installation pre…

Vuex4.0.0 源码解析

本文章基于以下版本撰写 VUE 版本: 3.0VUEX 版本:4.0.0Vuex仓库:https://github.com/vuejs/vuex/tree/v4.0.0Vux文档:https://vuex.vuejs.org/zh/ 在 vue 中使用 vuex import { createApp } from vue import { createStore } f…

C语言中函数的先后关系,java和C语言的语法区别

以上代码中,sum函数在上面,main函数在下面,在main函数中就可以调用sum函数。 如果sum函数定义在main函数后面,则需要在main函数前面声明sum函数。即在main函数前面写:void sum(int begin, int end); C语言中&#xf…

EMC测试中的电流探头

专栏 专注介绍电磁兼容(EMC)的相关知识,算是对本人浸染 EMC 专业十余年的一个阶段小结 。 本文目录1.EMC测试中的电流探头是什么?2.电流探头的主要指标要求3.什么是转移阻抗?1.EMC测试中的电流探头是什么? …

校园兼职网站

开发工具(eclipse/idea/vscode等): 数据库(sqlite/mysql/sqlserver等): 功能模块(请用文字描述,至少200字): 网站前台:关于我们、联系我们、资讯信息、企业信息、职位信息 管理员模块: 1、管理关于我们、联…