我在开发一个应用时使用了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
回答:
你在这里混淆了两个非常重要的概念。一个是模型本身,另一个是模型的结构。
-
模型的结构确实是线性的,因为它从头到尾遵循一条直线(直接)。
-
模型本身不是线性的:这里的ReLU激活函数确保了解决方案不是线性的。
线性层堆叠既不是线性回归也不是多重线性回归。这里的线性层堆叠不是一个机器学习术语,而是一个英语词汇,用来表示“直接”。如果我对问题的理解有任何误解,请告诉我。