【问题标题】:Getting some sort of Math Formula from a Machine Learning trained model从机器学习训练的模型中获取某种数学公式
【发布时间】:2019-09-16 06:51:58
【问题描述】:

我已经在这里问过这个问题:Can Convolutional Neural Networks (CNN) be represented by a Mathematical formula?,但我觉得我不够清楚,而且提议的想法对我不起作用。

假设我使用我的计算机训练某种机器学习算法(即朴素贝叶斯、决策树、线性回归等)。所以我已经有一个训练有素的模型,我可以给它一个输入值并返回预测的结果(即 1 或 0)。

现在,假设我仍然想给出一个输入并获得一个预测的输出。但是,此时我希望我的输入值乘以某种数学公式、权重或代表我的“训练模型”的矩阵。

换句话说,我希望我的训练模型“转换”成某种公式,我可以给出输入并得到预测的数字。

我之所以要这样做是因为我想训练一个大数据集并使用复杂的预测模型。并在更简单的硬件(例如 PIC32 微控制器)中使用这种经过训练的预测模型。 PIC32 微控制器不会训练机器学习或存储所有输入。相反,微控制器会简单地从系统中读取某些数字,应用数学公式或某种矩阵乘法,然后给我预测的输出。有了它,我可以在更简单的设备中使用“花哨的”神经网络,这些设备可以轻松操作数学公式。

【问题讨论】:

  • 取决于型号。例如,线性/逻辑回归只是 y=intercept+x1w1+x2w2+x3w3,即每个输入特征的系数。决策树是……正是如此。一个复杂的决策树,它可能会或可能不会作为一组 if-then 语句进行手动编程(深度为 100?100?1000?级别)它基本上将依赖于模型

标签: python machine-learning


【解决方案1】:

基本上,每个机器学习算法都是一个参数化的公式,您的训练模型是应用于输入的学习参数。

因此,您实际要求的是将任意计算或多或少简化为矩阵乘法。恐怕这在数学上是不可能的。如果你真的想出了解决这个问题的方法,请务必分享它——你会立即成名,很可能会变得富有,并且会让大量研究人员破产。如果你不能从一开始就训练一个矩阵乘法来获得你想要的精度,那么是什么让你认为你可以将任意“复杂预测模型”归结为如此简单的计算?

【讨论】:

    【解决方案2】:

    如果我没看错的话,您希望在许多变量中使用通常连续的函数来替换 CNN。存在于具有人工神经网络(“正常”神经网络)的世界中的 CNN 的中心点在于,它包括干扰性转换:非线性、不连续性等,使 CNN 能够开发出简单线性组合的识别和关系——例如作为矩阵乘法——无法处理。

    如果您想更好地理解这一点,我建议您以适合您学习风格的任何演示模式选择深度学习和 CNN 简介。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-07-12
      • 2018-11-06
      • 2017-09-21
      • 2017-12-14
      • 2011-02-15
      • 2021-10-01
      • 2018-06-12
      • 1970-01-01
      相关资源
      最近更新 更多