0.はじめに
大学でデータサイエンスの講義を受講している者です。
あまりにも広範囲な分野であるため"広く浅く"情報整理したいため投稿。
内容のレベルは超入門編、個人的な感情も少し入り混じった備忘録。
(齟齬がある場合はご指摘いただけると助かります。)
データサイエンス学習全体像
【データサイエンス】概要
【データサイエンス】人工知能
【データサイエンス】機械学習
【データサイエンス】ディープラーニング
【データサイエンス】分析の分類・確率分布
【データサイエンス】探索的データ分析
【データサイエンス】統計的検定
【データサイエンス】予測モデリング
【データサイエンス】自然言語処理
【アルゴリズム】パーセプトロン
【データサイエンス】機械学習における関数
【データサイエンス】確率
1.関数とは
1-1.概要
機械学習における関数の役割とは、入力データから出力データを生成するための規則や操作を表す数学的な表現である。
データのパターンや関連性を捉えるために使用され、特性が最大限に利用される。
講義内ではシグモイド関数時に発生する勾配消失の改善としてReLu関数を用いた部分が印象的だった。
2.誤差逆伝播法
ニューラルネットワークに用いられるアルゴリズム
重みやバイアスなどのパラメータを効果的に更新する
予測と正解の誤差を利用して学習していく
バックプロパゲーションと同意語
3.勾配消失(こうばい)
学習が制御できなくなること
バックプロパゲーションにおいて逆伝播される勾配が層を通過するごとに指数が小さくなる現象
誤差逆伝播法にて誤差は層を重ねるとともに消える
つまり最終的に精度が落ちてしまう
つまり誤差逆伝搬法は勾配消失が生じる
勾配消失を減少させるためには活性化関数を選択する必要がある
4.種類
ステップ関数・シグモイド関数
0or1とされていた(ステップ関数)
-
ステップ関数
0もしくは1を返す関数 -
シグモイド関数
0~1の範囲内の実数値を返す関数
出力範囲を選択可能
シグモイド関数
活性化関数、非線形関数
パーセプトロン内から例で出すと「入力信号の総和を出力信号に変換する」もの
ロジスティック回帰層のこと
入力を0から1の範囲に変換するために使用される活性化関数
活性化関数
あらゆる入力値を別の数値に変換して出力する関数
パーセプトロン内で表すと0or1で表現される部分
ネットワークの表現が向上する
シグモイド関数⇒ReLu関数を利用
シグモイド関数は非線形関数
講義内の問題では
活性化関数を使用する場合にシグモイド関数を利用している
これにより誤差逆伝搬する中では差分を微分することになる
誤差逆伝搬をすることによりより深いネットワーク構築がされ制度が向上する
誤差の一番少ない所を求める際に微分が使用されている
その際に使用される最大値が0.25
シグモイド関数を使っている場合は最大0.25
が掛け合わされている
よって逆伝搬すればするほど0(減衰してしまう)に近づいてしまうため勾配消失が生じる
解決策としてReLu関数を用いる
微分の最大値が1のため勾配消失が少ない
誤差逆伝搬の際に勾配が小さくならず勾配消失を軽減することができる