2020-01-01から1年間の記事一覧

pipenvの使い方メモ

久しぶりに更新するんだけど、アクセス履歴を見るとtotal PVが1200超えていて、未だに毎日何らかのアクセスがあるのがちょっと嬉しい。 今回は機械学習系じゃないが、今ちょうどBERTの亜種のSentence Bertを扱っているのでそのうち描こうかなーと思います。 …

gensimのword2vecのmost_similarと平均ベクトルを作ったmost_similar_by_vectorの結果の違いを正す

書いてる理由 word2vec実践中 most_similarと平均ベクトルを作ってmost_similar_by_vectorした時の結果が違うので調べた 参考 無し 概要 gensimのword2vecでmodel.most_similarでの計算結果と、自分で平均ベクトルを作って計算したmost_similar_by_vectorの…

LightGBMをmacにインストールと実行

書いてる理由 二値分類問題を解く必要が出た 軽量で学習が早いlightGBMを使っとく 参考 lightgbmで二値分類の一連の流れをしたメモ - Qiita 概要 macにlightGBMをインストールして、skleranから適当なデータセットを利用して動作を確認する。 コード https:/…

SentencePieceの学習方法

書いてる理由 pytorchでbertやりたい 日本語を扱う方法を調べ中 参考 www.smartbowwow.com 詳細 ここまでやってきたBERTは英語の文章をメインで利用していて、文章を単語に分割するtokenizerが英語向け。 昔の記事で、BERT(BertJapaneseTokenizer)で日本語を…

Bertの日本語プレトレインモデル調査

やってる理由 BERTを日本語で使いたい ここまで英語だったので日本語のプレトレインは何があるか調べる 詳細 ちょいちょい存在するっぽい。調べるまでは東北大学のやつしか知らなかったけど、色々あった。 No 作成者 公開日 リンク 1 東北大学 2019/12/13 ht…

PytorchでBERTのネットワークを作る(その4 学習)

書いてる理由 自然言語処理やりたい BERTをpytorchで書く 参考 pytorchによる発展ディープラーニング 概要 ここまでで用意したネットワーク、プレトレインモデルで学習してポジネガ判定をする。 コード github.com 詳細 今回は学習部分。ここまで作ってきた…

PytorchでBERTのネットワークを作る(その4 同じ単語が違う意味で表現できているかを確認)

書いてる理由 自然言語処理やりたい BERTをpytorchで書く 参考 pytorchによる発展ディープラーニング 概要 bankという単語の二つの意味、銀行と土手が異なる単語として扱えているかを確認する。 コード github.com 詳細 ここまでに作ってきた、BERTのネット…

PytorchでBERTのネットワークを作る(その3 プレトレインモデルをloadする)

書いてる理由 自然言語処理やりたい BERTをpytorchで書く 参考 pytorchによる発展ディープラーニング 概要 bankという単語の二つの意味、銀行と土手が異なる単語として扱えているかを確認する前に、pre-trainモデルをloadする方法を書く。 コード github.com…

PytorchでBERTのネットワークを使って同じ単語で別の意味として扱えているか確認(休憩)

あー 今日はコードだけ! ムズムズだ。。 明日解説。 やったことは、"bank"という単語には銀行と土手という意味があり、同じ単語だけど違う意味で使われる。 これをちゃんと別の意味として扱えているかを確認した。 コード github.com 参考 pytorchによる発…

PytorchでBERTのネットワークを作る(その2)

書いてる理由 自然言語処理やりたい BERTをpytorchで書く 参考 pytorchによる発展ディープラーニング 概要と一言 前回はBERTの全体の概要を説明した。 全体の概要は以下で、単語のIDのリストをベクトル変換するEmbedding Moduleで単語自体のベクトル化、位置…

PytorchでBERTのネットワークを作る

書いてる理由 自然言語処理やりたい BERTをpytorchで書く 参考 pytorchによる発展ディープラーニング Attention is All You Need 概要と一言 めっちゃレコメンドの続きをやりたいんだけど、仕事に関わっちゃうからコードや結果が載せられないので自然言語処…

PytorchのEmbeddingメモ

いつもtorch.nn.Embeddingの意味合いを忘れるのでメモ。 import torch from torch import nn embed = nn.Embedding(num_embeddings=4, embedding_dim=10, padding_idx=0) # num_embeddingsが種類の数、embedding_dimはベクトル表現の次元数、padding_idxがpa…

軽い悩み

真剣な悩みを持っている身近な人を知っている一方、俺のくだらない悩み。 「リモートになって、就業時間以外も仕事に関係する作業をしてしまう。」 このブログ、毎日何か新しくやったことを書こうと思って始めて、 最初は仕事終わってから仕事に直接関係ない…

pandasメモ

# -*- coding: utf-8 -*- import pandas def group_by_cnt(df, column_name): """ column_nameでdfをgroup byしてcount """ return df.groupby(column_name).count() def nan_count(df): """ NANの行数のカウント """ return df.isnull().sum() def df_len(d…

Matrix FactorizationにおけるSGDでのパラメータ更新式

書いてる理由 Neural Collaborative FilteringでMFが出てきた 良くわかってないから理解したい pythonでのコードがあったけど、その中でSGDのパラメータ更新の式が良くわからなかったので深堀りたい 参考 tips-memo.com 詳細 昨日の記事でlossの微分で理解が…

Matrix Factorizationの実際の計算

以下の式動かしながら行列の偏微分について考えてたら時間なくなった。。 また明日。 # coding=utf-8 import numpy def matrix_factorization(R, P, Q, K, steps=5000, alpha=0.0002, beta=0.02): Q = Q.T for step in range(steps): for i in range(len(R))…

Matrix Factorizationの次元圧縮について

書いてる理由 Neural Collaborative Filteringの説明の中でMFが出たけどよく考えたらあんまりMFを理解していない Collaborative Filteringのuser * item配列の次元圧縮がMF(ドヤァアアアアア)とか言ったけど、まじで次元圧縮になってる??なんかいまいち分…

pytorchでNeural Collaborative Filtering(その3 ネットワーク作成[GMFとMLPの結合])

書いてる理由 レコメンド * deep learningやりたい まずは有名どころを真似てみる 参考 Neural Collaborative Filtering github.com 概要 レコメンドをdeep learingを使ってやりたい。 Neural Collaborative Filteringの論文をベースにpytorchで組まれている…

pytorchでNeural Collaborative Filtering(その3 ネットワーク作成[Multi Layer Perceptron])

書いてる理由 レコメンド * deep learningやりたい まずは有名どころを真似てみる 参考 Neural Collaborative Filtering github.com 概要 レコメンドをdeep learingを使ってやりたい。 Neural Collaborative Filteringの論文をベースにpytorchで組まれている…

pytorchでNeural Collaborative Filtering(その3 ネットワーク作成[Generalized Martix Factorization])

書いてる理由 レコメンド * deep learningやりたい まずは有名どころを真似てみる 参考 Neural Collaborative Filtering github.com 概要 レコメンドをdeep learingを使ってやりたい。 Neural Collaborative Filteringの論文をベースにpytorchで組まれている…

pytorchでNeural Collaborative Filtering(その2 データローダー準備)

書いてる理由 レコメンド * deep learningやりたい まずは有名どころを真似てみる 参考 Neural Collaborative Filtering github.com 概要 レコメンドをdeep learingを使ってやりたい。 Neural Collaborative Filteringの論文をベースにpytorchで組まれている…

pytorchでNeural Collaborative Filtering(その1 データ準備)

書いてる理由 レコメンド * deep learningやりたい まずは有名どころを真似てみる 参考 Neural Collaborative Filtering github.com 概要 レコメンドをdeep learingを使ってやりたい。 Neural Collaborative Filteringの論文をベースにpytorchで組まれている…

画像処理をしている時に説明のため画像を加工するTips

書いてる理由 よく使うのでメモっておく こういうチップスはどっかで自分のパッケージとかにしときたい ある程度溜まったらpypyにでもあげようかな?自分用だから自分の中で完結でもいいかも 概要 画像解析をやってると、結果を画像単位で説明したくなる。 …

良さげなデータセットを探して・・・

www.kaggle.com kaggleでkeyword「item watch」とか「access log」とか探してっけど全然ない。。 https://www.researchgate.net/post/Do_you_know_any_open_e-commerce_dataset とか これとかいいんだけど、itemIDからそれが何かがわかんないからモデル作っ…

word2vecの学習(その2 学習と作ったモデルで近い単語を検索)

書いてる理由 itemのレコメンドをやりたい。 せっかくword2vecの記事も書いたし自分で学習そういえばしてない。 日本語のデータセットで単語をベクトルにしたろ。 概要 word2vecの学習と作ったモデルで近い単語検索。 参考 https://own-search-and-study.xyz…

word2vecの学習(その1 データ準備)

書いてる理由 itemのレコメンドをやりたい。 せっかくword2vecの記事も書いたし自分で学習そういえばしてない。 日本語のデータセットで単語をベクトルにしたろ。 概要 word2vecで自分で学習するためのデータを用意するところをやる。 参考 https://own-sear…

Pytorchでtransformer(その3 学習とテストデータを使った予測)

書いてる理由 NLPやるぞー レビューがポジティブかネガティブかを判断する ネットワークは書いたから次は学習と予測 参考 pytorchによる発展ディープラーニング Attention is All You Need 概要 これまでIMDbのデータを扱う方法と、テキストデータを使った分…

Pytorchでtransformer(その2 ネットワーク作成)

書いてる理由 NLPやるぞー レビューがポジティブかネガティブかを判断する transformerのネットワークを組んで、classificationするモデル定義をする 参考 pytorchによる発展ディープラーニング Attention is All You Need 概要 raishi12.hatenablog.com 前…

Confusion Matrixを超お手軽に

書いてる理由 分類とかしてるとConfusion Matrix確認したくなる。 自分でaccuracyとかRecall/Precisionを計算してもいいけどめんどい。 そうだsklearnだ 概要 scikit-learnならtrueとpredictのリストを用意すれば速攻でできる。 参考 note.nkmk.me 詳細 conf…

Pytorchでtransformer(その1 Dataloaderの準備)

書いてる理由 NLPやるぞー レビューがポジティブかネガティブかを判断する IMDbデータをtsvにしたので、それを使うためのDataLoaderの準備 参考 pytorchによる発展ディープラーニング 概要 raishi12.hatenablog.comとぶっちゃけほぼ一緒。 唯一違うのは、fas…