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

Kaggle作文评分模型精度停滞0.51-0.52,寻求优化方案

Kaggle作文评分预测模型优化问题

任务背景

针对作文的词汇、衔接、规范、语法、措辞、句法6项参数进行评分预测,属于多输出回归任务。

数据情况

  • 输入特征X维度为7
  • 目标变量y取值范围为[1,7],对应6项评分的输出维度

当前问题

已基于Keras Tuner实现RandomSearch超参数搜索模型,但模型精度峰值仅为0.52,预测效果极差。训练历史显示训练集与验证集精度差距明显,模型适配性存在问题。

模型构建与超参数搜索代码

def model_builder(hp):
  model = tf.keras.Sequential()
    
  model.add(Dense(6,input_shape=(6,), activation = "relu"))

  units1 = random.randrange(32,512,32)  
  model.add(tf.keras.layers.Dense(units=units1, activation='relu'))
  model.add(tf.keras.layers.Dropout(0.3))
  
  units2 = random.randrange(32,512,32)  
  model.add(tf.keras.layers.Dense(units=units2, activation='relu'))
  model.add(tf.keras.layers.Dropout(0.3))

  units3 = random.randrange(32,512,32)  
  model.add(tf.keras.layers.Dense(units=units3, activation='relu'))
  model.add(tf.keras.layers.Dropout(0.4))
    
  units7 = random.randrange(32,512,32)  
  model.add(tf.keras.layers.Dense(units=units7, activation='relu'))  
  model.add(tf.keras.layers.Dropout(0.3))

  units8 = random.randrange(32,512,32)  
  model.add(tf.keras.layers.Dense(units=units8, activation='relu'))  
  model.add(tf.keras.layers.Dropout(0.2))
    
  model.add(tf.keras.layers.Dense(6))

  # 调优优化器参数
  hp_learning_rate = hp.Choice('learning_rate', values=[1e-2, 1e-3, 1e-4])
  hp_momentum = hp.Choice('momentum', values = [1e-1, 3e-1, 5e-1, 7e-1, 9e-1])

  model.compile(optimizer=tf.keras.optimizers.SGD(learning_rate=hp_learning_rate,
                                                   momentum=hp_momentum,
                                                  ),
                loss=tf.keras.losses.MeanSquaredError(),
                metrics=['accuracy'])

  return model


# 超参数搜索代码
tuner = kt.RandomSearch(
        hypermodel=model_builder,
        objective='val_accuracy',
        max_trials=10,
    )

early_stopping_monitor = EarlyStopping(monitor='val_accuracy', patience = 10, restore_best_weights=True)

tuner.search(X_train,
             y_train, 
             epochs=80, 
             batch_size=16,
             validation_data=(X_test,y_test), 
             callbacks=[early_stopping_monitor])

# 获取最优超参数
best_hps=tuner.get_best_hyperparameters(num_trials=1)[0]

print(f"""
The hyperparameter search is complete. The optimal learning rate for the optimizer
is {best_hps.get('learning_rate')}.
""")

已尝试的优化措施

  • 特征提取以提升特征相关性,效果不佳
  • 测试不同优化器、激活函数,未改善模型性能
  • 计划尝试将数据归一化至0-1区间并使用sigmoid激活函数

寻求优化建议


内容的提问来源于stack exchange,提问作者Chris Elroy Lewis

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 06:10:59