李豆皮 2024-06-28 21:12 采纳率: 100%
浏览 30
已结题

本人本科机械,目前研一。没有深度学习基础,目前对研究生课题一片迷茫,请教各位!

联合收获机清选工作参数包括清选风机转速、振动筛频率、鱼鳞筛筛片开度等多个工作参数,籽粒损失率和含杂率作为清选效果评价指标。

首先我需要采集大量试验数据,探究在不同喂入量(单位时间内喂入谷物质量,kg/s;整机工作速度改变时喂入量也会随之改变)条件下风机转速、振动筛频率、鱼鳞筛筛片开度对籽粒损失率和含杂率的影响规律,建立模型;然后将机器喂入量、损失率、含杂率实时数据作为输入,当喂入量改变时,系统能够根据训练的模型自适应调控风机转速、振动筛频率、鱼鳞筛筛片开度工作参数(这个过程是一个反馈调节过程)以得到最小的损失率和含杂率。

之前考虑过使用深度学习,但是深度学习模型训练需要的数据集过于庞大才能得到有效模型,我这个数据集很少最多不过100组试验数据,想请教各位有没有什么好的思路

又或者说在实际工作中联合收获机从一个工作速度调到另一个工作速度时,喂入量也发生改变,我该怎么调节这些参数(涉及到一种参数调节方法)以使整机工作效率最优(最小的损失率和含杂率),不知道动态规划是否可以实现,请教各位!

我之前就AI过了,希望大家不要AI回答了,想听听大家的想法

  • 写回答

28条回答 默认 最新

  • 专家-郭老师 Java领域新星创作者 2024-06-28 21:13
    关注

    🕗晚上好,题主!目前:🟢[在线]
    📢参考通义千问、由郭老师整理提供!
    📣今日诗号:相思一夜梅花发,忽到窗前疑是君。

    联合收获机清选参数自适应调节方案

    您的问题可以分解为两个部分:

    1. 建模与预测: 如何利用有限的实验数据建立模型,预测不同喂入量下,如何设置清选参数以获得最佳的清选效果(最小化损失率和含杂率)。
    2. 参数调节: 如何根据实时喂入量、损失率和含杂率数据,动态调整清选参数,实现自适应控制。

    以下是针对这两个部分的一些思路和方法建议:

    一、 建模与预测

    考虑到数据量较少,深度学习可能并不适用。建议您考虑以下方法:

    1. 基于机理模型的方法:

    • 理论分析: 研究清选过程的物理机理,建立描述喂入量、风机转速、振动筛频率、鱼鳞筛筛片开度与损失率、含杂率之间关系的数学模型。
    • 实验数据拟合: 利用已有的实验数据,对机理模型中的参数进行辨识和优化,得到能够准确描述清选过程的模型。

    优点*: 物理意义明确,可解释性强。 缺点*: 建模难度大,需要对清选过程有深入的理解。

    2. 数据驱动模型的方法:

    • 响应面方法 (Response Surface Methodology, RSM): 利用实验数据,建立清选效果指标(损失率、含杂率)与控制参数(风机转速、振动筛频率、鱼鳞筛筛片开度)之间的响应面模型。该方法可以有效地处理少量数据,并进行参数优化。
    • 高斯过程回归 (Gaussian Process Regression, GPR): 一种非参数模型,可以有效地处理小样本数据,并提供预测的不确定性估计。
    • 支持向量机回归 (Support Vector Regression, SVR): 一种鲁棒性强的机器学习算法,适用于小样本回归问题。

    优点*: 建模相对简单,对数据的要求较低。 缺点*: 模型可解释性相对较差,泛化能力受数据量限制。

    二、 参数调节

    1. 基于模型的控制方法:

    • 模型预测控制 (Model Predictive Control, MPC): 利用已建立的模型预测未来一段时间内的清选效果,并根据预测结果优化控制参数,实现最优控制。
    • 自适应控制 (Adaptive Control): 根据实时数据对模型参数进行在线调整,以适应工作条件的变化。

    优点*: 控制精度高,响应速度快。 缺点*: 需要建立精确的模型,对计算资源要求较高。

    2. 基于规则的控制方法:

    • 模糊控制 (Fuzzy Control): 利用模糊逻辑和专家经验,根据实时数据制定控制规则,实现清选参数的调节。
    • PID 控制 (Proportional-Integral-Derivative Control): 一种经典的控制方法,根据误差信号(损失率和含杂率与目标值的偏差)计算控制量,实现对清选参数的调节。

    优点*: 实现简单,对模型精度要求较低。 缺点*: 控制精度和响应速度有限。

    三、 代码示例

    以下是一个使用 Python 和 scikit-learn 库实现支持向量机回归 (SVR) 进行建模和预测的简单示例:

    import numpy as np
    from sklearn.svm import SVR
    from sklearn.model_selection import train_test_split
    from sklearn.metrics import mean_squared_error
    
    # 假设您的数据存储在名为 'data.csv' 的文件中,包含以下列:
    # 喂入量, 风机转速, 振动筛频率, 鱼鳞筛筛片开度, 损失率, 含杂率
    
    # 加载数据
    data = np.loadtxt("data.csv", delimiter=",")
    
    # 分离特征和目标变量
    X = data[:, :-2]  # 喂入量, 风机转速, 振动筛频率, 鱼鳞筛筛片开度
    y = data[:, -2:]  # 损失率, 含杂率
    
    # 将数据分成训练集和测试集
    X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
    
    # 创建 SVR 模型
    model = SVR(kernel='rbf', C=100, gamma=0.1)
    
    # 训练模型
    model.fit(X_train, y_train)
    
    # 使用测试集评估模型
    y_pred = model.predict(X_test)
    mse = mean_squared_error(y_test, y_pred)
    print(f"Mean Squared Error: {mse}")
    
    # 使用训练好的模型进行预测
    new_data = np.array([[1000, 1500, 10, 20]])  # 例如,预测喂入量为 1000 kg/s 时的损失率和含杂率
    predictions = model.predict(new_data)
    print(f"Predictions: {predictions}")
    

    请注意:

    • 这只是一个简单的示例,您需要根据您的实际数据和问题进行调整。
    • 您需要选择合适的模型参数(例如 SVR 中的 kernel, Cgamma),并使用交叉验证等技术来优化模型性能。
    • 您还需要考虑如何将模型集成到您的控制系统中,实现清选参数的实时调整。

    希望这些信息对您有所帮助!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(27条)

报告相同问题?

问题事件

  • 系统已结题 7月13日
  • 已采纳回答 7月5日
  • 修改了问题 6月28日
  • 创建了问题 6月28日

悬赏问题

  • ¥15 如何在vue.config.js中读取到public文件夹下window.APP_CONFIG.API_BASE_URL的值
  • ¥50 浦育平台scratch图形化编程
  • ¥20 求这个的原理图 只要原理图
  • ¥15 vue2项目中,如何配置环境,可以在打完包之后修改请求的服务器地址
  • ¥20 微信的店铺小程序如何修改背景图
  • ¥15 UE5.1局部变量对蓝图不可见
  • ¥15 一共有五道问题关于整数幂的运算还有房间号码 还有网络密码的解答?(语言-python)
  • ¥20 sentry如何捕获上传Android ndk 崩溃
  • ¥15 在做logistic回归模型限制性立方条图时候,不能出完整图的困难
  • ¥15 G0系列单片机HAL库中景园gc9307液晶驱动芯片无法使用硬件SPI+DMA驱动,如何解决?