Bluemo's Brain

Search

Search IconIcon to open search

パーセプトロン

Last updated Unknown Edit Source

    ニューラルネットワーク

    ニューラルネットワーク

    基本の回帰モデルを表すと↑になる これの層を増やしたり、間のユニットを増やすことで学習 各矢印が、重みwを持っている、全部違う値 学習によって調整される それだけだとただの回帰と同じ、だから、を使ってフィルターをかける みたいに、して重みを0に近づけることもできる デフォルトはほとんど正則化しない 最初は、乱数で重みを決める 学習した内容の解析が難しい、やる方法の一つは重みのヒートマップをみること パラメーター学習のには、等が初心者向けにある #Pythonで始める機械学習 モデルが完成したら、実際にする時はこの計算をすればいいだけ、簡単 (xが入力、Wが各層の重み、yが出力、σが) 一つの層のたくさんあるのうち、一つがめっちゃ影響力強くなっちゃうことがある それを避けるために、ランダムにdropoutする ...

    1/3/2023

    とかの元

    • 一個だけの機械学習

      機械学習

      分類 あまり意識しないけど、機械学習等は基本的にを仮定している(連続空間) 距離を知りたかったらとか ...

      1/3/2023

      だと、表現力低いから使い物にならない

    • 線形分離可能じゃないといけない

      • クラス分け問題
    • 方法

      • 重み [ベクトル]とxベクトルの内積の正負が、2つのベクトルが同じ側をむいているかどうかを表す
      • 同じ側を向いていない=内積が負だったら、重みベクトルをxベクトル+重みベクトルに更新
      • これを全データーでやる

    # #Pythonで始める機械学習

    image

    • パーセプトロンの表し方は二種類ある

      • 一つは、上の画像みたいに、Biasをインプットの一つ(値は常に1)にして、その重みがbiasになるというもの
      • もう一つは、バイアスをパーセプトロンの内部値として持つタイプ
      • 前者の方が多く使われるらしい
    • AND operatorとかも、パーセプトロンで表現できる↓ image

    • ↑のみたいなパーセプトロンを組み合わせるとXOR↓が作れる、シンプルなニューラルネットワーク? image #Udacity_Intro_to_Deep_Learning_with_PyTorch

    image

    • シグモイド関数とかを使って、出力を連続値にしないといけない

      • なぜなら、離散値だと少し動かした時に変化が起きないから
      • Loss Function

        Loss Function

        aka どのくらい間違っているかの 値でないといけない 値だと、ちょっとだけ変えたときに変化が起きないから困る ...

        1/3/2023

        と同じ
    • シグモイド関数だと、xの値がある程度大きいとgradient(errorに使う値)がほとんど0になってしまう

      • その対策として、ReLUとか、Tanhとかの他の関数を使うこともある
        • ReLUは、正の値なら直値をそのまま返す、つまりgradientは1になる
        • Tanhはもうちょい複雑、でもシグモイド関数より良い感じのgradientを返す #ディープラーニング