M9904207 陳秋吟

Ø  Problem Understanding

Track1

Datasets:

²  albumData1.txt

專輯設定如下:

albumID(僅此依編號大小排序)artistIDGeneID-iGeneIDGeneID-j

²  genreData1.txt

音樂類型設定如下:

genreID (依編號大小排列)

²  artistData1.txt

演唱者設定如下:

artistID(依編號大小排列)

²  trainingData1.txt

訓練數據設定如下:

userID評分筆數

itemID(為專輯、音樂類型或演唱者之編號) 評分日期評分時間

²  testID1.txt

trainingData相同格式,但無分數資訊,分數為我們要預測的目標。

²  ValidationData

trainingData相同格式,是提供我們用來驗證所預測出的分數。

²   資料總筆數如下:

#Users

#Items

#Ratings

#TrainRatings

#ValidationRatings

#TestRatings

1,000,990

624,961

262,810,175

252,800,275

4,003,960

6,005,940

 

Ø  Issue

²  albumData1存在"missing data""資料訊息數目不同",如何取捨?

²  如何從albumDatagenreData"artistData中找出與trainingData相對應的資訊?

²  trainingData讀取及輸出時該轉換成怎樣的資料型態使程式可以運作?

²  對沒有基礎的我們來說,程式的自我學習及突破。

Ø  Survey

[1].     Data Mining, Roiger, Richard J., 台灣培生敎育, 2003年。

[2].     王榮英教授講座資料。

[3].     類神經網路入門,周鵬程,全華圖書,2006年第三版。

[4].     2010KDD作業。

Ø  Proposed Approach/ Team work

M9904204盧伯憲

首重資料探研究,將data匯入之後已自行撰寫的程式將資料型態成二進位置的矩陣,以供電腦讀取,最後再轉置資料型態輸出以供下一個分類動作的資料輸入。

 

M9904207陳秋吟

首重特徵值擷取研究,目前粗淺的做法是將training data內擷取1000筆代表性的數據,再從另外三個檔案albumDatagenreData"artistData中擷取出1000筆項目完整的特徵。

 

 

 


令目標矩陣為C,使用NNtool,可得訓練模型:

 

Ø  Scheduling

 

5/1~14

5/15~5/28

5/29~6/4

6/5~6/18

資料探

 

 

 

特徵值擷取

 

 

 

 

程式設計

 

 

 

 

機器學習

 

 

 

程式最佳化

 

 

 

 

 

 

 

 

Ø  Proof of Concept

Ø  發現的問題及解決方式(6/9更新)

1.          評分標準問題:一個演唱者有多張專輯,多首歌:

解決方式:Excel為工具,找出不同item中是同個artist,並在item後面增加該item是何albumID、何genereID


 

文字方塊: 隨機編號文字方塊: 作者文字方塊: 歌曲文字方塊: 專輯

結果:發現評分者對於不同item但是同一artistID並非給予相近的分數,這代表著artistID的評分權重值偏(演唱者的評分標準不是絕對)

2.          特徵值擷取問題:因為特徵值給了itemIDdatetime,資料量過大無法一次處理。

解決方式:以統計方式觀察time與分數的相關性。

結果:資料分散,相關性不高,因此拿掉時間的特徵。

1 同一時間分數分佈

3.          資料筆數過大問題:ratings262,810,175筆資料,處理上最多只能有100萬筆,又分數筆數過於分散,難以預測。

解決方式:excel隨機分割四份各取100萬筆,作為代表數據做進一步比較。

結果:四份的資料一樣很分散,故挑選其中一份做研究。

4.          分類訓練問題:weka做分群,出現錯誤分群。因為itemID為無意義的編號值,幾乎是無法分類,也無法以weka統計方式預測test data的分數。

解決方式:撰寫程式合併資料找出itemID與其他data的相關資訊,使每一個被評分的itemID都有其對應的albumIDartistIDgenreID

結果:資料補齊合併後的成果,以下列出幾張簡化的結果說明。

2 不同評分者對同一artist之評分

 

3補上items的其他資訊使成完整矩陣,並按照分數排列

5.          Neural network model

由於要輸入NNtool需有一定的格式,故需將資料整理合併,丟入處理的公式後,轉二進位,由於無法直接輸入,所以先自行創立矩陣先行驗證。

假設數入的值為:

4 輸入資料A

 

輸入matlab轉置A=A,並令其矩陣為輸入B

5 輸入B

令目標矩陣C,帶入NNTool

1  NNTool設定

2 訓練模型