「初探機器學習使用Python」まとめ#9 第八章 類神經網路
「初探機器學習使用Python」(↓の中国語版 )
Thoughtful Machine Learning with Python: A Test-Driven Approach
- 作者: Matthew Kirk
- 出版社/メーカー: O'Reilly Media
- 発売日: 2017/01/27
- メディア: ペーパーバック
- この商品を含むブログを見る
#9では第八章について扱う。
何謂類神經網路?
類神經網路(neural network)は,言うなれば複雑な関数である。
類神經網路歷史
省略。
布林邏輯
省略。
感知器
感知器以布林邏輯的概念為基礎,而更進一步納入額外的模糊邏輯(fuzzy logic)。感知器會依某個臨界值的符合與否而傳回相關的結果。(p135)
単語
意訳
「parceptronはブール論理の概念に基づいており、さらに追加してファジー論理を組み込んでいる。parceptronはあるしきい値が満たされているかどうかに応じて,関連する結果を返す。」
感知器は類神經網路の元となる概念であり,入力に重みをかけて0か1の出力を返す。
如何建構前饋類神經網路?
類神經網路的特點是使用加權函數(神經元)隱藏層,而能夠有效的建立可映射許多函數的網路。若無函數隱藏層,類神經網路只是一組簡單的加權函數。(p135)
単語
- 加權函數:weighting function,重み付け関数
- 神經元:neuron,神経
- 映射:反射する,マッピングする
意訳
「ニューラルネットワークの特徴は,重み付け関数(ニューロン)を使って層を隠すことで,効果的に多くの機能をマッピングできるネットワークを確立することができる。 もし関数の隠れ層が存在しない場合は,ニューラルネットワークは単純な重み関数のセットになる。」
詳しい構造は以下の通りである。
-
輸入層(input layer)
入力を受ける。
-
隱藏層(hidden layer)
関数を複雑にする。
ここで類神經網路では,シグモイド関数などの活化函數(activation function)を通すのが特徴である。
-
輸出層(output layer)
隱藏層までかけられた重みをもとに出力する。
重みを学習する方法には,
- 倒傅遞(Back propagation)
- QuickProp
- RProp
などがある。
此演算法用於找出每個神經元的最佳權重,主要透過迭代ーiterations(也稱為回合ーepochs)作業實現。對於每個回合,訓練演算法會遍歷整個類神經網路,並將結果與預期內容相比較。此時,可從過去的誤估結果中學習。(p145)
単語
- 迭代:iteration,反復
- 回合:epoch
- 遍歷:traversing,横断する
意訳
「このアルゴリズムは,主に反復(エポックとして知られている)を通じて,各ニューロンの最適な重みを見つけるために使用される。 各エポックで,訓練アルゴリズムはニューラルネットワーク全体を横断し,その結果を期待される内容と比較する。 この時点で,過去の誤差から学習することができる。」
誤差の最小化をするには,梯度下降演算法(Gradient descent algorithm)が用いられる。
建立類神經網路
省略。
本章總結
類神經網路演算法是機器學習工具箱中的強大工具之一。類神經網路以函數模型映射先前觀察的內容。儘管類神經網路被宣稱為黑盒子模型,然而可以用少許的數學與例子來理解當中的概念。類神經網路的應用不少,例如將字母頻率映射到語言類型或手寫偵測。(p159)
単語
- 之一:〜の一つ
- 儘管 X 然而 Y:XにもかかわらずY
- 黑盒子:ブラックボックス
意訳
「ニューラルネットワークアルゴリズムは,機械学習ツールボックスの強力なツールの1つである。 ニューラルネットワークは関数モデルを用いて事前の観察データをマッピングするだけである。 ニューラルネットワークはブラックボックスモデルとして宣言されているが,概念の理解に多少の数学や事例を使用することができる。 文字の頻度を言語型にマッピングしたり,手書き文字を検出したりするなど、ニューラルネットワークにはさまざまな用途がある。」
次回↓
作成中