【深度学习|学习笔记】从机器学习范式看神经网络能解决什么?(一)

【深度学习|学习笔记】从机器学习范式看神经网络能解决什么?(一)

【深度学习|学习笔记】从机器学习范式看神经网络能解决什么?(一)



欢迎铁子们点赞、关注、收藏!
祝大家逢考必过!逢投必中!上岸上岸上岸!upupup

大多数高校硕博生毕业要求需要参加学术会议,发表EI或者SCI检索的学术论文会议论文。详细信息可扫描博文下方二维码 “学术会议小灵通”或参考学术信息专栏:https://blog.csdn.net/2401_89898861/article/details/148877490


前言

  • 下面这份“总览 + 代码示例”会把神经网络能解决的问题,放在机器学习的经典范式里系统讲清楚,并给出可直接改造的 PyTorch 小样例。你可以把它当作“问题→方法→实现”的速查表。

1. 从机器学习范式看神经网络能解决什么

神经网络(NN)= 可学习的非线性函数族,通过梯度下降在数据驱动下自动学习表示(representation)。它覆盖了几乎所有常见学习范式:

监督学习:有标签

  • 回归(连续变量预测)、分类(离散类别)、结构化输出(语义分割、实例分割、检测、关键点/姿态)。

无监督 / 自监督:无人工标签

  • 聚类、表征学习(对比学习、掩码重建)、密度估计、异常检测(自编码器、扩散模型重建误差)。

生成建模:学到数据分布并采样

  • 文生图(扩散/Transformer)、文本生成、语音合成、超分辨率、去噪、缺失值填补。

时序/序列建模:RNN/LSTM/Transformer

  • 机器翻译、语音识别、时间序列预测(气象、水文、交易量、IoT)、事件序列建模。

强化学习(RL):与环境交互学策略

  • 机器人/控制、运筹优化(车队调度、路径规划)、游戏智能体。

图学习(GNN):图结构数据

  • 社交/交通/分子图的节点分类、链路预测、图分类。

推荐/排序:CTR/CVR 预估、多目标排序

  • Wide&Deep、DeepFM、DIN/DIEN 等深度特征交互模型。

科学与工程:PINNs、反演与同化

  • 偏微分方程求解、物理约束重建、遥感反演、下采样→上采样/下尺度化(downscaling)。

多模态:图文、语音、时空

  • 检索(CLIP)、VQA、视频理解、遥感时空融合。

2. 典型问题清单(含输入输出与常用评价)

问题类型输入→输出常用架构损失评价指标
回归x→y∈ℝMLP/ResNet/TransformerMSE/HuberRMSE/MAE/R²
二/多分类x→y∈{1…K}MLP/CNN/TransformerCE/FocalAcc/F1/AUC
语义分割图像→像素类别图U-Net/DeepLabCE+DicemIoU/Dice
目标检测图像→框+类别YOLO/DetectronGIoU+CEmAP
时序预测序列→未来值LSTM/TCN/TransformerMSE/MAERMSE/MAPE
异常检测x→重建x̂AE/VAEL2/ELBOAUROC/PR
推荐/排序用户×物品→点击/分数DeepFM/DINBCE/PairwiseAUC/NDCG
图学习图/节点→标签GCN/GATCEAcc/F1
生成噪声/提示→样本Diffusion/VAEDiffusion/ELBOFID/IS/PSNR
强化学习状态→动作Policy/Value NetRL目标累积回报

3. 何时优先用神经网络?

  • 强非线性/高维原始模态:图像、语音、文本、时空格点数据。
  • 端到端表征学习:手工特征难以覆盖时。
  • 大数据 + 可计算:NN 随数据规模提升表现通常更稳健。
  • 需要生成/重建/填补:扩散、AE、VAE 很合适。

4. 何时慎用/不用?

  • 样本极少但特征工程成熟:先试线性/树模型。
  • 强可解释性刚需:可选广义加性模型/GAM、树模型或加可解释约束。
  • 部署资源极小:考虑蒸馏/剪枝/量化或更轻模型。

5. Python 代码小册(PyTorch 迷你范式)

  • 说明:以下示例都尽量精简,展示“问题→网络→损失→指标”的骨架,便于你替换数据集与超参。

5.1 表格数据:二分类/回归(同一 MLP 结构复用)

import torch, torch.nn as nn, torch.nn.functional as F
from torch.utils.data import TensorDataset, DataLoader

# 伪造一些数据:N 行、d 维
N, d = 2000, 20
X = torch.randn(N, d)
# 二分类标签
y_cls = (X[:, 0] + 0.5*X[:, 1] - 0.3*X[:, 2] + 0.1*torch.randn(N) > 0).long()
# 回归标签
y_reg = X[:, :5].sum(dim=1) + 0.1*torch.randn(N)

class MLP(nn.Module):
    def __init__(self, in_dim, out_dim):
        super().__init__()
        self.net = nn.Sequential(
            nn.Linear(in_dim, 128), nn.ReLU(),
            nn.Linear(128, 64), nn.ReLU(),
            nn.Linear(64, out_dim)
        )
    def forward(self, x): return self.net(x)

def train_simple(X, y, out_dim, loss_fn, epochs=20):
    ds = TensorDataset(X, y)
    dl = DataLoader(ds, batch_size=64, shuffle=True)
    model = MLP(X.shape[1], out_dim)
    opt = torch.optim.Adam(model.parameters(), 1e-3)
    for _ in range(epochs):
        for xb, yb in dl:
            pred = model(xb)
            loss = loss_fn(pred.squeeze(), yb)
            opt.zero_grad(); loss.backward(); opt.step()
    return model

# 二分类:CrossEntropy 要求 logits,标签为 long
clf = train_simple(X, y_cls, out_dim=2, loss_fn=lambda p,y: F.cross_entropy(p, y))

# 回归:MSE
reg = train_simple(X, y_reg, out_dim=1, loss_fn=lambda p,y: F.mse_loss(p, y))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不想努力的小土博

您的鼓励是我创作的动力!谢谢!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值