因此对于我正在制作的应用程序,我正在使用tf.keras.models.Sequential。我知道有用于机器学习的线性和多线性回归模型。在序列的the documentation中,该模型是层的线性堆栈。那等于多线性回归吗?我能找到的线性层堆叠的唯一解释是关于Stackoverflow的this问题。
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
答案 0 :(得分:0)
您在这里混淆了非常重要的两件事。一个是模型,另一个是模型的模型。
该模型的模型确实是线性模型,因为它从开始到结束都沿着一条直线(直接)。
模型本身不是线性的:relu激活用于确保解不是线性的。
线性堆栈既不是线性回归也不是多线性回归。线性堆栈在这里不是ML术语,而是英文的直截了当。 告诉我是否在任何方面都误解了这个问题。
答案 1 :(得分:0)
在 Sequential 的文档中说该模型是层的线性堆栈。这等于多元线性回归吗?
假设您的意思是具有多个变量的回归,则否。
tf.keras.models.Sequential() 定义模型中的层是如何连接的,特别是在这种情况下,这意味着它们是完全连接的(第一层的每个输出都作为输入连接到下一个神经元层)。线性一词用于表示没有有趣的事情在进行,例如recurrency(连接可以倒退)或残差连接(连接可以跳过层)。
就上下文而言,具有多个变量的回归可与具有多个输入且没有传递函数的单个神经元的单层网络相媲美。