ウェブサイト検索

敵対的生成ネットワーク損失関数への優しい入門

Generative Adversarial Network (略して GAN) は、画像合成用の生成モデルをトレーニングするための深層学習アーキテクチャです。

GAN アーキテクチャは比較的単純ですが、初心者にとって依然として困難な点の 1 つは GAN 損失関数のトピックです。主な理由は、このアーキテクチャに、ジェネレーターとディスクリミネーターという 2 つのモデルの同時トレーニングが含まれるためです。

弁別器モデルは他の深層学習ニューラル ネットワークと同様に更新されますが、ジェネレーターは弁別器を損失関数として使用します。つまり、ジェネレーターの損失関数は暗黙的であり、トレーニング中に学習されます。

この投稿では、敵対的生成ネットワークの損失関数の概要を説明します。

この投稿を読むと、次のことがわかります。

  • GAN アーキテクチャはミニマックス GAN 損失で定義されますが、通常は非飽和損失関数を使用して実装されます。
  • 最新の GAN で使用される一般的な代替損失関数には、最小二乗損失

    続きを読む →

Python で経験的分布関数を使用する方法

経験的分布関数は、標準の確率分布に適合しないデータ サンプルの累積確率をモデル化し、サンプリングする方法を提供します。

そのため、 これは経験的累積分布関数または略してECDFと呼ばれることもあります。

このチュートリアルでは、経験的な確率分布関数を学びます。

このチュートリアルを完了すると、次のことがわかります。

  • 一部のデータ サンプルは、標準分布を使用して要約することができません。
  • 経験的分布関数は、データ サンプルの累積確率をモデル化する方法を提供します。
  • statsmodels ライブラリを使用して経験的累積分布関数をモデル化およびサンプリングする方法。

私の新しい本 Probability for Machine Learning でプロジェクトを開始しましょう。これにはステップバイステップのチュートリアルとすべてのPython ソース コード ファイルが

続きを読む →

ニューラル ネットワークは関数近似アルゴリズムです

機械学習における教師あり学習は、関数近似の観点から説明できます。

入力と出力で構成されるデータセットが与えられた場合、ターゲット ドメインで入力を出力にマッピングする際に一貫してデータセットが得られる、未知の基礎となる関数が存在すると仮定します。次に、教師あり学習アルゴリズムを使用して、この関数を近似します。

ニューラル ネットワークは、おそらく関数近似のコンテキストで最もよく理解される教師あり機械学習アルゴリズムの一例です。これは、モデルによって学習される内容についての直観を養うのに役立つ、単純な 1 次元関数に近似するニューラル ネットワークの例で実証できます。

このチュートリアルでは、関数近似アルゴリズムとしてのニューラル ネットワークの背後にある直観を発見します。

このチュートリアルを完了すると、次のことがわかります。

  • データに基づいてニューラル ネットワークをトレーニングすると、入力から出力までの未知の基礎となるマッピング関数が近似されます。
  • 1 次元の入力データセットと出力データセッ

    続きを読む →

Python を使用した Softmax アクティベーション関数

ソフトマックス は、数値のベクトルを確率のベクトルに変換する数学関数です。各値の確率は、ベクトル内の各値の相対スケールに比例します。

応用機械学習におけるソフトマックス関数の最も一般的な用途は、ニューラル ネットワーク モデルの活性化関数としての使用です。具体的には、ネットワークは、分類タスクのクラスごとに 1 つずつ、N 個の値を出力するように構成されており、ソフトマックス関数を使用して出力を正規化し、重み付けされた合計値から合計が 1 になる確率に変換します。ソフトマックス関数の出力の各値は、各クラスのメンバーシップの確率として解釈されます。

このチュートリアルでは、ニューラル ネットワーク モデルで使用されるソフトマックス アクティベーション関数を学習します。

このチュートリアルを完了すると、次のことがわかります。

  • 線形およびシグモイド活性化関数は、マルチクラス分類タスクには不適切です。
  • Softmax は、リスト内の最大値のインデックスを返す argmax 関数のソ

    続きを読む →

Python での一変量関数の最適化

1 つの変数を使用して関数を最適化するには?

単変量関数の最適化には、目的関数からの最適な出力をもたらす関数への入力を見つけることが含まれます。

これは、1 つのパラメーターでモデルをフィッティングするとき、または 1 つのハイパーパラメーターを持つモデルを調整するときの機械学習の一般的な手順です。

このタイプの最適化問題を解くには、目的関数の各評価が計算コストが高くなる可能性があることを考慮して、目的関数の最小数の評価で最適な解を見つける効率的なアルゴリズムが必要です。データセット。

これにより、高価なグリッド検索アルゴリズムやランダム検索アルゴリズムが除外され、ブレント法のような効率的なアルゴリズムが優先されます。

このチュートリアルでは、Python で一変量関数の最適化を実行する方法を学びます。

このチュートリアルを完了すると、次のことがわかります。

  • 単変量関数の最適化には、単一の連続引数を取る目的関数の最適な入力を見

    続きを読む →

Python での関数最適化の視覚化

関数の最適化には、目的関数から最適な値をもたらす入力を見つけることが含まれます。

最適化アルゴリズムは、最適値を見つけるために入力変数の探索空間をナビゲートしますが、目的関数の形状と探索空間でのアルゴリズムの動作はどちらも、現実世界の問題に関しては不透明です。

そのため、直接簡単に視覚化できる単純な低次元関数を使用して最適化アルゴリズムを研究するのが一般的です。さらに、最適化アルゴリズムによって作成されたこれらの単純な関数の入力空間内のサンプルは、適切なコンテキストを使用して視覚化できます。

低次元の関数とそれらの関数におけるアルゴリズムの動作を視覚化すると、後でより複雑な高次元の関数の最適化問題に引き継ぐことができる直感を養うことができます。

このチュートリアルでは、Python で関数最適化のためのビジュアライゼーションを作成する方法を学びます。

このチュートリアルを完了すると、次のことがわかります。

  • 関数最適化アルゴリズムを研究する場合、視覚化は重要なツールで

    続きを読む →

深層学習用の活性化関数を選択する方法

活性化関数はニューラル ネットワークの設計の重要な部分です。

隠れ層の活性化関数の選択により、ネットワーク モデルがトレーニング データセットをどの程度学習するかを制御します。出力層での活性化関数の選択により、モデルが行うことができる予測のタイプが定義されます。

そのため、深層学習ニューラル ネットワーク プロジェクトごとに活性化関数を慎重に選択する必要があります。

このチュートリアルでは、ニューラル ネットワーク モデルの活性化関数を選択する方法を学びます。

このチュートリアルを完了すると、次のことがわかります。

  • アクティベーション関数は、ニューラル ネットワーク設計の重要な部分です。
  • 隠れ層の最新のデフォルトの活性化関数は ReLU 関数です。
  • 出力層の活性化関数は、予測問題の種類によって異なります。

始めましょう。

続きを読む →

SciPyによる機能の最適化

最適化には、関数の最小または最大の出力をもたらす目的関数への入力を見つけることが含まれます。

SciPy と呼ばれる科学技術コンピューティング用のオープンソース Python ライブラリは、一連の最適化アルゴリズムを提供します。アルゴリズムの多くは、他のアルゴリズム、特に scikit-learn ライブラリの機械学習アルゴリズムの構成要素として使用されます。

これらの最適化アルゴリズムは、関数を最適化するためにスタンドアロンで直接使用できます。最も注目すべきは、ローカル検索のアルゴリズムとグローバル検索のアルゴリズムです。これは、機械学習プロジェクトで遭遇する可能性のある 2 つの主要なタイプの最適化です。

このチュートリアルでは、SciPy ライブラリによって提供される最適化アルゴリズムについて説明します。

このチュートリアルを完了すると、次のことがわかります。

  • SciPy ライブラリは、さまざまな目的に応じたさまざまな最適化アルゴリズムのスイートを提供します。
  • 続きを読む →

関数最適化のためのランダム検索とグリッド検索

関数の最適化では、検索空間を効率的にサンプリングし、適切なソリューションまたは最適なソリューションを見つけるためのアルゴリズムを選択する必要があります。

選択できるアルゴリズムは多数ありますが、問題に対してどのような種類の解決策が実行可能または可能であるかについてのベースラインを確立することが重要です。これはランダム検索やグリッド検索などの単純な最適化アルゴリズムを使用して実現できます。

単純な最適化アルゴリズムによって得られる結果は、計算効率が高く、より洗練された最適化アルゴリズムの比較点を生成および提供します。場合によっては、特にノイズが多い問題やスムーズでない問題、およびドメインの専門知識によって最適化アルゴリズムの選択が偏るような問題では、単純なアルゴリズムが最高のパフォーマンスを達成できることがわかります。

このチュートリアルでは、関数最適化のための単純なアルゴリズムを発見します。

このチュートリアルを完了すると、次のことがわかります。

XGBoost 損失関数の優しい紹介

XGBoost は、勾配ブースティング アンサンブル アルゴリズムの強力で人気のある実装です。

XGBoost モデルの構成における重要な側面は、モデルのトレーニング中に最小化される損失関数の選択です。

深層学習ニューラル ネットワークの問題タイプに基づいて適切な損失関数を選択する必要があるのと同じように、損失関数は予測モデリングの問題タイプに一致する必要があります。

このチュートリアルでは、XGBoost アンサンブル モデルの損失関数を構成する方法を学習します。

このチュートリアルを完了すると、次のことがわかります。

  • XGBoost アンサンブルのトレーニング時に使用する損失関数を指定することは、ニューラル ネットワークと同様に重要なステップです。
  • バイナリおよびマルチクラス分類タスク用に XGBoost 損失関数を構成する方法。
  • 回帰予測モデリング タスク用に XGBoost 損失関数を構成する方法。

    続きを読む →