[2014スタンフォード機械学習チュートリアルノート]第2章 - 直線回帰勾配降下

    前のセクションでは、我々は勾配降下アルゴリズム、我々はコスト関数勾配降下を組み合わせて、線形回帰アルゴリズムを取得したいと思うでしょう、このセクションについて話しています。直線データモデルを適合させるために使用することができます。

    まず、私たちは事前知識を振り返ります。勾配降下は、右側が(線形分散平和費用関数を仮定含む)線形回帰モデルで、サイドを残しました。

    私たちはしなければならない二乗差コスト関数を最小化するために、勾配降下アルゴリズムを適用することです。勾配降下を適用するために、我々は、微分項の式を把握する必要があります。

    我々は計算が終了したら、私たちは、勾配降下アルゴリズムに代わって彼らに戻ります。我々は、以下に示す式を取得します。

    これが私たちの線形回帰アルゴリズムです。注:このアルゴリズムを実装するとき、我々はまた、θ更新する必要が0と、θ 1を 

    次に、我々は勾配降下が達成される方法を見て。前述の例では、局所最適に陥るのは簡単ですがありました。以下に、我々は二つの異なる局所最適解を持つ異なる開始位置につながります。

   しかし、常にコスト関数、線形回帰関数の円弧状下図のように。

    

    この機能は、の関数である唯一のグローバル最適あなたはこの勾配コスト関数の減少を計算すると、限り、あなたは、線形回帰を使用しているとして、それは常に大域的最適に収束します。それは他の局所最適解を持っていないので。

    今、私たちは、このアルゴリズムの使用を見てください。カーブとJは、曲線の関数と仮定される費用関数があります。

    私たちはラインを取得する方法を、パラメータ値を初期化。

   我々勾配降下ステップた場合、我々はこの時点から左下へ少し移動します。その後、我々は別の新しい行を取得します。私たちは、あなたが新しいラインの低コストでしょう、すべてのステップを辞退します。私たちはより良い、より良い直線ルックスをダウン続けています。最後に、我々はグローバルな最小値になりました。

    明らかに、この時点でのライン良いフィットデータ。これは、勾配降下です。

    私達はちょうど時々 、バッチ勾配降下(バッチ勾配降下)と呼ばれるアルゴリズムを学習しています。これは、勾配降下のすべてのステップは、我々は微分導出項の計算では、勾配降下中のすべての学習サンプルを使用していることを、私たちは、個々の勾配降下中で、そのため、合計に必要なことを意味します最終的に我々は、このようなAの事を計算する必要があり、すべてのサンプルの項目の合計が訓練を必要としています。したがって、我々はすべての「バッチを検討する必要があるバッチ勾配降下法の名が示す学習サンプルを、実際には、時々 、勾配降下の他のタイプがあるが、これではありません、「バッチタイプは、全体のトレーニングセットを考慮せずに、しかし、それぞれの時間はわずかトレーニングセットのいくつかの小さなサブセットに関わります。後のレッスンでは、我々はこれらのメソッドを紹介します。

    バッチに勾配アルゴリズム線形回帰勾配降下法のために使用される線形回帰、。

    あなたが線形代数の前に研究している場合は、最小のコスト関数を計算するための数値解法を知っている必要があります、これは反復勾配降下アルゴリズムを必要としません。後のレッスンでは、多段階の勾配降下を必要とせずにそれができる、この方法についてお話しますが、また別のと呼ばれる通常の方程式である最小のコスト関数、(解決するための正規方程式のを)方法。実際、大量のデータの場合には、勾配降下法は、正規方程式より適していること

    今、私たちは、勾配降下をマスターしていることを、我々は別の環境で勾配降下法を使用することができ、我々は別の機械学習の問題の多くにそれを使用します。だから、あなたが最初の機械学習アルゴリズムを学ぶ成功おめでとうございます。

 

おすすめ

転載: www.cnblogs.com/shirleyya/p/12597873.html