第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

Keras 神經(jīng)網(wǎng)絡(luò)為所有輸入預(yù)測相同的數(shù)字

Keras 神經(jīng)網(wǎng)絡(luò)為所有輸入預(yù)測相同的數(shù)字

一只甜甜圈 2022-07-19 20:31:57
我正在嘗試創(chuàng)建一個(gè) keras 神經(jīng)網(wǎng)絡(luò)來預(yù)測城市兩點(diǎn)之間的道路距離。我正在使用谷歌地圖來獲取旅行距離,然后訓(xùn)練神經(jīng)網(wǎng)絡(luò)來做到這一點(diǎn)。import pandas as pdarr=[]for i in range(0,100):    arr.append(generateTwoPoints(55.901819,37.344735,55.589537,37.832254))    df=pd.DataFrame(arr,columns=['p1Lat','p1Lon','p2Lat','p2Lon', 'distnaceInMeters', 'timeInSeconds'])print(df)神經(jīng)網(wǎng)絡(luò)架構(gòu):from keras.optimizers import SGDsgd = SGD(lr=0.00000001)from keras.models import Sequentialfrom keras.layers import Dense, Activationmodel = Sequential()model.add(Dense(100, input_dim=4 , activation='relu'))model.add(Dense(100, activation='relu'))model.add(Dense(1,activation='sigmoid'))model.compile(loss='mse', optimizer='sgd', metrics=['mse'])然后我分集進(jìn)行測試/訓(xùn)練Xtrain=train[['p1Lat','p1Lon','p2Lat','p2Lon']]/100Ytrain=train[['distnaceInMeters']]/100000Xtest=test[['p1Lat','p1Lon','p2Lat','p2Lon']]/100Ytest=test[['distnaceInMeters']]/100000然后我將數(shù)據(jù)擬合到模型中,但損失保持不變:history = model.fit(Xtrain, Ytrain,                    batch_size=1,                    epochs=1000,                    # We pass some validation for                    # monitoring validation loss and metrics                    # at the end of each epoch                    validation_data=(Xtest, Ytest))我稍后打印數(shù)據(jù):prediction = model.predict(Xtest)print(prediction)print (Ytest)但是所有輸入的結(jié)果都是相同的:[[0.26150784] [0.26171574] [0.2617755 ] [0.2615582 ] [0.26173398] [0.26166356] [0.26185763] [0.26188275] [0.2614446 ] [0.2616575 ] [0.26175532] [0.2615183 ] [0.2618127 ]]    distnaceInMeters2            0.135956            0.279987            0.4884916           0.3655321           0.3791022           0.4017633           0.0917339           0.2454253           0.0421655           0.3821262           0.3997264           0.2915387           0.08788我找不到問題。它是什么?我是機(jī)器學(xué)習(xí)的新手。
查看完整描述

2 回答

?
UYOU

TA貢獻(xiàn)1878條經(jīng)驗(yàn) 獲得超4個(gè)贊

您犯了一個(gè)非?;镜腻e(cuò)誤:由于您處于回歸設(shè)置中,因此您不應(yīng)最后一層使用sigmoid激活(這用于二元分類情況);將最后一層更改為

model.add(Dense(1,activation='linear'))

甚至

model.add(Dense(1))

因?yàn)?,根?jù)文檔,如果您不指定activation參數(shù),則默認(rèn)為linear.

其他答案中已經(jīng)提供了各種其他建議,并且評(píng)論可能很有用(較低的 LR、更多層、其他優(yōu)化器,例如Adam),您當(dāng)然需要增加批量大小;但是sigmoid您當(dāng)前用于最后一層的激活功能將無法使用。

與問題無關(guān),但在回歸設(shè)置中,您不需要將損失函數(shù)作為指標(biāo)重復(fù);這個(gè)

model.compile(loss='mse', optimizer='sgd')


查看完整回答
反對(duì) 回復(fù) 2022-07-19
?
jeck貓

TA貢獻(xiàn)1909條經(jīng)驗(yàn) 獲得超7個(gè)贊

如果您可以在整個(gè)訓(xùn)練過程中發(fā)布損失和 MSE(訓(xùn)練和驗(yàn)證/測試集)的進(jìn)展,那將非常有用。更好的是,如果您可以按照https://machinelearningmastery.com/display-deep-learning-model-training-history-in-keras/將其可視化并在此處發(fā)布可視化,那將是最好的。

同時(shí),根據(jù)事實(shí):1)您說損失沒有減少(我假設(shè)在訓(xùn)練集上,在訓(xùn)練期間,根據(jù)您的編譯參數(shù))。2)您說您的測試集上的預(yù)測“準(zhǔn)確性”很差。3)我的經(jīng)驗(yàn)/直覺(不是經(jīng)驗(yàn)評(píng)估)告訴我,你的兩層密集模型太小了,無法捕捉數(shù)據(jù)中固有的復(fù)雜性。AKA 你的模型偏差過高https://towardsdatascience.com/understanding-the-bias-variance-tradeoff-165e6942b229

您可以嘗試的最快和最簡單的方法是嘗試向每一層添加更多層和更多節(jié)點(diǎn)。

但是,我應(yīng)該注意到,除了兩個(gè)坐標(biāo)之間的距離之外,還有很多因果信息會(huì)影響行駛距離行駛時(shí)間,這可能是您的神經(jīng)網(wǎng)絡(luò)最容易提取的特征。例如,無論您是在高速公路上行駛還是在小樹林、交通信號(hào)燈上行駛,無論道路是曲折還是直行……僅從數(shù)據(jù)中就可以推斷出所有這些,您將需要大量數(shù)據(jù)(示例)在我的觀點(diǎn)。如果您可以添加輸入列,例如從兩個(gè)點(diǎn)到最近的高速公路的距離,您也許可以用更少的數(shù)據(jù)進(jìn)行訓(xùn)練

我還建議您仔細(xì)檢查您是否輸入了您認(rèn)為輸入的內(nèi)容(及其形狀),并且您應(yīng)該使用函數(shù)sklearn的一些標(biāo)準(zhǔn)化,這可能有助于模型更快地學(xué)習(xí)并更快地收斂到更高“準(zhǔn)確性”。

如果以及當(dāng)您發(fā)布更多代碼或培訓(xùn)歷史時(shí),我可以為您提供更多幫助(以及多少培訓(xùn)樣本)。

編輯1:batch_size=32如果它適合您的記憶, 最好嘗試將批量大小更改為更大的數(shù)字。當(dāng)使用像圖像這樣的“信息豐富”輸入時(shí),您可以使用小批量大?。ɡ?1),但是當(dāng)使用像 4 個(gè)浮點(diǎn)數(shù)(2 個(gè)坐標(biāo))這樣非?!靶畔⒇毞Α钡臄?shù)據(jù)時(shí),漸變將指向每個(gè)批次( with batch_size=1) 到一個(gè)幾乎隨機(jī)的(偽...)方向,而不一定更接近局部最小值。只有在對(duì)較大批次(例如 32 個(gè),甚至更多)的集體損失進(jìn)行梯度計(jì)算時(shí),您才會(huì)得到一個(gè)至少近似指向局部最小值方向的梯度,并收斂到更好的結(jié)果。另外,我建議你不要手動(dòng)弄亂學(xué)習(xí)率,也許改用像“adam”或“RMSProp”這樣的優(yōu)化器。

編輯 2:@Desertnaut 提出了一個(gè)很好的觀點(diǎn),我完全錯(cuò)過了,沒有它的更正,你的代碼將無法正常工作。他應(yīng)得的榮譽(yù),所以我不會(huì)在這里包括它。請(qǐng)參考他的回答。另外,不要忘記提高批量大小,不要“手動(dòng)弄亂”你的學(xué)習(xí)率,例如“adam”會(huì)為你做這件事。


查看完整回答
反對(duì) 回復(fù) 2022-07-19
  • 2 回答
  • 0 關(guān)注
  • 112 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)