zoukankan      html  css  js  c++  java
  • 学习小计: Kaggle Learn Embeddings

    Embedding表示map f: X(高维) -> Y(低维),减小数据维度,方便计算+提高准确率。

    参看Kaggle Learn:https://www.kaggle.com/learn/embeddings

    官方DNN示例:

     

    user_id_input = keras.Input(shape=(1,), name='user_id')
    movie_id_input = keras.Input(shape=(1,), name='movie_id')
    user_embedded = keras.layers.Embedding(df.userId.max()+1, user_embedding_size, 
                                           input_length=1, name='user_embedding')(user_id_input)
    movie_embedded = keras.layers.Embedding(df.movieId.max()+1, movie_embedding_size, 

    官方Matrix Factorization示例:

    movie_embedding_size = user_embedding_size = 8
    
    # Each instance consists of two inputs: a single user id, and a single movie id
    user_id_input = keras.Input(shape=(1,), name='user_id')
    movie_id_input = keras.Input(shape=(1,), name='movie_id')
    user_embedded = keras.layers.Embedding(df.userId.max()+1, user_embedding_size, 
                                           input_length=1, name='user_embedding')(user_id_input)
    movie_embedded = keras.layers.Embedding(df.movieId.max()+1, movie_embedding_size, 
                                            input_length=1, name='movie_embedding')(movie_id_input)
    
    dotted = keras.layers.Dot(2)([user_embedded, movie_embedded])
    out = keras.layers.Flatten()(dotted)

    两种类型对比如下,简单模型(蓝色)的表现也相当好,两个模型都有明显的过拟合。

    Exploring Embeddings With Gensim: https://www.kaggle.com/colinmorris/exploring-embeddings-with-gensim

    虽源于词向量模型,但是对于电影评价,电影向量模型仍然很实用。

    可用于计算电影(或单词)的相似度,支持语义计算(+-),例如可用于求解如下问题:

      ‘Cars 2’:‘Brave’== '?':‘Pocahontas’,解释,‘Cars 2’相对于‘Brave’就如'?'相对于‘Pocahontas’,求电影'?'最佳匹配。

    方程组:

    Cars 2 = Brave + X
    '?'  = Pocahontas + X

    解方程得到:

    '?' = Pocahontas + (Cars 2 - Brave)

    Scripts关键语句:

    kv.most_similar(
        ['Pocahontas', 'Cars 2'],
        negative = ['Brave']
    )

    Visualizing Embeddings With t-SNE,参考Kaggle Learn:   https://www.kaggle.com/colinmorris/visualizing-embeddings-with-t-sne

    t-SNE是一种降维算法,一种数据探索和可视化技术,常用于高维数据可视化(降维到2D)

    全称:随机邻近嵌入stochastic neighborhood embedding

    其基本原理,参考:https://blog.csdn.net/scythe666/article/details/79203239, https://www.analyticsvidhya.com/blog/2017/01/t-sne-implementation-r-python/

  • 相关阅读:
    COPY SAP 标准gui状态
    销售类型转换
    SAP数据表相关
    T_CODE I18N
    SAP-Function
    MLGBZ
    爷爷的烟斗
    使用 Composer 查看 FastAdmin 项目 组件的版本
    FastAdmin 后台前端后端组件说明(待续)
    FastAdmin 在 Nginx 中的配置
  • 原文地址:https://www.cnblogs.com/xbit/p/10184472.html
Copyright © 2011-2022 走看看