Machine learning 使用神经网络在房价数据集中获得适当的误差需要多少小时的训练

Machine learning 使用神经网络在房价数据集中获得适当的误差需要多少小时的训练,machine-learning,keras,kaggle,Machine Learning,Keras,Kaggle,我是机器学习新手,我正在尝试在这个数据集上使用keras实现线性回归。虽然我认为经典机器学习更适合这个问题,但我想用神经网络来学习它。我已经做了特征选择,删除了一些相互之间高度相关的特征,现在剩下8个特征。我已经对我的功能进行了规范化,但没有对标签进行规范化。我读过并且知道神经网络通常需要时间来训练,我只想问这个问题,以防止我在一个可能不起作用的模型上投入更多的时间。现在,我正在训练一个采用这种设计的模型: model = Sequential() model.add(Dense(10, inp

我是机器学习新手,我正在尝试在这个数据集上使用keras实现线性回归。虽然我认为经典机器学习更适合这个问题,但我想用神经网络来学习它。我已经做了特征选择,删除了一些相互之间高度相关的特征,现在剩下8个特征。我已经对我的功能进行了规范化,但没有对标签进行规范化。我读过并且知道神经网络通常需要时间来训练,我只想问这个问题,以防止我在一个可能不起作用的模型上投入更多的时间。现在,我正在训练一个采用这种设计的模型:

model = Sequential()
model.add(Dense(10, inputshape = (10, ) , activation =LeakyReLU()))         
model.add(Dense(7, activation=LeakyReLU())) 
model.add(Dense(1)) 
model.compile(optimizer ="adam", loss = "meansquarederror", metrics = ["meansquared_error"])
现在,已经过去了13000个时代和8个小时,我仍然得到: 损失:66127403415.9417-平均平方误差:66127421440.0000-价值损失:75086529026.4872-平均平方误差:75086495744.0000


虽然我可以看到损失一直在缓慢改善(开始时约为3000亿美元)。那么,需要多少个小时的培训才能在这个数据集上获得适当的错误?我做得对吗?

培训时间取决于各种因素:主要的可培训模型参数数量,这实际上取决于您的模型大小,然后是培训数据、时代等。需要注意的是硬件,可以是CPU或GPU或TPU,CPU上的培训非常慢。简单地说,您可以粗略地、模糊地通过(总的\u no\u of \u epochs*Unit\u time)/(每个\u Unit\u time的epochs\u)进行计算。如果你考虑每1小时10个纪元,那么(ToothNosioFi EngChs* 1)/(10)感谢响应!我的问题是3000亿美元的起始损失正常吗?而在13000个时代之后,损失的减少相当缓慢?减少损失是正常的,是的,你可以预期它会在最初阶段以更快的速度减少,然后以较慢的速度减少。损失值取决于您使用的损失函数或目标。对我来说,这听起来有点太多了,但我没有使用MSE作为损失,因此我无法对其进行判断。训练时间取决于各种因素:主要可训练模型参数的数量,这确实取决于您的模型大小,然后是训练数据、纪元等。需要注意的是硬件,可以是CPU或GPU或TPU,CPU的训练速度非常慢。简单来说,你可以粗略而模糊地计算(总的\u no\u of \u epochs*Unit\u time)/(epochs\u per\u Unit\u time)。如果你考虑每1小时10个纪元,那么(ToothNosioFi EngChs* 1)/(10)感谢响应!我的问题是3000亿美元的起始损失正常吗?而在13000个时代之后,损失的减少相当缓慢?减少损失是正常的,是的,你可以预期它会在最初阶段以更快的速度减少,然后以较慢的速度减少。损失值取决于您使用的损失函数或目标。这对我来说听起来有点太多了,但我并没有用MSE作为损失,所以我无法对它进行判断。