1

我是機器學習中的全新人物,我有一個問題,我想用一些AI來解決問題。我會很感激,如果你會推薦我一些具體的算法,神經網絡架構或一些相關的閱讀。基於小序列的以下序列預測

我正在研究基於鼠標移動預測用戶意圖。目前我處於沒有具體數據集的分析階段。目標是通過預測鼠標軌跡來預測用戶意圖的目標(例如,按鈕,用戶將在其中點擊)。

讓我介紹這個問題

我有很多的序列。每個序列的長度可能會有所不同。作爲輸入,我會通過一些較小的序列,爲此我想預測下一個x值。所以我想知道下一個可能的序列(或更多可能的序列)。輸出序列的長度(x)也可能是可變的。序列可能在這裏結束?預測應該「實時」完成。

那麼這些序列是什麼?

序列表示經過一些預處理後二維空間中的運動方向。每個值都是間隔< 0,8>的整數。算法應該能夠增加間隔的上限(16,32,...)。實際上,這個值是插值角度。

Example how sequences may look like but will be much bigger.

三個示例序列。實際序列會更大。

我如何想象解決方案?

序列將根據一些相似性進行聚類。當序列數據集被創建時,一些神經網絡將被訓練以儘可能快地檢索包含輸入序列作爲子序列的序列。

聚類

匹配序列應該有一定的耐受性。序列[3,3,3,3,2]類似於[3,3,4,3,2] =偏差公差*。或者序列[4,3,3,2]也類似於[4,3,3,3,3,2] =連續重複值的容差。 *我可以將兩個值之間的差值表示爲相對數 - 0%相同方向=> 100%相反方向。

matching example

如果輸入是[1,2,2,2-] - 紅 - 輸出應爲[4,3,2,2]。

如果輸入是[3,3,3,2] - 藍色 - 輸出應該是[2]。

神經網絡

經過一番研究,我發現Hopfield網絡,這應該給最相似的序列。但後來我意識到我的序列長度是可變的,Hopfield網絡架構期望二進制值。

我可以以某種方式創建序列的二進制表示,但我不知道如何管理可能會有所不同的長度。

讓我們把它帶到另一個層次

如果什麼順序每個值不是標,但速度矢量(d,S),其中d是方向和小號是速度?

相關問題

  1. 能神經網絡進行培訓,「在線」?所以不需要知道之前的訓練數據集,只需要給出新的數據集。
  2. 神經網絡可以在服務器端訓練(例如python),但用於客戶端(javascript)預測嗎?
  3. 神經網絡是否具有某種「短期記憶」 - 預測會受到2-3個預測的影響?
  4. 最重要的是 - 我應該使用神經網絡還是其他方法?

感謝大家。

隨時糾正我的英語。

回答

2

神經網絡可以在線訓練嗎?所以不需要知道以前的 訓練數據集,只需給出新的數據集即可。

通常情況下,你不會連續訓練ANN。訓練它直到你的誤差在容忍範圍內,然後使用該模型進行預測。如果你想定期調整模型,你可以存儲這些信息,並在每晚重新訓練網絡,但機率不會有太大的提高,並且會冒着長時間的錯誤數據扭曲模型的風險。

可以在服務器端訓練神經網絡(例如python),但在客戶端(javascript)使用 進行預測嗎?

這取決於。您是否打算爲客戶預測使用訓練好的模型,或者您是否打算讓用戶採取行動對直接用於預測的模型進行實況訓練? 如果模型已經過訓練,則可以將其用於預測用戶事件。 如果模型未經過培訓,您將面臨損壞數據的風險。 這樣的實時訓練也需要用服務器生成的新模型在客戶端持續更新模型設置。

神經網絡是否有某種「短期記憶」 - 預測 會受到2-3個預測的影響嗎?

不推薦使用以前的預測作爲輸入。它將熵引入到系統中,如果它連續做出一些不好的預測,它可以使模型大大偏離可靠的預測。您可以嘗試一下,在這種情況下,您需要在輸入圖層上添加n * k個附加節點,其中n是您要使用的之前預測的數量,k是預測中輸出值的數量。

最重要的是 - 我應該使用神經網絡還是其他方法?

ANN對預測事物非常有用。最大的問題是定義範圍,以及進行預測所需的相關可靠數據。我已經制作了可以預測視頻遊戲市場波動的ANN,其中包含數千種輸入值,但預測鼠標移動將成爲一項挑戰。沒有什麼能阻止用戶將鼠標移動一圈數小時,或將光標留在一個地方。每次你採樣這樣一個動作時,它都會讓你的模型更有可能預測這種行爲類型。良好的培訓數據和受控環境至關重要。視頻遊戲會造成預測鼠標移動的惡劣環境,因爲用戶的行爲依賴於以前的鼠標移動。網站將是一個有利的環境,因爲在會話期間,用戶通過有限的空間以可預測的方式導航。