解説

ニューラルネットワークのアーキテクチャをどう考えるか ~ドロップアウト率や層数の調整、さらに考慮すべきポイントまで~

はじめにニューラルネットワーク(以下、NN)を構築するとき、層数やドロップアウト率をどう設定すればいいか悩んだ経験はありませんか?実際、これらは過学習を防ぎつつ表現力を高めるための重要なパラメータです。ドロップアウト率や層数だけではなく、N...
解説

カテゴリ変数エンコーディング4手法 ~ ワンホット、ラベル、ターゲット、Embedding ~

機械学習モデルにおいて、カテゴリ変数の扱いは非常に重要です。今回は、以下の4つの手法について、その直感的な考え方、メリット・デメリット、どのようなモデルや状況に適しているかを解説し、実際の実装コードも交えてご紹介します。
解説

Target Encodingとは?
~GBDTに対して強力なエンコーディング手法~

機械学習モデル、特にGBDT(Gradient Boosting Decision Tree)では、カテゴリ変数の処理が精度に大きく影響します。そこで注目されるのがTarget Encodingです。Target Encodingとは、カテゴリ変数を目的変数の統計量(例:平均、最大値、最小値、標準偏差など)に置き換える手法です。
実践

GBDTの気持ちになって考える特徴量エンジニアリング

XGBoostをはじめとするGBDT(勾配ブースティング決定木)は、数多くのタスクで高い予測性能を発揮する強力なモデルです。しかし、その真のポテンシャルを引き出すためには、適切な特徴量エンジニアリングが不可欠です。ここでは、私の経験をもとに、GBDTが効果的に活用できる特徴量の作り方や評価方法について解説します。
解説

【解説】CatBoostとは?〜カテゴリ変数を活かしながらデータリークを防ぐ最先端勾配ブースティング〜

CatBoostは、Yandex社が開発した勾配ブースティングライブラリで、特にカテゴリ変数の取り扱いに優れたアルゴリズムとして注目されています。CatBoostは、他のGBDT系アルゴリズムと同様の枠組みを持ちながら、独自のエンコーディング手法を導入し、ターゲットエンコーディングに伴う「データリーク」(ターゲット情報の不適切な漏洩)を防止する工夫が施されています。本記事では、CatBoostの特徴や技術的背景、特にカテゴリ変数処理の際のデータリーク対策、そして実装例について詳しく解説します。
解説

【解説】LightGBMとは?〜高速・柔軟な勾配ブースティングの実現〜

LightGBMは、Microsoftが開発した勾配ブースティング(GBDT)に基づくライブラリで、特に大規模データや高次元データの学習に適した高速かつメモリ効率の良い手法です。LightGBMは、従来のGBDTの枠組みを踏襲しながらも、独自の技術を組み込むことで計算効率や予測精度を向上させています。さらに、ブースティングの方式として「gbdt」「dart」「goss」の3種類を選択でき、データの性質やタスクに応じた柔軟な運用が可能です。
解説

【解説】XGBoostとは?〜eXtremeなGBDT〜

XGBoost(eXtreme Gradient Boosting)は、GBDT(Gradient Boosting Decision Tree)の基本枠組みを採用しつつ、さまざまな改良を加えた手法です。ここでは、まずGBDTの基本的な考え方を簡単におさらいし、続いてXGBoostがどのように改良され、実務やコンペティションで高い評価を受けているのかを詳しく解説します。さらに、XGBoostには大きく分けて2種類のAPI(train API と sklearn 風 API)が存在するため、それぞれの実装例も合わせて紹介します。
実践

実装しながら学ぶGBDT(マルチクラス分類器)

本記事では、勾配ブースティング(Gradient Boosting)を用いたマルチクラス分類器、GBDT(Gradient Boosting Decision Tree)の仕組みについて実装コードとともに解説します。ここでは、回帰木を基本ブロックとして用い、各ブースティングステップで残差(疑似勾配)を学習することで、多クラスのロジスティック損失を最小化する方法について説明します。
実践

実装しながら学ぶランダムフォレスト

本記事では、決定木を基礎とした ランダムフォレスト (Random Forest) の仕組みと、その実装方法について詳しく解説します。決定木の基本概念から、ランダムフォレストがどのように複数の決定木を組み合わせることで高い汎化性能を実現しているのか説明していきます。また、実装コード(カスタムの決定木およびランダムフォレストの実装)も合わせて提示するので、実際に動作を確認しながら学習を進めることができます。
実践

決定木 (分類)(DecisionTreeClassifier) のしくみと実装解説

本記事では、XGBoostをはじめとするGBDTモデルの基礎にある、決定木(分類) (Decision Tree Classifier) の仕組みについて、初学者にもわかりやすいように実装コードとともに説明していきます。