【机器学习】机器学习简单入门
🎈个人主页:甜美的江
🎉欢迎 👍点赞✍评论⭐收藏
🤗收录专栏:matplotlib
🤝希望本文对您有所裨益,如有不足之处,欢迎在评论区提出指正,让我们共同学习、交流进步!
【机器学习】机器学习基本概念
- 一 引入
- 二 概念
- 三 算法和模型
- 3.1 算法(Algorithm)
- 3.2 模型(Model):
- 3.3 类比
- 四 训练,模型,预测的关系
- 4.1 训练(Training):
- 4.2 模型(Model):
- 4.3 预测(Inference 或 Prediction):
- 4.4 三者关系
- 4.4 类比
- 五 总结
引言:
机器学习是一门研究如何使计算机系统能够自动学习和改进的领域。通过机器学习,计算机可以从大量的数据中提取出规律和模式,并利用这些规律和模式来做出预测和决策。在本篇博客中,我们将介绍机器学习的基本概念,包括算法、模型以及训练、模型和预测之间的关系。
一 引入
机器学习,从字面上看来,应该是机器的学习,既然都是学习,那机器学习和人类学习是不是有相似之处呢?所以在讲机器学习的概念之前,让我们来先看一个现实中的人类的学习例子。
假设你是一个刚出生没多久的小孩子,你的目标是学会理解和回答家庭成员的指令,例如,当你听到“请把玩具放到玩具箱里”时,你要能够正确执行这个指令。
最初,你可能对很多词汇和语法规则一无所知。
但是,在这里,父母充当了经验的提供者,每次父母给你一个指令时,他们会提供一个示例,告诉你该如何回应。
随着时间的推移,你开始通过接收大量的指令和相应的回应来学习。
而且,你不需要父母逐一教你每个可能的指令和回应,你会从经验中推断出一般的模式,例如,如果听到“请”,通常后面会有一个请求,而“放到”后面通常是关于把东西放到某个地方的指令。
最终,你具备了理解和执行各种指令的能力。
以上就是一个人类学习的例子。
那么,机器学习,又是什么呢?
接下来让我们来看看机器学习的具体概念。
二 概念
机器学习是人工智能的一个分支,其主要目标是通过让计算机系统从大量数据中学习并逐步改进性能,也就是训练,而无需显式编程规则。
通过构建算法和模型,机器学习使计算机能够识别和利用数据中的模式,从而在面对新的、未知的数据时做出准确的预测或决策。
这种学习过程类比于计算机系统的自我训练,使其具备适应不断变化的环境和任务的能力。
以上就是机器学习的概念,可能没看懂对吧,哈哈哈哈,没事,宝子们,没有关系的,让我们用这个概念和上面的例子来进行类比。
首先,刚出生的小孩子类似于机器学习模型的初始状态,对于任务(例如,理解和回答指令)一无所知。
父母在这里充当了经验的提供者,类似于机器学习中的训练数据。
每次父母给予指令,相当于模型接收到一条训练样本。
示例指令告诉孩子应该如何回应,就如同训练数据告诉模型样本的期望输出。
随着时间的推移,孩子通过接收大量的指令和相应的回应进行学习,这对应于机器学习模型通过大量训练数据进行学习。
孩子不需要父母逐一教导每个可能的指令和回应,就像机器学习模型不需要显式规定每个可能的输入和输出组合。
相反,孩子会从经验中推断出一般的模式,例如,“请”通常表示请求,“放到”后面通常是关于把东西放到某个地方的指令。这类似于模型从数据中学习到的一般性规律和模式。
最终,孩子具备了理解和执行各种指令的能力,这对应于机器学习模型在训练后能够对新的、未见过的数据做出准确预测或执行任务。
这个过程突显了机器学习的核心思想,即通过大量数据的学习,模型能够从经验中提取模式和规律,进而逐渐提高性能。
可以这样认为,机器学习,就相当于我们人类学习的过程,我们人类本身就是一个模型,我们在现实中经历了各种各样的事(训练),那么我们这个人会不断地成熟,不断地汲取经验,最后成为了一个成功的人(也就是训练好的模型)在成为一个成功的人后,我们在今后会面对一些些事情的处理,会更加地成功和合理。(这就是预测)
比如说一个男生啊,不是我啊,刚开始找女朋友,经验不足,一直被拒绝,然后经历过多次的被拒绝后,积累了经验,最终成为了一个情场上的高手,然后成功地找到了女朋友。
三 算法和模型
在上面对于机器学习概念的介绍中,我们提到了两个词——算法,模型。初次接触机器学习的宝子们,可能会对这两个概念有些不清楚,让我们来详细地介绍这两个概念吧。
在机器学习中,算法和模型是两个关键的概念,它们在学习过程中扮演着不同的角色。
3.1 算法(Algorithm)
机器学习算法是一系列定义了学习任务的计算步骤或规则。这些步骤或规则指导计算机系统从输入数据中提取模式、规律或关联性,以实现特定的学习目标。
例如,在监督学习中,常见的算法包括线性回归、决策树、支持向量机等。每个算法都有其独特的数学和统计原理,用于在训练数据上学习模式,并在新数据上进行预测或决策。
3.2 模型(Model):
模型是机器学习算法在经过训练后得到的结果,它是对学习任务的学习和概括。模型捕捉了训练数据中的模式和关系,使其能够对新的、未知的数据进行预测或分类。
在监督学习中,模型可以看作是一个函数,它将输入映射到输出。例如,在线性回归中,模型可能是一个线性方程,描述了输入特征与输出之间的关系。模型的性能取决于其在训练数据上学到的模式的准确性和泛化能力,即在未见过的数据上的表现。
简而言之,算法是机器学习的操作指南,定义了如何从数据中进行学习,而模型是算法在学习过程中得到的实际产物,它能够在面对新数据时做出预测或决策。选择合适的算法以及对其进行训练和调优,是构建有效模型的关键步骤。
3.3 类比
假设你是一位热衷于烘焙的厨师,想要让你的计算机系统学会根据食谱自动调整烤箱温度和时间,以确保每次烘焙都达到最佳效果。
算法(Algorithm):
在这个场景中,烤箱调整的算法就好比你在制定烘焙计划的步骤和规则。这可能包括考虑食谱中的材料、烘焙时间、温度要求等因素,以确定如何调整烤箱参数。
模型(Model):
模型则是在经过多次实验(类似于机器学习中的训练)后,根据不同食谱和烤箱参数学到的经验。这可以看作是你根据之前的烘焙经验总结出的一种模式,使你能够在未来的烘焙中更准确地调整烤箱温度和时间。
训练模型的过程就好比你尝试不同的温度和时间组合,观察结果,并根据反馈调整你的烘焙计划。模型的质量取决于你对食谱和烤箱性能的理解以及对实验结果的学习能力。
最终,通过选择适当的算法和根据经验调整模型,你可以建立一个烤箱调整系统,使其能够根据新的食谱进行自动调整,类似于机器学习系统在训练后能够对新数据做出准确预测。这个过程强调了算法作为操作指南和模型作为学习结果的机器学习核心概念的类比。
四 训练,模型,预测的关系
在机器学习中,训练、预测和模型之间存在密切的关系,它们是机器学习流程中的关键组成部分。
4.1 训练(Training):
训练是指使用已知的输入数据和对应的输出标签(或目标值)来训练机器学习模型。
在训练过程中,模型通过学习输入与输出之间的关系或模式,调整自身的参数以最小化预测错误。
训练的目标是使模型能够准确地泛化到未见过的数据。训练过程产生了一个经过优化的模型,该模型可以用于进行预测。
4.2 模型(Model):
模型是在训练过程中从数据中学到的表示。
它包含了捕捉输入与输出之间关系的参数和结构。
模型经过训练后,可以被用于进行预测。
模型的质量取决于训练过程中的数据质量、算法选择和调整参数的效果。
4.3 预测(Inference 或 Prediction):
预测是指使用已经训练好的模型来对新的、未见过的输入数据进行推断或估计。模型通过应用在训练中学到的知识,将新的输入映射到输出。
这是机器学习模型真正发挥作用的阶段,它使模型能够对未知数据做出有用的预测或决策。
4.4 三者关系
三者的关系可以总结为:训练过程产生了一个经过优化的模型,该模型然后用于预测未见过的数据。
在整个机器学习流程中,训练和预测是紧密相连的步骤,而模型是连接这两个步骤的核心。
成功的训练阶段决定了模型的质量,而模型的质量则影响了在新数据上的预测表现。
4.4 类比
假设你是一位专业的烘焙师傅,你想要训练一个机器学习模型,使其能够自动推断烘焙蛋糕的温度和时间,以确保每次都能获得完美的结果。
训练(Training):
在这个例子中,训练阶段就好比你通过一系列实验,使用已知的食谱和烘焙条件(输入数据和对应的输出标签),调整烤箱的温度和烘焙时间,以最小化蛋糕烤焦或未熟的情况。这个过程中,你不断调整温度和时间,观察结果,最终优化了你的烘焙模型,使其能够在不同的情况下产生最佳的烘焙效果。
模型(Model):
在这个例子中,你的烘焙模型就是你根据经验调整烤箱温度和时间的方式。
这个模型是在训练阶段学到的知识,包括了不同食谱、温度和时间之间的关系。
模型的质量取决于你在训练阶段的调整和优化,以及对不同情况的适应能力。
预测(Inference):
预测阶段相当于你使用已经调教好的烤箱模型,对新的蛋糕食谱进行预测。
当你接收到一个新的蛋糕食谱时,你会根据之前的经验,通过你的烘焙模型来推断出最适合的温度和时间,以确保新的蛋糕能够在烤箱中达到理想的状态。
通过这个类比,你可以看到在烘焙的现实例子中,训练阶段是通过实验学到经验,调整参数以获得最佳结果;而预测阶段则是应用这些经验,根据新的输入进行烘焙,类似于机器学习模型在训练和预测中的角色。模型在这个过程中扮演了关键的角色,它是经验的总结和应用者。
五 总结
本文首先介绍了机器学习的基本概念,包括算法和模型。算法是机器学习中用于从数据中学习规律和模式的方法,而模型则是算法学习到的规律和模式的表示。接着,我们通过类比的方式更加形象地解释了算法和模型的概念。
然后,我们详细讨论了训练、模型和预测之间的关系。训练是指通过使用已知的数据来调整模型的参数,使其能够更好地拟合数据中的规律和模式。模型是经过训练后得到的表示数据规律和模式的结果。预测则是利用已经训练好的模型对新的数据进行推断和预测。
最后,我们通过类比的方式进一步说明了训练、模型和预测之间的关系。类比中,训练可以看作是学习的过程,模型可以看作是学到的知识,而预测则可以看作是应用学到的知识进行推断和预测的过程。
通过本文的介绍,读者可以对机器学习的基本概念有一个初步的了解,并理解训练、模型和预测之间的关系。这将为进一步学习和应用机器学习提供基础和指导。
相关文章:

【机器学习】机器学习简单入门
🎈个人主页:甜美的江 🎉欢迎 👍点赞✍评论⭐收藏 🤗收录专栏:matplotlib 🤝希望本文对您有所裨益,如有不足之处,欢迎在评论区提出指正,让我们共同学习、交流进…...

考研数据结构笔记(1)
数据结构(1) 数据结构在学什么?数据结构的基本概念基本概念三要素逻辑结构集合线性结构树形结构图结构 物理结构(存储结构)顺序存储链式存储索引存储散列存储重点 数据的运算 算法的基本概念什么是算法算法的五个特性有…...

【深度学习理论】持续更新
文章目录 1.统计学习理论 1.统计学习理论 统计学习理论,一款适合零成本搞深度学习的大冤种的方向 从人类学习到机器学习的对比(学习的过程分为归纳和演绎 ),引出泛化和过拟合的概念。 如何表示归纳的函数规律呢?以监督…...

npm ERR! reason: certificate has expired(淘宝镜像过期)
npm ERR! request to https://registry.npm.taobao.org/yauzl/-/yauzl-2.4.1.tgz failed, reason: certificate has expired 今天在执行npm install命令时,报错百度了下是淘宝证书过期原因 解决方法一 执行下面两个命令再进行npm install即可 npm cache clean --…...

“极简壁纸“爬虫JS逆向·实战
文章目录 声明目标分析确定目标目标检索 代码补全完整代码 爬虫逻辑完整代码 运行结果 声明 本教程只用于交流学习,不可用于商业用途,不可对目标网站进行破坏性请求,请遵守相关法律法规。 目标分析 确定目标 获取图片下载链接 目标检索…...

Django通过Json配置文件分配多个定时任务
def load_config():with open("rule.json", rb)as f:config json.load(f)return configdef job(task_name, config, time_interval):# ... 通过task_name判断进行操作if task_name get_data_times:passdef main():config load_config()for task_name, task_value…...

C++ 搜索二叉树的删除
首先查找元素是否在二叉搜索树中,如果不存在,则返回 要删除的结点可能分下面四种情况: a. 要删除的结点无孩子结点 b. 要删除的结点只有左孩子结点 c. 要删除的结点只有右孩子结点 d. 要删除的结点有左、右孩子结点 看起来有待删除节点有4中…...

构建中国人自己的私人GPT—支持中文
上一篇已经讲解了如何构建自己的私人GPT,这一篇主要讲如何让GPT支持中文。 privateGPT 本地部署目前只支持基于llama.cpp 的 gguf格式模型,GGUF 是 llama.cpp 团队于 2023 年 8 月 21 日推出的一种新格式。它是 GGML 的替代品,llama.cpp 不再…...
elementui 回到顶部报错
<template>Scroll down to see the bottom-right button.<el-backtop target".page-component__scroll .el-scrollbar__wrap"></el-backtop> </template> 使用element的Backtop 回到顶部组件的伙伴们,把官网代码复制到页面使用时…...
go-carbon v2.3.8 发布,轻量级、语义化、对开发者友好的 golang 时间处理库
carbon 是一个轻量级、语义化、对开发者友好的 golang 时间处理库,支持链式调用。 目前已被 awesome-go 收录,如果您觉得不错,请给个 star 吧 github.com/golang-module/carbon gitee.com/golang-module/carbon 安装使用 Golang 版本大于…...

【详解】斗地主随机发牌项目
目录 前言: 1.初始化牌 2.洗牌 3.揭牌 总代码: Card类: CardGame类: Main类: 结语: 前言: 斗地主是全国范围内的一种桌面游戏,本节我们来实现一下斗地主中的简单初始化牌、…...

多账号运营为什么要使用动态住宅代理IP?
对于跨境有多账号运营需求的企业来说,选择正确类型的代理IP对于平稳运行至关重要。但最适合这项工作的代理类型是什么?为了更好地管理不同平台上的多个账户并优化成本,您可以选择动态住宅代理。 一、什么是动态住宅代理 动态住宅代理IP是互联…...

[C++] 如何使用Visual Studio 2022 + QT6创建桌面应用
安装Visual Studio 2022和C环境 [Visual Studio] 基础教程 - Window10下如何安装VS 2022社区版_visual studio 2022 社区版-CSDN博客 安装QT6开源版 下载开源版本QT Try Qt | 开发应用程序和嵌入式系统 | Qt Open Source Development | Open Source License | Qt 下载完成&…...

Arduino 推出基于乐鑫 ESP32-S3 的 STEM 教育机器人
Arduino Alvik 是 Arduino Education 推出的一款新型机器人,可作为一种跨学科工具,为当前教育和未来机器人世界筑起连接的桥梁。Hackster 的 Gareth Halfacree 表示:“Alvik 的设计灵感来自 Arduino 简化复杂技术的理念,同时它也 …...

Blender使用Rigify和Game Rig Tool基础
做动画需要的几个简要步骤: 1.建模 2.绑定骨骼 3.绘制权重 4.动画 1.Rigify是干嘛用的? 》 绑定骨骼 2.Game Rig Tool干嘛用的? 》 修复Rigify绑定骨骼做的动画导入游戏引擎的问题,如果Rigify自身修复了就不需要这个插件了&#…...

【Unity优化(一)】音频优化
整理资教程:https://learn.u3d.cn/tutorial/unity-optimization-metaverse 1.音频优化 音频一般不会成为性能瓶颈,是为了节省内存和优化包体大小。 1.0 文件格式和压缩格式 原始音频资源尽量采用WAV格式。 移动平台音频尽量采用Vorbis压缩格式&#x…...
算法.1-三大排序算法-对数器-二分
三大排序算法&对数器 1.选择排序 Java版 package class01;import java.util.Arrays;public class Code01_SelectionSort {public static void selectionSort(int[] arr) {if (arr null || arr.length < 2) {return;}// 0 ~ N-1 找到最小值,在哪…...
Midjourney新功能介绍:风格参考(Style References)详解
引言 对于追求创意和一致性的艺术家和设计师们来说,Midjourney的最新功能——风格参考(Style References),无疑是一个激动人心的消息。这项测试算法的发布,让我们得以通过简单的URL引用,将特定的风格应用于…...

C++ 11/14/17 智能指针
1. 简介 为了更加容易(更加安全)的使用动态内存,引入了智能指针的概念。智能指针的行为类似常规指针,重要的区别是它负责自动释放所指向的对象。 标准库提供的两种智能指针的区别在于管理底层指针的方法不同:shared_p…...
C++入门【37-C++ 拷贝构造函数】
拷贝构造函数是一种特殊的构造函数,它在创建对象时,是使用同一类中之前创建的对象来初始化新创建的对象。拷贝构造函数通常用于: 通过使用另一个同类型的对象来初始化新创建的对象。复制对象把它作为参数传递给函数。复制对象,并…...

Qt/C++开发监控GB28181系统/取流协议/同时支持udp/tcp被动/tcp主动
一、前言说明 在2011版本的gb28181协议中,拉取视频流只要求udp方式,从2016开始要求新增支持tcp被动和tcp主动两种方式,udp理论上会丢包的,所以实际使用过程可能会出现画面花屏的情况,而tcp肯定不丢包,起码…...
k8s从入门到放弃之Ingress七层负载
k8s从入门到放弃之Ingress七层负载 在Kubernetes(简称K8s)中,Ingress是一个API对象,它允许你定义如何从集群外部访问集群内部的服务。Ingress可以提供负载均衡、SSL终结和基于名称的虚拟主机等功能。通过Ingress,你可…...
Java 8 Stream API 入门到实践详解
一、告别 for 循环! 传统痛点: Java 8 之前,集合操作离不开冗长的 for 循环和匿名类。例如,过滤列表中的偶数: List<Integer> list Arrays.asList(1, 2, 3, 4, 5); List<Integer> evens new ArrayList…...
c++ 面试题(1)-----深度优先搜索(DFS)实现
操作系统:ubuntu22.04 IDE:Visual Studio Code 编程语言:C11 题目描述 地上有一个 m 行 n 列的方格,从坐标 [0,0] 起始。一个机器人可以从某一格移动到上下左右四个格子,但不能进入行坐标和列坐标的数位之和大于 k 的格子。 例…...

HBuilderX安装(uni-app和小程序开发)
下载HBuilderX 访问官方网站:https://www.dcloud.io/hbuilderx.html 根据您的操作系统选择合适版本: Windows版(推荐下载标准版) Windows系统安装步骤 运行安装程序: 双击下载的.exe安装文件 如果出现安全提示&…...

sipsak:SIP瑞士军刀!全参数详细教程!Kali Linux教程!
简介 sipsak 是一个面向会话初始协议 (SIP) 应用程序开发人员和管理员的小型命令行工具。它可以用于对 SIP 应用程序和设备进行一些简单的测试。 sipsak 是一款 SIP 压力和诊断实用程序。它通过 sip-uri 向服务器发送 SIP 请求,并检查收到的响应。它以以下模式之一…...

【从零开始学习JVM | 第四篇】类加载器和双亲委派机制(高频面试题)
前言: 双亲委派机制对于面试这块来说非常重要,在实际开发中也是经常遇见需要打破双亲委派的需求,今天我们一起来探索一下什么是双亲委派机制,在此之前我们先介绍一下类的加载器。 目录 编辑 前言: 类加载器 1. …...
前端高频面试题2:浏览器/计算机网络
本专栏相关链接 前端高频面试题1:HTML/CSS 前端高频面试题2:浏览器/计算机网络 前端高频面试题3:JavaScript 1.什么是强缓存、协商缓存? 强缓存: 当浏览器请求资源时,首先检查本地缓存是否命中。如果命…...

python可视化:俄乌战争时间线关键节点与深层原因
俄乌战争时间线可视化分析:关键节点与深层原因 俄乌战争是21世纪欧洲最具影响力的地缘政治冲突之一,自2022年2月爆发以来已持续超过3年。 本文将通过Python可视化工具,系统分析这场战争的时间线、关键节点及其背后的深层原因,全面…...

Redis专题-实战篇一-基于Session和Redis实现登录业务
GitHub项目地址:https://github.com/whltaoin/redisLearningProject_hm-dianping 基于Session实现登录业务功能提交版本码:e34399f 基于Redis实现登录业务提交版本码:60bf740 一、导入黑马点评后端项目 项目架构图 1. 前期阶段2. 后续阶段导…...