机器学习从0到1

news2025/1/20 5:49:04

机器学习,即machine learning
感谢easyai的精彩讲解:
easyai网址

文章目录

  • 机器学习的概念
  • 机器学习的原理
  • 监督学习,非监督学习,强化学习
    • 监督学习
    • 非监督学习
    • 强化学习
  • 机器学习实操的7个步骤
    • 现在举一个具体的任务来说明这些步骤
      • 1.收集数据
      • 2.数据准备
      • 3.选择一个模型
      • 4.训练
      • 5.评估
      • 6.参数调整
      • 7.预测

机器学习的概念

什么是机器学习:
Field of study that gives computers the ability to learn without being explicitly programmed.
机器学习研究和构建的是一种特殊算法(而非某一个特定的算法),能够让计算机自己在数据中学习从而进行预测。
机器学习不是某种算法,而是很多算法的统称
比如深度学习,还有决策树,聚类,贝叶斯
深度学习的灵感来自于大脑结构和功能,即有许多的神经元互连,ANN(人工神经网络)是模拟大脑生物结构的算法。
机器学习,深度学习,人工智能三者之间的关系是:
在这里插入图片描述
机器学习的算法其实有很多
在这里插入图片描述
这些都是以后要学习的,那这么多的算法其实有共同的思路,下面来总结一下。
1.把现实生活中的问题抽象成数学模型,并且清楚模型中不同参数的作用
2.利用数学方法对这个数学模型进行求解,从而解决显示生活中的问题
3.评估这个数学模型,是否真正解决了现实生活中的问题,解决的如何?
无论什么算法,无论什么数据,基本思路都是这三步。
归纳一下就是三点:
1.建模
2.求解
3.评价

当然,从上面三点其实不难看出,第一点是最难的,如何把一个现实问题抽象成数学问题,因为不是所有的问题都可以转换成数学问题。

机器学习的原理

以监督学习为例,说明机器学习的实现原理
比如我们教小朋友识字,拿出三张卡片,小朋友看着,然后我们说一条横线的是一、两条横线的是二、三条横线的是三
在这里插入图片描述
不断地重复,小朋友的大脑也在不停地学习,当重复次数足够多时,他就学会了三个汉字一、二、三。
在这里插入图片描述
那我们的机器学习过程和上述类似,不过机器把这个过程进行划分了:
一个是训练集,一个是特征,一个是建模,以及最后的模型。
上面提到的认字的卡片在机器学习中叫——训练集
上面提到的“一条横线,两条横线”这种区分不同汉字的属性叫——特征
小朋友不断学习的过程叫——建模
学会了识字后总结出来的规律叫——模型
总结:通过训练集,不断识别特征,不断建模,最后形成有效的模型,这个过程就叫“机器学习”!
在这里插入图片描述
相信看到这里应该是都能理解的。

监督学习,非监督学习,强化学习

机器学习根据训练方法分成三类,依旧是上面提到的监督学习,非监督学习和强化学习

监督学习

指的是我们给算法一个数据集,并且给定正确答案,机器通过数据来学习正确答案的计算方法。
关键词就是数据集,正确答案,学习正确答案
比如认识动物:
在这里插入图片描述
我们有一堆的动物照片,我们使用监督学习的时候,我们需要给这些照片打上标签。然后就可以将打好标签的照片用来训练。
我们打的标签就是正确答案,机器可以通过学习,在新照片认出这些动物的类别。
在这里插入图片描述

非监督学习

非监督学习中,给定的数据集没有正确答案,所有的数据都是一样的。无监督学习的任务是从给定的数据集中,挖掘出潜在的结构。
此时我的给的照片就是这样的,没有任何标签,但是我们希望机器能将这些照片分类。
在这里插入图片描述
通过学习,机器能将这些照片分为两类,但是和监督学习有着本质的差别,那就是机器并不知道那个是狗,那个是猫。
在这里插入图片描述
对于机器来说,只是单纯的把他们分成了两类

强化学习

强化学习接近生物学习的本质,有望获得更高的智能。他关注的是智能体如何在环境中采取一系列行为,从而获得最大的累计回报,通过强化学习,一个智能体应该知道在什么状态下应该采取什么行为。
比如说打游戏。

机器学习实操的7个步骤

所有的机器学习在实操中基本都有四步:
1.收集数据
2.数据准备
3.选择一个模型
4.训练
5.评估
6.参数调整
7.预测(开始使用)
在这里插入图片描述

现在举一个具体的任务来说明这些步骤

在这里插入图片描述

1.收集数据

收集很多的啤酒和红酒,通过光谱仪和测量酒精度的设备,形成一下的数据:
在这里插入图片描述
这一步非常重要。数据的数量和质量决定了预测模型的好坏

2.数据准备

我们收集到的数据还是会有很多的问题,需要进行数据清洗等工作。
把数据分成三个部分:训练集(60%)、验证集(20%)、测试集(20%)
数据准备
以上组成了一个数据集。

3.选择一个模型

研究人员和数据科学家门创造了许多模型,有些非常适合图像数据,有些适合序列(图像or音乐),有些用于数字数据,有些用于基于文本的数据。

4.训练

训练并不是重点,数据的数量和质量、模型的选择比训练本身重要的多。

5.评估

一旦训练完成,就需要评估模型是否可用,这就是验证集和测试集的作用。评估的主要指标有准确率、召回率、F值
这个过程可以让我们看到模型如何对尚未看到的数是如何做预测的。这意味这代表模型在现实世界中的表现。

6.参数调整

完成评估后,可以用过调整参数来进一步改进训练。

7.预测

上面的所有过程都是为了这一步服务的,也是机器学习的价值。你只要告诉他酒的颜色和酒精度,他就会告诉你这是啤酒还是红酒了。

这是几种经典的机器学习算法。
在这里插入图片描述

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

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

相关文章

Visual studio解决‘scanf: This function or variable may be unsafe. 问题

使用C语言的scanf函数在Visual Studio软件上运行会报如下错误: scanf: This function or variable may be unsafe. Consider using scanf s instead. To disable deprecation, use. CRT SECURE NO WARNINGS. See online help for details. 这个函数或变量可能是不安…

Red-Black Tree红黑树

红黑树特点: 1.根节点必须为黑色; 2.每个节点到子节点经过相同数目的黑色节点; 3.红色节点的子节点必须是黑色; 4.空指针也作为节点 红黑树如何插入新的节点? 1.如果是空树,插入新的黑色节点作为根节点&am…

Wine 8.14 开发版正式发布

Wine 8.14 最新开发版已正式发布。 Wine (Wine Is Not an Emulator) 是一个能够在多种兼容 POSIX 接口的操作系统(诸如 Linux、macOS 与 BSD 等)上运行 Windows 应用的兼容层。它不是像虚拟机或者模拟器一样模仿内部的 Windows 逻辑,而是将 …

2023-9-10 Nim游戏

题目链接&#xff1a;Nim游戏 #include <iostream> #include <algorithm>using namespace std;int main() {int n;cin >> n;int res 0;while(n--){int x;cin >> x;res ^ x;}if(res) cout << "Yes" << endl;else cout << …

SICTF-2023-Crypto

文章目录 古典大杂烩RadioMingTianPaoeasy_coppersmith签到题来咯&#xff01;small_eeasy_math 古典大杂烩 题目描述&#xff1a; &#x1f429;&#x1f443;&#x1f42a;&#x1f43c;&#x1f445;&#x1f42f;&#x1f429;&#x1f448;&#x1f447;&#x1f46d;&a…

基于SSM的电子竞技管理平台

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;采用JSP技术开发 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#x…

自学移动端(APP)自动化测试

国庆已经过去了&#xff0c;新的一周已经开始了&#xff0c;各地疫情又开始出现复发了&#xff0c;我们能做的就是做好个人防护、去哪报备、到哪扫码亮码、主动做核酸、随时做好家里存储至少一周的食物&#xff0c;拒绝过度防疫&#xff0c;拒绝过度恐慌&#xff0c;拒绝过度焦…

linux Nginx+Tomcat负载均衡、动静分离

linux NginxTomcat负载均衡、动静分离 1、Tomcat的基本介绍1.1Tomcat是什么&#xff1f;1.2Tomcat的构成组件1.3Tomcat的核心功能1.4Tomcat请求过程 2、Tomcat部署2.1安装tomcat2.2优化tomcat启动速度2.4主要目录说明 3、Tomcat 虚拟主机配置3.1创建fsj和mws项目目录和文件3.2修…

【操作系统】聊聊内存中的cache和buffer

通过free命令&#xff0c;可以查看buff/cache使用了368MB内存。从字面上理解cache是缓存&#xff0c;buffer是缓冲区。那么具体有什么含义呢&#xff1f; free数据来源 通过man free 可以看到 free的 buffer/cache 来自/proc/meminfo buffers &#xff1a;内核缓冲区cache …

创建数据库

MySQL从小白到总裁完整教程目录:https://blog.csdn.net/weixin_67859959/article/details/129334507?spm1001.2014.3001.5502 语法格式: create database 数据库名称 charset 字符集; 其中: create: 创建 database: 数据库 charset: 字符集 说明: 常见的字符集:utf8(最常用…

SLAM论文详解(5) — Bundle_Adjustment_LM(BALM)论文详解

目录 1 摘要 2 相关工作 3 BA公式和导数 A. 直接BA公式 B. 导数 C. 二阶近似 4 自适应体素化 5. 将BALM结合进LOAM 6. 实验 7. 算法应用场景解析 1 摘要 Bundle Adjustment是一种用于同时估计三维结构和传感器运动运动的优化算法。在视觉SLAM&#xff0c;三维重建等…

Spring AOP使用指南: 强大的面向切面编程技术

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页——&#x1f405;&#x1f43e;猫头虎的博客&#x1f390; &#x1f433; 《面试题大全专栏》 &#x1f995; 文章图文…

C++this指针

本文旨在讲解C中this关键字&#xff0c;以及其相关作用&#xff01; 定义 this 是 C 中的一个关键字&#xff0c;也是一个 const 指针&#xff0c;它指向当前对象&#xff0c;通过它可以访问当前对象的所有成员。 this的介绍 下面来看一下关于this这个关键字的实例&#xff0…

光刻机巨头CEO称孤立中国没有希望

大家好&#xff01; 我是老洪。 刚看到一个资讯。 光刻机巨头阿斯麦CEO&#xff1a;孤立中国没有希望&#xff0c;他们会提出我们没想到的解决方案。 “中国有14亿人&#xff0c;其中很多人都很聪明。他们会提出我们还没想到的解决方案。你在迫使他们变得非常创新。”温彼得认为…

指针数组与数组指针的区别

文章目录 一、指针概念二、指针1.0、字符指针2.0、指针数组与数组指针 总结 一、指针概念 内存会划分为一个个内存单元&#xff0c;指针是内存中一个最小单元的编号&#xff0c;也就是地址。平时口语中说的指针&#xff0c;通常指的是指针变量&#xff0c;是用来存放内存地址的…

漏洞发现-API接口服务之漏洞探针类型利用修复(45)

这里能探针到开放的端口&#xff0c;可以判断出端口的所属类型&#xff0c;这里涉及到证明检测&#xff0c;然后是证明利用可以对端口进行攻击&#xff0c; 端口服务开发这个端口&#xff0c;可以对这个端口进行攻击的。 apl接口&#xff0c; 主要针对应用上面的接口&#xff…

C++斩题录|递归专题 | leetcode50. Pow(x, n)

个人主页&#xff1a;平行线也会相交 欢迎 点赞&#x1f44d; 收藏✨ 留言✉ 加关注&#x1f493;本文由 平行线也会相交 原创 收录于专栏【手撕算法系列专栏】【LeetCode】 &#x1f354;本专栏旨在提高自己算法能力的同时&#xff0c;记录一下自己的学习过程&#xff0c;希望…

Autojs 小游戏实践-神农百草园

概述 最近一直再写刷视频软件脚本&#xff0c;比如手机视频软件太多&#xff0c;每天都需要手动提现羊毛&#xff0c;太累&#xff0c;使用使用Autojs来帮助我提现&#xff0c;签到&#xff0c;扯远了&#xff0c;因为做刷视频脚本感觉有点无聊&#xff0c;所以试着做小游戏找…

机器学习---决策树分类代码

1. 计算数据集的香农熵 from numpy import * import numpy as np import pandas as pd from math import log import operator #计算数据集的香农熵 def calcShannonEnt(dataSet): numEntrieslen(dataSet) labelCounts{} #给所有可能分类创建字典 for featVec …

SimpleCG绘图函数(10)--基础参数属性设置函数

在前面的绘画过程中,我们已经使用过设置线条颜色等函数。本篇我们来系统讲解绘图属性的设置函数。 一、边框线条参数属性 //设置当前设备线条颜色。 COLORREF setlinecolor( COLORREF nColor ); //设置当前设备线条宽度。 int setlinewidth( int nWidth ); //设置当前设备线条…