大規模言語モデル (LLM) における最近の進歩により、人工知能 (AI) の分野に大きな関心が集まっています。 この人気の高まりにより、多くの人がこの急速に拡大する分野でのキャリアを追求するようになりました。しかし、見落とされがちな重要な基礎要素は、人工ニューロン、つまり人工ニューラル ネットワークの基盤です。 これらのネットワークの複雑さを理解するには、人工ニューロンを完全に理解することが不可欠です。このチュートリアルでは、ロジスティック回帰としても知られる人工ニューロンの機能について説明します。その単純さにも関わらず、この人工ニューロンは、スパム検出、糖尿病予測、信用リスク評価など、さまざまな分類問題の解決に非常に効果的であることが証明されています。
この手法を十分に理解するには、機械学習モデルの分類を理解することが重要です。 AI のサブセットである機械学習は、データからの自動学習と改善が可能なシステムの開発に焦点を当てています。機械学習モデルは、教師あり、教師なし、および強化学習 モデルに大別されます。
教師ありモデル はラベル付きの例から学習します。対照的に、教師なし手法は、パターンに関する事前知識なしにデータ内のパターンを識別します。 強化学習 モデルは、報酬の形でフィードバックを受け取りながら、試行錯誤を通じて学習します。
人工ニューロンの実装としてのロジスティック回帰は、教師あり学習のカテゴリーに分類されます。 教師ありモデル は、分類 と 回帰 システムにさらに分割されます。
分類モデル は、特定の入力に対して正しいクラスを識別することを目的としています。たとえば、システムは個人の財務データを分析して、ローンの適格性を判断する場合があります。 別の例には、動物をその特徴に基づいて分類することが含まれます (哺乳類、爬虫類、鳥類など)。
一方、回帰モデル は、入力データに基づいて数値を予測します。 金融データを使用してインフレ率を予測することは、金融分野で一般的なアプリケーションです。
その名前にもかかわらず、ロジスティック回帰は分類手法です。 分類はバイナリ (2 つのクラス、たとえば、はい/いいえ) またはマルチクラス (複数のクラス、たとえば、品詞) にすることができます。
ロジスティック回帰と線形回帰を区別するために、(簡単にするために) 2 つの入力を使用した視覚的表現を考えてみましょう。線形回帰の目標は、一連の点に線を当てはめて、全体的な傾向を把握することです。
機械学習モデルの分類
この線は、一方の軸の値を他方 (3D 空間の平面、高次元の超平面) に基づいて予測するために使用されます。
しかし、ロジスティック回帰は、二項決定 (はい/いいえなど) を生成することを目的としています。 この目的のためには直線だけでは不十分です。 給与に基づいてローンの適格性を判断することを検討してください。 このデータに線を当てはめるのは問題があります。
線形回帰の例。
ただし、「S」字型のカーブを使用すると、より効果的な解決策が得られます。 曲線の上部に近い点は「はい」を示し、下部に近い点は「いいえ」を示します。 非線形性を導入すると、直線がこの曲線に変わります。
分類に線形回帰が不適切であることを示します。
ロジスティック関数は、この非線形性を導入します。その式は次のとおりです:
この関数は、いくつかの重要なプロパティを示します。
「S」字型曲線が分類に適していることを示します。
ロジスティック関数のグラフ表現。
微分可能性により、曲線上の任意の点での傾きを計算できます。これは、トレーニング中にモデルを調整するために重要です。
ロジスティック関数内の点への接線のグラフィック表現。
ローン承認データセットを使用してロジスティック回帰を説明してみましょう。 データセットには、給与やローン金額などの特徴と、承認 (1) または拒否 (0) を示すラベルが含まれています。 一部はトレーニングに使用し、もう 1 つはテストに使用します。
データセット。
モデルは、入力 (給与とローン額) にバイアス項 (Z) を加えた重み付き合計を計算します。 初期の重みとバイアスはランダムであり、トレーニング中に調整されます。
Z の値の計算例
シグモイド関数は、Z を確率 (0-1) に変換します。 値 ≥ 0.5 は「はい」として分類され、
このプロセスは、入力 (樹状突起)、重み付けされた接続、合計、閾値 (シグモイド)、出力 (軸索) という生物学的ニューロンに似ています。
ロジスティック回帰計算フローのグラフ表示。
ニューロン
正式には、与えられた入力ベクトル x、重みベクトル w、およびバイアス b:
Z = wTx b
シグモイド関数は出力を生成します。
表記規則
ベクトル乗算。
シグモイド関数の Z への適用。
計算と誤差の計算を示す Python 実装を以下に示します。 トレーニングプロセス (重量調整) については、後続のチュートリアルで説明します。
<code class="language-python">from math import exp def sigmoide(x): return 1 / (1 + exp(-x)) # Input X[0] Wage, x[1] Loan X = [[3,10],[1.5,11.8],[5.5,20.0],[3.5,15.2],[3.1,14.5], [7.6,15.5],[1.5,3.5],[6.9,8.5],[8.6,2.0],[7.66,3.5]] Y = [0 , 0 , 0 , 0 , 0 , 1 , 1 , 1 , 1, 1] m = len(X) w=[0.2,0.1] b=0.1 for j in range(m): z = X[j][0]*w[0]+X[j][1]*w[1]+b yhat = sigmoide(z) # Calculates error erro = yhat-Y[j] print(" Wage:{0:5.2f} Wage:{1:5.2f} Expected value:{2} ". format( X[j][0]*1000, X[j][1], Y[j])) print(" z:{0:2.3f} yhat:{1:2.3f} error:{2:2.3f}\n ".format( z, yhat, erro))</code>
ロジスティック回帰の計算例
プログラムによって発行された出力。
これでこのチュートリアルは終了です。 トレーニングのプロセスについては、今後の回で説明します。
以上が人工ニューロン: AI の心臓部の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。