深度学习(DL)实战——基本概念介绍
公众号:自学编程村,关注后,回复“书籍”,领取1000多本计算机书籍。涵盖语言语法、数据结构算法、AI相关书籍、开发相关等等各种书籍,应有尽有,你总会用到。
关注方式见主页或文章底部。想要加群可从公众号中加我wx~~~
机器学习的任务
我们要学习机器学习,首先要明白,它要解决的问题是什么。或者是做的事情是什么。
什么是机器学习呢?
就是让机器具备找一个映射的方式(也就是通常意义上的函数),并且呢,我们暂且认为它就是一个黑匣子(即先别管这个函数是怎么实现的)。那么,我们就希望机器能建立起一种映射,当我们把某些输入给它的时候,它能够映射到我们想要的东西,即产生我们想要的输出。
也就是说,我们希望机器能够完成这样的事情:我们喂给它一些输入,然后它能够产生我们想要的输出。
那么,如果说,输出的是一个数值,我们就认为其是回归(Regression)问题;如果输出是一些选择或者分类的可能,我们就认为其是分类问题(Classfication)
举个经典的例子:我们要预测明天下雨的可能性,我们将各种数据喂给了机器,让其产生明天下雨的可能性的预测,那么这样一个事情,就是回归问题;如果我们想要判断接受到的一个邮件是否是垃圾邮件,那这就是一个分类问题,在这样的分类中,往往输出的是一个多维的向量,每一个维度就代表这一种分类的可能。例如,可以用[0,1]表示男性;[1,0]表示女性。
回归和分类是机器学习中的两大类任务。但是需要知道,机器学习不仅仅就只有这两大任务。例如,还有Structured learning等等,主要是能够主动产生有结构的一些事物等(比如生成一个图像,生成一个文本等)。
同时,机器学习还分为监督学习和无监督学习(甚至还可以说有半监督学习),所谓是否有“监督”,就是输出的结果是否在我们预期的集合之内。举个简单的例子,假如说,一个机器通过给定输入数据后,它产生的结果的集合我们已知(假设集合为{},就是说,要么为1,要么为2,要么为3),那么它就是监督学习。反之,如果它产生的结果的集合我们实现并不能知道,那么它就是无监督学习。比如聚类问题(即将一组数据分成不同的群组或簇,使得同一簇内的数据点之间相似度较高,而不同簇之间的数据点相似度较低。)。
好,大概明白了机器学习的任务是什么了之后,我们就应当继续探索,这个映射关系(函数)怎么找,或者说,这个黑匣子应当怎么打开?
函数关系的建立
再明确下,这个映射建立的目的是什么:目的是我们通过给定一个输入,然后让其产生我们想要的输出,这中间,需要经历三个步骤:①确立有什么样的参数。②从数据集中确定损失函数。③优化迭代。
参数确立
举例来说,对于①,最简单的,我们可以考虑这样一个映射关系为 ,即我先把乘上一个倍率,然后在加上一个修正。这样一个线性的关系,也是我们在数学中学到的最简单的函数关系。那么,类似于这样的一个关系,就有可能是我们要找的函数关系。而这个函数关系,我们就叫做Model(即模型)。
这里的就是我们要预测的值,也就是我们预测的输出,而这里的就是我们要给的输入。当我给它输入的时候,它能够根据它建立起来的函数关系,反馈给我的值。这里的就叫做 feature(即特征)。
那和是什么东西呢?我们叫它们为未知的参数(即Unknown Parameters),特别的,我们叫,即那个和feature相乘的,为weight(即权重);我们叫为bias(即偏差,或者叫修正值)。那现在的问题是,它们应该怎么样才能被知道呢?答:就是通过我们通常所听到的 训练模型所训练(train)出来的。我们通常往往会事先给定出很多的资料(即数据),这些资料中,有已知的输入x,同时,也会将作为已知给出。那么,机器在收到我们给的已知的输入和输出之后,就会按照我们既定的模型(在我们上面所给的示例中,假设它为线性关系)来去训练,从而找到最合适的和,从而用这最合适的和作为它们的值。当我们需要机器来预测的时候(即我们此时只给机器的值,也就是只有输入,让它帮我们预测输出),它就能够用最合适的和,来帮我们估计出最可能的。
通过这里,我们实际上也就可以发现,机器学习本质上就是拿已知来预测未知(或者是产生未知)的过程。我们假设采用某种模型(需要事先选定或者设计),通过事先给定其很多的数据、让它看过大量的资料,通过这样一个过程,使得我们的这个模型中的一些未知参数能很好得train出来(即找到那些最合适的参数),最后,再拿我们这训练好的模型(各种参数均已知的情况下),在只给定输入时,期望它能够很好地帮助我们预估该输入所产生的结果(或者让其产生未知)。当然了,如果我们简单地把视野局限在监督学习这一部分的话呢,我们可以暂时忽略产生未知的过程。
当然了,上面就是一个笼统的介绍,所有的概念都泛化来去理解(就是从广义上来去理解),不要死磕,因为实际上如果死磕的话,上面有一些话还是有待商榷的。我们在后面慢慢介绍。
损失函数
接下来对于②,什么叫损失函数呢?损失函数,即Loss函数,它也是一个关于未知参数的函数。例如,上面的线性关系的损失函数,我们可以记为。那么损失函数有什么样的实际意义呢?它表示的是在我这个模型中,当我的参数选取特定的值的时候,这样取值的好坏程度(说白了,就是说这样取值,是好还是不好)。
举例来说,我让我的,我让我的,当然啊,我们假设这一组值是它训练出来的值。那么,我的模型就表示为,那这个模型好不好呢?或者说,如何用Loss函数来去衡量它的好坏程度呢?假设,我在事先给的数据集里面,有一组的值是,这里的我们称为是时的label。那么,我们将带入到我们的模型中,得到。然后我们可以来对比一下我们得到的和的差距。倘若我们用来表示二者之间的差距。可以算出,的值为。那么,这个就可以认为是我们这个样本的损失。我们总的损失函数就可以表示为。那么,通常情况下,我的这个越大,就代表了,这一组参数它所拟合的效果越不好;越小,往往就表示越好。当然了,这个损失函数我们这里用的是绝对值来去计算的,我们也可以采用平方来去计算,举例来说,我们的也可以为。用绝对值计算的,我们叫做MAE(mean absolute error),用平方计算的,我们叫做MSE(mean square error)。它们俩通常有着比较微妙的差别,通常要适用哪一种,需要看具体的任务具体对待。当然,如果有的时候和都是概率的时候,我们也可以选择用cross-entropy来去计算。
相关文章:
深度学习(DL)实战——基本概念介绍
公众号:自学编程村,关注后,回复“书籍”,领取1000多本计算机书籍。涵盖语言语法、数据结构算法、AI相关书籍、开发相关等等各种书籍,应有尽有,你总会用到。 关注方式见主页或文章底部。想要加群可从公众号中…...
较新(24.3)加速Diffusion模型推理的方法,附带参考文献
1.采用fast ODE solvers: Karras, T., Aittala, M., Aila, T., Laine, S.: Elucidating the design space of diffusionbased generative models. In: Conference on Neural Information Processing Systems (NeurIPS) (2022) Lu, C., Zhou, Y., Bao, F., Chen, J…...
硬件产品经理的开店冒险之旅(上篇)
这是一篇流水账式的个人履历小结,算是迎接接下来的人生第二职业曲线。未来将不定期更新在第二职业方面的探索过程记录,既当作自己的冒险之旅记录,也期望有机会让自己的经历能在互联网上留下一些印记。 一些职业生涯小记:目前的状…...
「C++」类和对象最终回
目录 前言 初始化列表: 使用及特点: 总结: 案例分析: 类型转换 单参数构造函数: 多参数构造函数: static成员 友元 内部类 匿名对象 特点 使用方法: 匿名对象使用实例补充&#…...
ELK:Elasticsearch、Logstash、Kibana Spring Cloud Sleuth和Spring Cloud Zipkin
〇、虚拟机中docker安装elasticsearch 、Kibana、Logstash elasticsearch导入中文分词器 Logstash修改es数据库ip及创建索引名配置 一、elasticsearch数据库的结构 和mysql作比较,mysql中的数据库的二维表相当于es数据库的index索引结构;mysql数据库的二…...
动态规划17:123. 买卖股票的最佳时机 III
动态规划解题步骤: 1.确定状态表示:dp[i]是什么 2.确定状态转移方程:dp[i]等于什么 3.初始化:确保状态转移方程不越界 4.确定填表顺序:根据状态转移方程即可确定填表顺序 5.确定返回值 题目链接:123.…...
华为OD机试真题---预定酒店
华为OD机试真题中的“预定酒店”题目是一道典型的算法题,主要考察的是如何在给定的酒店价格数组中找到最接近心理价位的k个酒店,并按价格从低到高输出。以下是对该题目的详细解析: 一、题目描述 放暑假了,小明决定到某旅游景点游…...
力扣242.有效的字母异位词
题目链接:242. 有效的字母异位词 - 力扣(LeetCode) 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的 字母异位词。 示例 1: 输入: s "anagram", t "nagaram"输出: true 示例 2: 输入: s &q…...
Android IP路由策略和防火墙
Android IP路由策略和防火墙 Platform: RK3368 OS: Android 6.0 Kernel: 3.10.0 文章目录 Android IP路由策略和防火墙ip route, ip rule, iptables简介ip routeip ruleiptables Android路由策略Android路由策略优先级命令查看当前路由策略 Android路由表命令查看路由表命令…...
MySQL insert ... select 语句锁表导致数据写不进去
问题现象 调用后台接口向表 t1 insert 写入数据时一直等待直到超时,猜测表 t1 被其它事务加锁了没有释放。 问题分析 在发生死锁时,通过执行下面命令查看事务和锁信息: select * from information_schema.INNODB_TRX 用来查看正在运行的事…...
Android摄像头Camera2和Camera1的一些总结
Android 系统对摄像头的同时使用有限制,不能同时使用摄像头进行预览或者录制音视频。 例如:界面上有两个SurfaceView, 这两个SurfaceView不能同时预览或者录制音视频,只能有一个正常工作(一个SurfaceView预览前置摄像头ÿ…...
【Linux 从基础到进阶】Linux中的用户认证与授权
Linux中的用户认证与授权 1. 引言 在Linux系统中,**用户认证(authentication)和授权(authorization)**是两个核心的安全机制,用来控制系统资源的访问和管理用户操作权限。用户认证确保登录的用户是合法的…...
用户界面设计:视觉美学与交互逻辑的融合
1、什么是用户界面 用户界面(UI)是人与机器之间沟通的桥梁,同时也是用户体验(UX)的重要组成部分。用户界面设计包括两个核心要素:视觉设计(即产品的外观和感觉)和交互设计ÿ…...
ZK集群搭建:详细步骤与注意事项
在大数据和分布式系统日益重要的今天,ZooKeeper(简称ZK)作为一种分布式协调服务,扮演着举足轻重的角色。它主要用于管理大型分布式系统中的配置信息、命名、同步等。下面将详细介绍如何搭建一个ZooKeeper集群,帮助大家…...
如何将csdn文章导出为pdf
前言 在csdn上浏览文章的时候我发现有的文章支持pdf导出,但是有的文章不支持pdf导出,为了解决能将csdn上所有文章都能以pdf格式导出遂作此文。 正文 先上代码: (function(){use strict;var contentBox $("div.article_content")…...
【艾思科蓝】Imagen:重塑图像生成领域的革命性突破
【连续七届已快稳ei检索】第八届电子信息技术与计算机工程国际学术会议(EITCE 2024)_艾思科蓝_学术一站式服务平台 更多学术会议请看 学术会议-学术交流征稿-学术会议在线-艾思科蓝 目录 引言 一、Imagen模型的技术原理 1. 模型概述 2. 工作流程 …...
java类和对象(下): 封装 static成员 内部类
前言: 在前期的知识点中,我们学习了java中this函数的使用和相关的概念。这期我们将介绍封装的概念,以及常见内部类的使用,让我们开车吧!!!! 本期目录: 6. 封装 7. st…...
外包干了3周,技术退步太明显了。。。。。
先说一下自己的情况,大专生,21年通过校招进入武汉某软件公司,干了差不多3个星期的功能测试,那年国庆,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落!而我才在一个外包企业干了3周的功…...
VIVO算法题——数位之积
记录算法究极无敌菜菜菜鸟的垃圾思维 题目: 现给定任意正整数 n,请寻找并输出最小的正整数 m(m>9),使得 m 的各位(个位、十位、百位 … …)之乘积等于n,若不存在则输出 -1。 菜鸟…...
OPC Router快速打通设备层与influxDB数据通讯
随着时代演化,数据量呈几何倍数增加的情况下出现了时序数据库。时序数据库是基于时间进行存储的数据库,每一条数据中都有一个时间戳,这种数据库特别适合存储那些随着时间变化的数据,通过一些工具处理后,能够分析出数据…...
Python AOT编译正式落地2026:3步完成插件下载、5分钟完成生产级安装(附官方校验码)
第一章:Python AOT编译正式落地2026:里程碑意义与核心价值2026年3月,CPython官方宣布Python 3.14版本原生支持AOT(Ahead-of-Time)编译模式,标志着Python首次在标准发行版中实现无需第三方运行时干预的静态可…...
为什么92%的PHP团队还在手写表单?一文讲透低代码引擎的5大不可替代价值,立即停用冗余CRUD!
第一章:低代码表单引擎的演进逻辑与PHP生态适配性低代码表单引擎并非凭空而生,而是从静态HTML表单、模板驱动表单、JSON Schema驱动表单,逐步演进至可编排、可扩展、可集成的运行时引擎。其核心驱动力在于降低业务侧对前端开发能力的依赖&…...
RK3568平台开发系列讲解:注册 platform 驱动过程详解
🚀返回专栏总目录 文章目录 一、注册 platform 驱动 二、probe函数 三、platform_driver 结构体 一、注册 platform 驱动 platform_driver_register 函数用于在 Linux 内核中注册一个平台驱动程序。 下面是对该函数的详细介绍: 该函数在内核源码目录下的“/include/linux/p…...
音乐自由新选择:QMCDecode如何让加密音频重获新生
音乐自由新选择:QMCDecode如何让加密音频重获新生 【免费下载链接】QMCDecode QQ音乐QMC格式转换为普通格式(qmcflac转flac,qmc0,qmc3转mp3, mflac,mflac0等转flac),仅支持macOS,可自动识别到QQ音乐下载目录,默认转换结…...
TensorFlow Lite Micro入门教程:5分钟搭建你的第一个嵌入式AI应用
TensorFlow Lite Micro入门教程:5分钟搭建你的第一个嵌入式AI应用 【免费下载链接】tflite-micro Infrastructure to enable deployment of ML models to low-power resource-constrained embedded targets (including microcontrollers and digital signal process…...
seo优化网络公司如何提高网站排名
SEO优化网络公司如何提高网站排名 在当今数字化时代,网站排名的高低直接关系到企业的曝光度和业务量。对于SEO优化网络公司来说,如何有效提升客户网站的排名是一项重要且复杂的任务。本文将从问题分析、原因说明、解决方法、注意事项和实用建议五个方面…...
告别ST-Link!用CH347+OpenOCD给STM32烧录程序,保姆级配置教程(含常见报错解决)
低成本玩转STM32:用CH347OpenOCD实现高效烧录的完整指南 在嵌入式开发领域,ST-Link调试器一直是STM32系列芯片的标准搭档,但其价格往往让个人开发者、学生群体望而却步。有没有一种既经济实惠又功能完备的替代方案?CH347这款多功…...
5个步骤打造企业级网络净化与全设备防护方案
5个步骤打造企业级网络净化与全设备防护方案 【免费下载链接】AdGuardHomeRules 高达百万级规则!由我原创&整理的 AdGuardHomeRules ADH广告拦截过滤规则!打造全网最强最全规则集 项目地址: https://gitcode.com/gh_mirrors/ad/AdGuardHomeRules …...
数学公式也能懂:gte-base-zh与MathType内容协同处理方案
数学公式也能懂:gte-base-zh与MathType内容协同处理方案 你有没有遇到过这样的烦恼?面对一份满是复杂数学公式和文字说明的学术论文或技术文档,想快速找到某个特定公式的推导过程,或者想检索所有提到“傅里叶变换”的地方&#x…...
Z-Image-Turbo新手必看:5分钟从零到一的文生图体验
Z-Image-Turbo新手必看:5分钟从零到一的文生图体验 1. 为什么选择Z-Image-Turbo 如果你正在寻找一款既快速又高质量的AI绘画工具,Z-Image-Turbo绝对值得尝试。这个由阿里通义实验室开源的高效文生图模型,在速度和质量的平衡上做得非常出色。…...
