TIL 211004


1.ニューラルネットワークDeep Learning(2.3.9)


:アルゴリズムの1つ->深度学習
  • 多層概念論多層センサ,MLP:深さ学習アルゴリズムの起点
  • 1.ニューラルネットワークモデル


    :複数のステップで意思決定を作成する
  • 左側ノード:入力特性;ベースラインは学習係数
  • を表す.
  • 右側ノード:入力重み付け=出力

  • ->MLPで重み付け和(y hat)を複数回繰り返し作成する
  • 非表示ユニット:中間ステップ->重み付けの再計算と
  • これを見るだけで線形モデルに似ているので、もっと強くなるために
    らせんまたはスーパーコモン接線の適用(非線形関数)
    ★我々が決定する重要なパラメータ:隠匿層の単位数
    ->多くの隠蔽層からなる大規模なニューラルネットワーク=深さ学習!

    2.ニューラルネットワークの調整

    from sklearn.neural_network import MLPClassifier

    特長

  • MLPのデフォルト=100個の非表示ユニット->小データセットの大きすぎ
  • 基本非線形関数=Rayleigh
  • 非表示層が1つしかないため、決定結界を作成する関数は10本の直線からなる(?REALは知らない…)
    ->hidden layer size=[,]非表示レイヤをカッコ内のカンマで区切る(?)
  • の滑らかな結晶境界がほしいなら?
  • 非表示ユニット
  • を追加
  • 非表示レイヤ
  • を追加
  • tanh関数
  • を使用
  • L 2パネルを使用して重み付け値を0に近い線形分類器に減らし、ヒステリシス回帰->alphaパラメータ
  • のデフォルト値は非常に低い(ほぼ規制X)
  • 学習を開始する前に、ウェイトをランダムに->などのパラメータに設定しますが、初期値が異なるとモデルが大きく異なります.
  • MLPの精度を向上するために、全ての入力の特性を平均0、分散1
  • とする.
    #훈련 세트 평균 계산
    mean_on_train =  X_train.mean(axis=0)
    #훈련 세트 표준 편차 계산
    std_on_train = X_train.std(axis=0)
    
    #표준정규분포로 만들기
    X_train_scaled = (X_train - mean_on_train) / std_on_train
    #테스트 세트도 표준정규분포로 만들기
    X_test_scaled = (X_test - mean_on_train) / std_on_train
    
    mlp = MLPClassifier(random = 0)
    # 반복횟수가 100이 기본값이기 때문에 max_iter 매개변수를 이용해 늘려줘야 함
    # 안 그럼 오류!
    mlp.fit(X_train_scaled, y_train)
    
    print("훈련 세트 정확도: {:.3f}".format(mlp.score(X_train_scaled, y_train)))
    print("테스트 세트 정확도: {:.3f}".format(mlp.score(X_test_scaled, y_test)))
    モデルの複雑さは
  • alpha
  • であり、汎用性を向上させる
  • 分類MLPCClassifier回帰MLPReglersor
  • 深さ学習用のライブラリがたくさん・・
  • メリットとデメリット

  • の利点
  • は機械学習分野の多くのアプリケーションにおいて再び最適な機種となった
  • である.
  • 大量データ中の情報をキャプチャ
  • は、非常に複雑なモデル
  • を作成することができる.
  • の欠点
  • は多くの場合、
  • を学ぶのに長い時間がかかります.
    注意
  • データの前処理->データに異なるタイプの属性がある場合、決定ツリー
  • 複雑度推定

  • パラメータ:★隠匿層個数+隠匿層個数★+アルファ
  • 以下は2.4節分類予測の不確実性推定です!
  • scikit-学習でよく使われるインタフェース:分類器で不確実性を推定する機能
    - decision_function
  • predict_proba
    (ほとんどの分類クラスでは1つまたは2つの関数が提供されています)
  • 2.決定関数(2.4.1)


    :バイナリ分類でdecision functionが返す値のサイズは(n samples,)
    ->各例は実数値を返します
    本当に歴代級では理解できません^^...この値は何を意味しますか?
    決定関数を単独で学ぶしかない.

    3.予測確率(2.4.2)


    :predicate probaの出力はクラスごとの確率->decision functionの出力よりも理解しやすい(ああ!)

  • 戻り値=(n samples,2)
  • 第1クラス要素:第1クラス予測確率
  • 第2クラス要素:第2クラス予測確率
    ->確率です.したがってpredic probaの出力は常に0と1の値(確率の和=1)
  • です.

    の最後の部分


    补习勉强は终わりました~!ニューラルネットワークで聞いたことのある単語(多発式など...)本がたくさんあったので勉強が面白かったのですが、その後新しい関所が待っていてくれました^^...分類予測の不確実性推定......近い将来、私はあなたを征服しに来ます!!