You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何构建基于特定数值条件的深度学习二分类模型?

构建识别数值阈值的二分类深度学习模型

这个任务本质是基于数值阈值的二分类问题,用简单的深度学习模型就能完美实现,以下是具体步骤和代码实现:

1. 数据准备

  • 生成训练/测试数据:因为规则明确,直接生成覆盖阈值(20)两侧的随机数值即可。比如生成1~40之间的随机数,对应标签规则:
    • 输入数值>20 → 标签[0, 1]
    • 输入数值<20 → 标签[1, 0]
    • 对于等于20的情况,可根据需求自定义标签(比如归为其中一类,或作为边界样本单独处理)
  • 数据格式转换:将单个数值转换为模型可接受的二维数组格式(形状为(样本数, 1)),标签采用one-hot编码格式。
  • 划分数据集:按8:2比例划分训练集和测试集,确保两类数据分布均衡。

2. 模型设计

由于任务逻辑简单,无需复杂模型,用基础的全连接神经网络(MLP)即可:

  • 输入层:接收单个数值,输入维度为1
  • 隐藏层:设置少量神经元(比如4个),使用ReLU激活函数增加非线性能力
  • 输出层:2个神经元,使用Softmax激活函数,输出对应两类的概率分布
  • 损失函数:选择CategoricalCrossentropy(适配one-hot标签的二分类任务)
  • 优化器:使用Adam优化器,默认学习率0.001即可

3. 代码实现(TensorFlow/Keras)

import numpy as np
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense
from tensorflow.keras.losses import CategoricalCrossentropy

# 生成训练数据
np.random.seed(42)  # 设置随机种子保证可复现
x_train = np.random.uniform(1, 40, 1000).reshape(-1, 1)
y_train = np.array([[0, 1] if x > 20 else [1, 0] for x in x_train])

# 生成测试数据
x_test = np.random.uniform(1, 40, 200).reshape(-1, 1)
y_test = np.array([[0, 1] if x > 20 else [1, 0] for x in x_test])

# 构建模型
model = Sequential([
    Dense(4, activation='relu', input_shape=(1,)),
    Dense(2, activation='softmax')
])

# 编译模型
model.compile(optimizer='adam',
              loss=CategoricalCrossentropy(),
              metrics=['accuracy'])

# 训练模型
model.fit(x_train, y_train, epochs=20, batch_size=32, validation_split=0.1)

# 评估模型
test_loss, test_acc = model.evaluate(x_test, y_test)
print(f"测试准确率: {test_acc:.4f}")

# 测试预测
sample_inputs = np.array([[15], [25], [20]])
predictions = model.predict(sample_inputs)
print("\n预测示例:")
for x, pred in zip(sample_inputs, predictions):
    pred_class = np.argmax(pred)
    print(f"输入值: {x[0]} → 预测类别编码: {[1,0] if pred_class ==0 else [0,1]}, 概率分布: {np.round(pred, 4)}")

4. 关键注意事项

  • 数据覆盖范围:如果实际输入的数值可能超出训练时的1~40范围,需扩展训练数据的数值区间,确保模型能学习到正确的阈值逻辑。
  • 模型简化:甚至可以去掉隐藏层,直接用输入层连接输出层,同样能完成任务(因为本质是线性阈值判断)。
  • 边界处理:针对等于20的输入,可在训练时明确标签,或在预测时单独添加规则判断。

内容的提问来源于stack exchange,提问作者Jinsu Jang

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 22:36:29