1

因此,对于我正在制作的应用程序,我正在使用 tf.keras.models.Sequential。我知道机器学习有线性和多线性回归模型。在Sequential的文档中,据说该模型是层的线性堆栈。这等于多元线性回归吗?我能找到的关于层的线性堆栈的唯一解释是Stackoverflow 上的这个问题。

def trainModel(bow,unitlabels,units):
    x_train = np.array(bow)
    print("X_train: ", x_train)
    y_train = np.array(unitlabels)
    print("Y_train: ", y_train)
    model = tf.keras.models.Sequential([
            tf.keras.layers.Dense(256, activation=tf.nn.relu),
            tf.keras.layers.Dropout(0.2),
            tf.keras.layers.Dense(len(units), activation=tf.nn.softmax)])
    model.compile(optimizer='adam',
                         loss='sparse_categorical_crossentropy',
                         metrics=['accuracy'])
    model.fit(x_train, y_train, epochs=50)
    return model
4

2 回答 2

0

在 Sequential 的文档中,据说该模型是层的线性堆栈。这等于多元线性回归吗?

假设您的意思是具有多个变量的回归,则不。

tf.keras.models.Sequential() 定义模型中的层如何连接,特别是在这种情况下,这意味着它们是完全连接的(第一层的每个输出都作为输入连接到下一层中的每个神经元)。术语线性用于表示没有有趣的事情发生,例如递归(连接可以向后)或剩余连接(连接可以跳过层)。

对于上下文,具有多个变量的回归可与具有多个输入且没有传递函数的单个神经元的单层网络相媲美。

于 2021-07-19T23:06:04.540 回答
0

您在这里混淆了两件非常重要的事情。一个是模型,另一个是模型的模型。

  • 该模型的模型确实是线性的,因为它从头到尾都遵循一条直线(直截了当)。

  • 模型本身不是线性的:relu 激活是为了确保解不是线性的。

线性堆栈不是线性回归,也不是多线性回归。线性堆栈在这里不是 ML 术语,而是直截了当的英文术语。如果我在任何方面误解了这个问题,请告诉我。

于 2019-05-06T12:36:40.857 回答