天天看點

天池:零樣本目辨別别新手筆記2

所用思路和​​上一個​​差不多,本篇基于天池論壇的這篇文章:Keras多分類聯合訓練+歐式距離遷移映射 ,并做了自己的處理。線上精度0.0905。

  • 沒有構造如​

    ​'non_1'​

    ​的特征,直接使用如原來的全0特征表示,并對每類特征除和
  • 使用的vgg16

處理後的特征檔案如下:

天池:零樣本目辨別别新手筆記2

模型的關鍵之處在于:

天池:零樣本目辨別别新手筆記2

該部分主要代碼如下:

def normalline(data):

    for i,cs in enumerate(np.sum(data,axis=1).values):
        if cs!=0:
            data.iloc[i,:]=data.iloc[i,:]*1.0/cs
    return data


def wordsnormal():

    words=pd.read_csv(r"D:\TianChi\201809ZSL\DatasetA_train_20180813\attributes_per_class.txt", header=None, sep='\t')

    labels=np.array(words.iloc[:,0]).reshape(-1,1)

    dentype=words.iloc[:,1:7]
    dentype=normalline(dentype)

    dencolor = words.iloc[:, 7:15]
    dencolor=normalline(dencolor)

    denhas = words.iloc[:, 15:19]
    denhas = normalline(denhas)

    denfor=words.iloc[:, 19:25]
    denfor = normalline(denfor)

    words=pd.DataFrame(np.concatenate((labels,dentype,dencolor,denhas,denfor),axis=1))

    words.to_csv("../data/attributes_per_class_norm.csv",header=None,sep='\t',index=None)      
  • 目前基于vgg16模型,不符合賽題要求,而且賽題圖檔是64x64的,模型提取圖檔特征的能力也有限。是以可以建構更複雜的單網絡,進而做圖檔特征的merge等,進而提取更好的圖檔特征
  • 在圖檔特征提取這一環,做圖檔的訓練集和驗證集,似乎驗證集的結果并不好,如果打标簽品質不好,是否可以考慮課程學習
  • 樣本屬性的不同的預處理(歸一化、标準化),或者如文中的分批
  • 多種映射方式組合,文中僅僅基于神經網絡,可以考慮将圖檔特征、屬性特征提出進而建構不同的映射

繼續閱讀