游乐游手机版
首页/AI热点日报/热点详情

由浅入深图解机器学习与GPT原理

类型:热点整理2026-07-12
从房价预测场景出发,图解神经网络基础概念(权重、偏置、损失函数、梯度下降),逐步延伸到多变量输入、回归与分类问题,并系统介绍机器学习与GPT原理的核心框架,涵盖数据预处理、模型训练与优化等关键环节。

从零开始:图解机器学习的核心概念

这篇教程将带你用最直观的方式,理解机器学习与神经网络的基础原理。我们从一个生活场景出发——预测房价,逐步构建出完整的知识框架。无论你是软件工程师还是刚入门的学习者,都能轻松跟上。

一、你的第一个神经网络:用面积预测房价

假设你的朋友想买一栋房子,对方报价40万美元,房子面积2000平方英尺(约185平方米)。这个价格合理吗?你询问了同一社区的朋友,得到了三个数据点:

  • 面积(平方英尺) —— 价格(美元)
  • 2,104 —— 399,900
  • 1,600 —— 329,900
  • 2,400 —— 369,000

你首先想到的是计算每平方英尺平均价格:约180美元/平方英尺。把这个数字当作权重(weight),就构成了一个最简单的神经网络:

计算过程:输入面积(2,000平方英尺)→ 乘以权重180 → 输出预测价格360,000美元。这个模型被称为回归模型(输出连续值)。

小提示: 这里的权重就是“训练”要寻找的核心参数。每当听到“训练神经网络”,本质上就是找到能最小化预测误差的权重。

为了便于计算,我们将价格单位从美元换成千美元,权重变为0.180:

二、如何衡量“更好”:引入损失函数

上面的平均法是最简单的模型,但能做得更好吗?首先我们需要定义“更好”的标准。将模型应用于已有的三个数据点,计算预测值与实际值的差异:

面积 (x)价格 ($1000) (y_)预测值 (y)y_-y(y_-y)²
2,104399.937921449
1,600329.9288421,756
2,400369432-633,969
平均值:2,058

由于差值有正有负,我们使用平方误差来消除符号影响,然后对所有点的平方误差取平均,得到均方误差(MSE)。这就是我们的损失函数(也称成本函数),用来指导训练过程。

尝试更换权重值,看能否降低误差:

只调整权重效果有限。这时我们引入偏置(bias, b),公式变为:

预测价格 = 权重 × 面积 + 偏置

新的网络结构如下:

其中 Wb 是训练要找到的参数,x 是输入(面积),y 是预测价格。具体公式:

对于我们的例子:

三、自动训练:梯度下降

手动训练挑战: 你能通过调整权重和偏置,让损失函数值低于799吗?

小提示: 手动调整参数虽然直观,但效率低下。实际训练中会使用自动优化算法。

下面演示了梯度下降(Gradient Descent)如何自动寻找最优的权重和偏置:

梯度下降利用微积分计算损失函数对当前参数的导数,从而决定下一步的调整方向和幅度。这个过程会持续迭代,直到损失值不再明显下降。

常见问题: 梯度下降是如何知道往哪个方向走的?

  • 答:通过计算损失函数在当前位置的梯度(导数)。梯度指向损失增加最快的方向,所以沿着其反方向调整参数,就能使损失逐步减小。

四、引入更多特征:多变量输入

仅凭面积预测房价显然不够。你的朋友又收集了每个房子的浴室数量

  • 面积 (sqft) —— 浴室数 —— 价格
  • 2,104 —— 3 —— 399,900
  • 1,600 —— 3 —— 329,900
  • 2,400 —— 3 —— 369,000
  • 1,416 —— 2 —— 232,000
  • 3,000 —— 4 —— 539,900
  • 1,985 —— 4 —— 299,900
  • 1,534 —— 3 —— 314,900
  • 1,427 —— 3 —— 198,999
  • 1,380 —— 3 —— 212,000
  • 1,494 —— 3 —— 242,500

新的神经网络有两个输入节点:

公式变为:

我们需要找到两个权重(w1对应面积,w2对应浴室数)和一个偏置。手动调整难度大增,此时梯度下降依然可靠:

重要提醒: 并非所有特征都适合输入模型。特征选择是一门独立学科,需要根据数据和问题领域谨慎决定。比如Kaggle上的泰坦尼克挑战中,就需要从乘客名单中挑选出最能预测生存率的特征。

五、从回归到分类:预测“好”或“坏”

现在你的朋友换了一种方式:她直接标注了哪些房子让她觉得“满意(Good)”,哪些“不满意(Bad)”。你需要根据面积和浴室数量预测她对其他房子的喜好。

面积 (sqft)浴室数标签
2,1043Good
1,6003Good
2,4003Good
1,4162Bad
3,0004Bad
1,9854Good
1,5343Bad
1,4273Good
1,3803Good
1,4943Good

这是一个分类问题,输出只能是离散的类别(Good或Bad)。实践中,我们通常让网络输出每个类别的概率,而不是硬性的“是/否”。

修改网络结构:输出两个值(分别代表Good和Bad的得分),然后经过一个softmax函数,将得分转换为概率(总和为1)。

例如:输出层得到“Good = 2”、“Bad = 4”,经过softmax后变成[0.11, 0.88],表示88%的概率是“Bad”。

小提示: softmax不仅可以将得分归一化,还能放大数值差距(4是2的两倍,但概率是8倍)。这种特性有助于训练更敏感的模型。

softmax可以轻松扩展到任意数量的类别。比如朋友增加第三个标签“还不错,但可出租一间”,网络对应的输出节点数也变成3:

试着想象一下:输入特征(面积、浴室数、价格、通勤距离等)和输出类别(太贵、性价比高、可出租、太小)自由组合时,网络形状会如何变化?

常见问题: softmax中的“温度”参数是什么?

  • 答:标准的softmax没有温度参数,但实际应用中有时会引入“温度系数”来控制概率分布的平滑程度。温度越高,输出越均匀;温度越低,输出越“尖锐”。本文未深入讨论,了解即可。

六、继续前进:学习资源与行动建议

至此,你已经掌握了神经网络的基石:输入、权重、偏置、损失函数、梯度下降、softmax分类。这些概念在TensorFlow的官方入门教程《MNIST机器学习初学者》中会立刻出现。本文正是为了让你在面对那张经典网络图时不再陌生:

如果你想动手实践,可以立刻尝试TensorFlow官方的手写数字识别教程。同时,建议从以下资源继续深入学习:

  • Andrew Ng的机器学习课程(Coursera) —— 从回归到分类再到神经网络,最系统的入门。
  • Geoffrey Hinton的神经网络课程(Coursera) —— 更侧重神经网络与视觉应用。
  • 斯坦福CS231n(卷积神经网络与视觉识别) —— 深度神经网络的前沿应用。
  • 神经网络社区(Neural Network ZOO) —— 了解各种网络结构。

最后鼓励: 你可以带着这些问题继续探索:

  • 还有哪些损失函数?各自适用什么场景?
  • 梯度下降具体如何计算新权重?
  • 机器学习如何与你已有的技能(比如软件工程)结合,创造出新的神奇应用?

希望这篇教程能成为你机器学习之旅的第一块踏脚石。如果你发现任何错误或有更好的建议,欢迎在社交平台上联系原作者或译者。

来源:https://m.elecfans.com/article/2114537.html

相关热点

继续查看同栏目近期热点。

延伸阅读

补充最近整理过的热点入口。