news 2026/4/15 15:20:33

神经网络的学习(从数据中学习)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
神经网络的学习(从数据中学习)

从数据中学习

神经网络的特征就是可以从数据中学习。所谓“从数据中学习”,是指
可以由数据自动决定权重参数的值。这是非常了不起的事情!因为如果所有
的参数都需要人工决定的话,工作量就太大了。在第2 章介绍的感知机的例
子中,我们对照着真值表,人工设定了参数的值,但是那时的参数只有3 个。
而在实际的神经网络中,参数的数量成千上万,在层数更深的深度学习中,
参数的数量甚至可以上亿,想要人工决定这些参数的值是不可能的。本章将
介绍神经网络的学习,即利用数据决定参数值的方法,并用Python 实现对
MNIST手写数字数据集的学习。

对于线性可分问题,第2 章的感知机是可以利用数据自动学习的。
根据“感知机收敛定理”,通过有限次数的学习,线性可分问题是可
解的。但是,非线性可分问题则无法通过(自动)学习来解决。

数据驱动

数据是机器学习的命根子。从数据中寻找答案、从数据中发现模式、根
据数据讲故事……这些机器学习所做的事情,如果没有数据的话,就无从谈
起。因此,数据是机器学习的核心。这种数据驱动的方法,也可以说脱离了
过往以人为中心的方法。

通常要解决某个问题,特别是需要发现某种模式时,人们一般会综合考
虑各种因素后再给出回答。“这个问题好像有这样的规律性?”“不对,可能
原因在别的地方。”——类似这样,人们以自己的经验和直觉为线索,通过反
复试验推进工作。而机器学习的方法则极力避免人为介入,尝试从收集到的
数据中发现答案(模式)。神经网络或深度学习则比以往的机器学习方法更能
避免人为介入。

现在我们来思考一个具体的问题,比如如何实现数字“5”的识别。数字
5 是图4-1 所示的手写图像,我们的目标是实现能区别是否是5 的程序。这个
问题看起来很简单,大家能想到什么样的算法呢?

如果让我们自己来设计一个能将5 正确分类的程序,就会意外地发现这
是一个很难的问题。人可以简单地识别出5,但却很难明确说出是基于何种
规律而识别出了5。此外,从图4-1 中也可以看到,每个人都有不同的写字习惯,
要发现其中的规律是一件非常难的工作。

因此,与其绞尽脑汁,从零开始想出一个可以识别5 的算法,不如考虑
通过有效利用数据来解决这个问题。一种方案是,先从图像中提取特征量,再用机器学习技术学习这些特征量的模式。这里所说的“特征量”是指可以
从输入数据(输入图像)中准确地提取本质数据(重要的数据)的转换器。图
像的特征量通常表示为向量的形式。在计算机视觉领域,常用的特征量包括
SIFT、SURF和HOG等。使用这些特征量将图像数据转换为向量,然后对
转换后的向量使用机器学习中的SVM、KNN等分类器进行学习。

机器学习的方法中,由机器从收集到的数据中找出规律性。与从零开始
想出算法相比,这种方法可以更高效地解决问题,也能减轻人的负担。但是
需要注意的是,将图像转换为向量时使用的特征量仍是由人设计的。对于不
同的问题,必须使用合适的特征量(必须设计专门的特征量),才能得到好的
结果。比如,为了区分狗的脸部,人们需要考虑与用于识别5 的特征量不同
的其他特征量。也就是说,即使使用特征量和机器学习的方法,也需要针对
不同的问题人工考虑合适的特征量。

到这里,我们介绍了两种针对机器学习任务的方法。将这两种方法用图
来表示,如图4-2 所示。图中还展示了神经网络(深度学习)的方法,可以看
出该方法不存在人为介入。

如图4-2 所示,神经网络直接学习图像本身。在第2 个方法,即利用特
征量和机器学习的方法中,特征量仍是由人工设计的,而在神经网络中,连
图像中包含的重要特征量也都是由机器来学习的。

深度学习有时也称为端到端机器学习(end-to-end machine
learning)。这里所说的端到端是指从一端到另一端的意思,也就是
从原始数据(输入)中获得目标结果(输出)的意思。

神经网络的优点是对所有的问题都可以用同样的流程来解决。比如,不
管要求解的问题是识别5,还是识别狗,抑或是识别人脸,神经网络都是通
过不断地学习所提供的数据,尝试发现待求解的问题的模式。也就是说,与
待处理的问题无关,神经网络可以将数据直接作为原始数据,进行“端对端”
的学习。

训练数据和测试数据

本章主要介绍神经网络的学习,不过在这之前,我们先来介绍一下机器
学习中有关数据处理的一些注意事项。

机器学习中,一般将数据分为训练数据和测试数据两部分来进行学习和
实验等。首先,使用训练数据进行学习,寻找最优的参数;然后,使用测试
数据评价训练得到的模型的实际能力。为什么需要将数据分为训练数据和测
试数据呢?因为我们追求的是模型的泛化能力。为了正确评价模型的泛化能
力,就必须划分训练数据和测试数据。另外,训练数据也可以称为监督数据。

泛化能力是指处理未被观察过的数据(不包含在训练数据中的数据)的
能力。获得泛化能力是机器学习的最终目标。比如,在识别手写数字的问题
中,泛化能力可能会被用在自动读取明信片的邮政编码的系统上。此时,手
写数字识别就必须具备较高的识别“某个人”写的字的能力。注意这里不是“特
定的某个人写的特定的文字”,而是“任意一个人写的任意文字”。如果系统
只能正确识别已有的训练数据,那有可能是只学习到了训练数据中的个人的
习惯写法。

因此,仅仅用一个数据集去学习和评价参数,是无法进行正确评价的。
这样会导致可以顺利地处理某个数据集,但无法处理其他数据集的情况。顺
便说一下,只对某个数据集过度拟合的状态称为过拟合(over fitting)。避免
过拟合也是机器学习的一个重要课题。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/6 2:22:30

模型蒸馏实践:Z-Image-Turbo知识迁移实验平台

模型蒸馏实践:Z-Image-Turbo知识迁移实验平台快速入门指南 为什么选择Z-Image-Turbo? 作为一名AI方向的研究生,我最近在探索模型蒸馏技术时发现了Z-Image-Turbo这个神器。它通过创新的8步蒸馏技术,在保持照片级质量的同时&#xf…

作者头像 李华
网站建设 2026/4/4 15:45:26

BilibiliDown终极指南:5步掌握B站视频批量下载完整流程

BilibiliDown终极指南:5步掌握B站视频批量下载完整流程 【免费下载链接】BilibiliDown (GUI-多平台支持) B站 哔哩哔哩 视频下载器。支持稍后再看、收藏夹、UP主视频批量下载|Bilibili Video Downloader 😳 项目地址: https://gitcode.com/gh_mirrors/…

作者头像 李华
网站建设 2026/4/2 5:08:03

基于stm32芯片温度测量系统(论文)

目 录 摘 要 I Abstract II 1 绪论 1 2 系统分析 3 2.1 STM32芯片 3 2.2 DS18B20 5 2.3 TFTLCD 6 2.4 ATK-HC05蓝牙串口 7 3 硬件设计 8 3.1 MCU 8 3.2 JTAG设计 9 3.3 TFTLCD电路设计 9 4 软件设计 10 4.1 系统初始化 10 4.1.1 时钟的初始化 10 4.1.2 I/O初始化 11 4.1.3 串…

作者头像 李华
网站建设 2026/4/9 12:23:06

数据增强利器:阿里通义模型自动生成训练样本

数据增强利器:阿里通义模型自动生成训练样本 作为一名计算机视觉工程师,我深知训练一个高性能分类器需要大量标注图像,但数据收集和标注的成本往往让人望而却步。最近,我发现阿里通义模型可以自动生成逼真且多样化的合成数据&…

作者头像 李华
网站建设 2026/4/14 12:09:00

动态规划在OCR路径优化中的应用:提升字符连通性

动态规划在OCR路径优化中的应用:提升字符连通性 📖 技术背景与问题提出 光学字符识别(OCR)作为连接图像与文本信息的关键技术,广泛应用于文档数字化、票据识别、车牌读取等场景。尽管深度学习模型如CRNN(Co…

作者头像 李华
网站建设 2026/4/8 19:52:53

APK Installer终极指南:5分钟在Windows上完美运行安卓应用

APK Installer终极指南:5分钟在Windows上完美运行安卓应用 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 还在为电脑无法运行手机应用而苦恼吗&#xff1f…

作者头像 李华