機械学習・深層学習

GPT-2を使って文のパープレキシティを計算する

とある手法の再現実装をするために学んだので覚え書き. transformersのGPT-2を使って文のパープレキシティ(perplexity)を計算するための実装について書きます. フレームワークはPyTorch,python3.8.10で試しています. インストール 一文のパープレキシ…

【Pytorch】 EarlyStoppingを実装する

はじめに 本記事ではpytorchでEarlyStoppingを実装する方法を紹介します.EarlyStoppingはいくつか実装方法がありますので,そのうちの一つを扱います. おさらい: EarlyStoppingとは 深層学習における教師あり学習では,訓練データを用いて学習を行いますが…

【python】gensimモジュールで分散表現を獲得・保存・読み込む方法を丁寧に

はじめに 本記事では,gensimモジュールを用いてWord2Vecで分散表現を獲得・保存・読み込む方法を紹介します. 公式リファレンス: radimrehurek.com 目次 はじめに 目次 分散表現の学習 各種オプション 学習済み分散表現の機能 分散表現の保存 分散表現の読…

spaCyで英語の文をトークナイズする方法を丁寧に

はじめに 本記事では,spaCyを用いて英文をトークナイズする方法を紹介します. トークナイズに関する情報を比較的詳しく解説するとともに,公式ドキュメントやソースコードへの導線を張ることを目的にしています. 本記事に書いてあることは,公式ドキュメ…

多クラス分類における混同行列と評価指標を丁寧に

はじめに 本記事では多クラス分類(マルチクラス分類)における評価値の考え方・計算方法について説明します.具体的には,最も重要な混同行列の作成方法から始まり,適合率(Precision),再現率(Recall),F1スコア,マクロ平均,およびマイクロ平均を扱…

【NLTK】NLTKに収録されているコーパスの利用方法

はじめに 本記事ではnltkに収録されているコーパスの利用方法を紹介します. 公式ドキュメント: www.nltk.org 以下では,まずは収録コーパスを扱うためのメソッドを紹介した後,収録されている主なコーパスの紹介を行います.なお,メソッドの紹介のサンプ…

【sklearn】TfidfVectorizerの使い方を丁寧に

はじめに 本記事では[sklearn.feature_extraction.text.TfidfVectorizerについて丁寧に説明します. 公式ドキュメント: scikit-learn.org はじめに tfとidf TfidfVectorizerの役割 TfidfVectorizerの入出力 TfidfVectorizerの宣言 主なメソッド・属性 fit()…

【sklearn】Classification_reportの使い方を丁寧に

はじめに 本記事ではsklearn.metrics.classification_reportについて丁寧に説明します. 公式ドキュメント: scikit-learn.org はじめに classification_reportの役割 classification_reportの入出力 classification_reportの宣言 出力の説明 列ラベルの説明…

【sklearn】LabelEncoderの使い方を丁寧に

はじめに 本記事ではsklearn.preprocessing.LabelEncoder()について丁寧に説明します. 公式ドキュメント: scikit-learn.org はじめに LabelEncoderの役割 LabelEncoderの基本的な入出力 LabelEncoderの宣言 fit() transform() (ラベル→ラベルID) fit_trans…

【Pytorch】nn.Embeddingの使い方を丁寧に

はじめに 本記事では,Pytorchの埋め込み層を実現するnn.Embedding()について,入門の立ち位置で解説します. ただし,結局公式ドキュメントが最強なので,まずはこちらを読むのをお勧めします. pytorch.org 対象読者は, 他のモデルの実装記事見ても,全人…

【Pytorch】ミニバッチ学習に便利なDataSet・DataLoaderの使い方

はじめに 深層学習によって学習を行う際には,ミニバッチ化して学習させることが一般的です.本記事では,pytorchで提供されているDataSetとDataLoaderという機能を用いてミニバッチ化を実現する方法について書きます. はじめに ミニバッチ化とは DataSetと…