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

如何使用Keras搭建指定结构的二分类神经网络

实现方案

第2层激活函数选择说明

  • 1个输出节点的二分类场景不能使用softmax激活:softmax的作用是对所有输出节点的结果做归一化,单节点输出经过softmax后永远为1,无法体现分类概率差异,完全失效
  • 此处应选用sigmoid激活函数,输出0~1之间的概率值,对应二分类的两类预测结果

数据预处理要求

你给出的X/Y矩阵尺寸为2320,对应320个样本、每个样本2个特征,需要先转置为(320, 2)的格式匹配Keras的输入规则;标签C尺寸为1320,直接转置为(320, 1)即可使用,无需额外编码转换。

网络搭建完整代码

from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense

# 初始化序列模型
model = Sequential()
# 第0层(输入层,2个节点)+ 第1层(4个单元,linear激活)
model.add(Dense(4, activation='linear', input_dim=2))
# 第2层(1个节点,sigmoid激活)
model.add(Dense(1, activation='sigmoid'))

# 编译模型,二分类采用二元交叉熵损失
model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'])

# 训练示例,x_train为转置后的(320,2)特征矩阵,y_train为转置后的(320,1)标签矩阵
# model.fit(x_train, y_train, epochs=50, batch_size=16, validation_split=0.2)

特殊场景适配

如果你原始标签确实是2维one-hot格式(尺寸为2*320,每个样本对应[1,0]或[0,1]),且要求输出层必须为1个节点,只需先对one-hot标签做转换:取每个样本的最大值索引,得到单值标签后再输入模型训练即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 06:27:00