ウィリアムのいたずらの開発日記

ウィリアムのいたずらが、コンピューター関係について、思ったことを好き勝手に書いているブログです。

Sparkによる機械学習と、ディープラーニングのしくみについて聞いてきた!

2016-10-19 11:41:43 | Weblog
10月19日、「データサイエンティスト実践セミナー Sparkによる機械学習とディープラーニング」を聞いてきた!
その内容をメモメモ!




■Spark活用による機械学習入門
本日の内容
 ・MLLibによる機械学習プログラミング
 ・分析を支援するビジュアライゼーションAPI
 ・新しい分析基盤Data Science Experience

・Spark MLLibによる機械学習プログラミング
 http://bit.ly/2ecYpWK
 与えられたデータ(コイン100枚)を教師
 クラス分類(教師あり学習)問題です

・今回出てくる言葉
 Spark MLLib
 統合エンジンSpark
  複数言語に対応していて、どの言語でも利用可能
  YARNとの連携が出来る
 MLLib
  Sparkで機械学習:MLLibとRが利用可能
 データの持ち方
  RDD:分散処理のデータセット
  DataFrame:テーブルのようなデータ構造を持った分散処理
 処理
  Spark mllib:RDDベース
  spark.ml:DataFrameベース 今後○
 mllibで
  分類と回帰
   モデル(SVM,ロジスティック回帰、線形回帰)
   ナイーブベイズ
   決定木
   アンサンブルツリー
   単調回帰
  協調フィルタリング
   ALS
 SVM
  各データ間のマージン最大化となる超平面で分類
   マージン最大化=はんか能力
  サポートベクターによって超平面を構成
  顧客の離反分析

プログラミングツール
 Jupyter Notebook
  2001年にリリース IPythonをベース

DashDB
 BlueMixのDB

デモ
 http://ibm.biz/bdu1018a

・ビジュアライゼーション
 Brunelで可視化
  ほぼ1行でかける(きれいなグラフが) たぶろーとおなじかんじ

・IBM Data Science Experience
  コミュニティ
  オープンソース
  付加価値
 これらの環境が5分で使えるようになります

・11月16日 セミナーやります

■(仮)Sparkで試してみるディープ・ラーニング
・お詫び
 Numpyを使って実装
 →Sparkでは未実装:独自で実装→ながくなるので、今日は一部

・自己紹介

・DeepLearningとは
 機械学習のひとつ ニューラルネットワーク→層を重ねる
 例:VGG16
  畳こみから入ると、こける→べつのニューラルネットで説明予定
 今日のゴール:fully-connectedを作成
   アフィン変換
   ReLU
   ソフトマックス関数

 今日説明しないこと
  CNN たたみこみ
  RNN 再帰
  GAN 教師なし学習(画像を作り出す)
  DQN 強化学習
 すうしきやらない
 各関数の詳細 微分の話:ふれない

 Batch Norm 分布調整
 Dropout

・背景
 人間の脳の構造を模してやれば、上手く識別できるのでは?
  例:単純パーセプトロン ニューロン情報処理モデル
    単純パーセプトロンの基本のき
  →非線形できない
 層を増やしてやれば、上手く識別できるのでは?
  例:FF-NN

・今日のサンプル(色の識別 3つに分類)
 何色ですか
  赤
  緑
  青

 フリーコネクティッド
  入力層
  隠れそう
   アフィン変換
   ReLU
  出力層
  レイヤ 0層 入力層
      アフィン変換と活性化関数であわせて1層
        ReLU:活性化関数
      ソフトマックス:出力関数
  アフィン変換のところがフリーコネクテッド

  フォワード処理
  バックワード処理:バックプロパゲーション

 アフィン変換
  R,G,Bの重み、バイアス(発火しやすさ)の4つの値
   アウトプット=インプット*重み+バイアス
 
 Relu:活性化させるかどうか
   活性化関数:シグモイド関数など
    0以下なら 0
    +なら 値を伝える

 いくつもつなげる

 ソフトマックス関数:最終値を扱いやすい形に変換
  →確率を出す:足すと1

 バックプロパゲーション
  バイアスを自動で設定していく:教師ラベル

  初期値設定
  フォワード:出力がでてくる
  損失関数:誤差伝播
   交差エントロピー誤差
   本来は勾配という微分計算を全パラメータに対して行う
   誤差逆伝播法だと単純計算でOK

 バックワード
  出力レイヤ(ソフトマックス+交差エントロピー誤差)
  アフィン変換の重み、バイアス(詳細は省略)

ハイパーパラメータ
 層の数とノードの数:いくつの層を重ねると
 ネットワーク全体の学習率

今日のサンプルプログラム
 240個教育、20件のデータ判定
 最後の出力は分類したい数

■ご連絡
・次回は11月11日
・11月9日にDataLakeのセミナー
・(再度)11月16日にテクニカルセミナー
ジャンル:
ウェブログ
この記事についてブログを書く
この記事をはてなブックマークに追加
« 紙にはさみを1回入れて、い... | トップ | Googleってモバイル版とPC版... »
最近の画像もっと見る

あわせて読む