ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

ソフトウェエンジニアのための「機械学習理論」入門

2015-06-29 16:17:03 | AI・BigData
6月26日、NIIで

「ソフトウェアエンジニアのための「機械学習理論」入門」
http://topse.or.jp/2015/05/2344


を聞いてきた。その内容をメモメモ




資料はWebにアップロードしたお
http://www.slideshare.net/enakai/ss-46880120

(ハンズオン)
http://www.slideshare.net/enakai/machine-learning-theroy-handson-20150420


数式の意味
例題は、「パターン認識と機械学習」(黄色い本)
この本にチャレンジするファーストステップ

機械学習の本が出版されるはず-その本に書く

講義と平行して演習

■データサイエンス入門
・データサイエンスの全体像
 ビジネス判断を支えるもの
 ビジネスとして意味のある判断指標を見つける

 データ:ビジネス的な意味
 ドメインナレッジも持っていないと

・ビジネスにおけるデータサイエンスの役割
 ハリケーンが来たときに、どういう品揃えをしたらよいか?
  いけてない例
   水が売れました!
   DVD:アナ雪→将来を予測しないといけない
  いけていそう
   ビールがうれていました。在庫したら?
  →在庫にかかる費用と予測
 事実でなく、儲かる方法を聞いている

・いけてない機械学習の例
 チャーニング(ケータイキャリア乗り換え)
   決定木で分析
    お客さんの写真のデータを決定木にいれる:答えは出る

・機械学習アルゴリズムの分類(代表例)
目的:どう使いたいのかで分類
・クラシフィケーション
  分類ルールを作っておく
  確率で決めることもできる
・回帰
  数値を予測する
   何人の人が申し込むか?
   基本料金をいくらにしたら・・・
・クラスタリング
  教師なし学習
  (教師あり:答えがわかっている過去のデータを使う)

ツール
・R
・Enthought(えんそーと) Canopy(きゃのぴー)
  機械学習系がインストールできる
  scikit-learn:機械学習用ライブラリは有償
  pandas:データフレーム使える

演習準備
・Canopyのインストール
・GUIは使わないので閉じる
・ライセンスのメッセージは無視(フリー版なので)
・サンプルコマンドGet、Unzip、config

回帰分析
・最小二乗法
 トレーニングセットのデータ10個
 予測してください

・多項式を仮定する
 二乗誤差を求める→最小値を求める;偏微分が0
 W=係数、t=時点 ファイ=各点

 3次にしたらけっこういい
 9次にしたら全部点がとおる→オーバーフィッティング

 ERMS:誤差の平均

・一般化力
 未来のデータにどのくらい予測できるか
 オーバーフィッティング:見つける方法:テストセットを使う
 ERMSとテストセット→交差分割(クロスバリデーション)
 3次だとわかったら、そのあとは全データを使って検証する
 →誤差はでる。データの本質的な誤差があるから

 横軸を特徴変数という人たちもいる

■最尤推定
・確率的に予想
 +-σぐらいの広がりで
・トレーニングセットが得られる数(掛け算)→尤度関数
  →誤差関数がでてくる
・尤度関数を最大化するパラメータ
  →誤差関数がでてくる→それを分析する
・標準偏差→ERMS
・トレーニングセットの平均が真の平均(分散も)と推定する(あくまでも推定)

不偏分散
・小さく出る→ちっと大きくしたほうがいい値
 NでなくN-1とする

■線形判別法
・パーセプトロン(誤差最小)
 1とー1にラベル付けされているのを分ける
 誤差を小さくする

 確率的勾配こうかほう
 ベクトル解析。グラディエント:こうばいベクトルが出る

 n=1,2,・・・N
 間違って分類されていたら、パラメータを修正する
 Nまでいったら、また1に戻る

 バイアス項は任意にとれるが、収束速度が変わる
 C=1で書くと、収束が遅いはず
  →サンプルが早いのは、トレーニングセットが原点付近を通る用になっている
   三次元で考えると、定数Cを通る平面上に点をばらまける。
   この場合原点をとおる平面によって分割直線を表現できる
    →教科書に超平面で分割するとかかいてあるやつ

・ロジスティック回帰(確率最大)
 tが0と1とする→ベルヌーイ分布になる
 1の確率p、0の確率(1-p)
 これを1つにまとめるとベルヌーイ分布
 →尤度はIRLSで求められる

■学習モデルの評価(ROC曲線)
・何パーセントにしたらいいか
  TP Rate
  FP Rate
 ROC曲線を書いて判断する
  TP Rate,FP Rateの曲線
  うまく分類できると、左上にはりだす
  なまめ45度=ランダム判定
  下側にくる→悪意を持ってうそをついている
 数学的にはAUC(エリアアンダーカーブ)でやる

■クラスタリング
・K-means
 2乗ゆがみが小さいグループを答えとする
 代表点も属するグループもランダムに決める→選びなおす
 いつかは極小値になる
 何回もクラスタリングする

 応用例:画像減色処理

 文書の分類:同じ単語がどのくらい

・EM法
 手書き文字の分類
  代表文字とどれくらい似ているか
  各ピクセルが黒になるマスター
   手書き文字をランダムに生成
   同じものが得られる確率→尤度関数
  →ベルヌーイ分布になる
 K平均法に類似した手続きで得られる
  K番目のジェネレーターが使われる確率
  重心を取る

クラスタリング:主観が入る

CTC教育サービス

NECの「学習型超画像技術」→事前に鮮明なナンバープレートで学習

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

「概念モデリング再入門 ~いまさら人に聞けない人のための基礎講座~」を聞いてきた!

2015-06-29 12:17:23 | 開発ネタ
6月26日に、「要求開発アライアンス 6月定例会」に出て


概念モデリング再入門 ~いまさら人に聞けない人のための基礎講座~
講師:河野 正幸 氏 www.openthology.org
ハッシタグ #redajp
https://redajp.doorkeeper.jp/events/26623


を聞いてきた。その話をメモメモ




概念モデリングやってますか
・概念モデリングは非常に有効な活動
・ぜひ一度やってみてほしいーまず始めてみること
・来週からやってみようかなと思ったら成功

内容
1.スタートするうえでの最低限の基礎知識
2.要領よくモデルを書くために知っておくとよいこと

■1.最低限の基礎知識
UMLで書いた概念モデルの例
(クラス図)
 クラスでかく:概念名と属性名
 線:関連
 概念を表す腺
 多重度は重要
 ノートでいろいろ書いておく
基本このくらい。UMLにこだわらなくてよい

手順
1.テーマの選定
2.概念の識別
3.属性の定義

1.テーマの選定
・何をテーマに概念モデルを書くのかをまず決める
・テーマの広さによってモデルの目的や詳細度は変えたほうがいい
 全体概念モデル:全体像をざっくり
 個別詳細モデル:ビジネスユースケース

2.概念の識別
 リソース:経営資源に関する概念
   パーティー(活動する人たち)、もの、場所、ルールポリシー
 イベント:ビジネス上の事象
   通常イベント、異動イベント(管理したい状態の変化)
 データストア:把握しておくことが必要な情報
   口座型、B/S型、P/L型

3.属性の定義
・概念の特性をよく表す
・コードや区分:クラスとして表現
・すべての属性をこの時点で詳細に洗い出す必要はない
・主キーは洗い出しておく

4.関係の定義
・関係と多重度
  多重度:ビジネスルール
・種類を明示したい:汎化
・基本的にはアソシエーションと汎化
・集約、複合までは・・・

■2.要領よくモデルを描くために
NG行動
・理論武装してから始めようとする
・正解かどうかにこだわりすぎる
・途中で投げ出す
  まず2つの知識
    商品(製品、サービス)
    パーティ(自社組織、取引先)
・最初からきれいな最終形を描こうとする
  3段階くらい描いてみる
    1.全体を理解する概念モデル
    2.抽象化せずになるべく詳細に表現したモデル
    3.抽象化して整理したモデル(最終形)

■概念モデルを要領よく描くコツ
まずイベントを見つけ5W3Hを考えてザクッとモデルを描く
  :整理せずにくっつける→1段階目
 業務をよく分析してモデルを洗練する→2段階目
 似たようなものをまとめる→3段階目

双方向で関連を精査して適切な概念構造を導き出す
 多対多になったら注意:間に何かない?
 イベントの明細?→マスタとして別概念!

2つの概念間に別の種類の複数の関連がないか?
  別の見方、管理の仕方をしたいこともある

概念同士の関連において、ロールを意識してうまく表現する。ただしシンプルに!
  ロールを複雑に考えるとハマる。なるべくシンプルに

モノに関連している概念を考える場合、
  それがモノの種類を扱っているのか、
  現品を扱っているのか
 を精査することで正しい理解が得られる
  例;新車の注文→車種が重要(今、車なくてもOK)
    中古車の注文→車両:その車を注文している

ルール、手順、ポリシー「知識レベル」
  オペレーション管理「操作レベル」をわける
 「知識レベル」、「操作レベル」ファウラーがアナリシスパターンで
  (知識レベル:クラス間?操作レベル:オブジェクト?)

口座型データストアは
  うけ払いの記録を概念として取り出す
  その増減をもたらした業務イベントとの関連
 で表現するとすっきり!
 例:商品在庫
   受払記録:在庫
   イベント:入荷、出荷
 →マーチンファウラー:勘定パターン

■最後に
・つべこべ言わずにかけ
  数をこなせばうまくなる
・みせる
・業務とDB設計用は分けて(目的は切り分けて)

・ビジネスユースケースで表現するテーマが範囲
 ないし、既存モデルがある場合がそこ
・最終形の基準→ER図が描ける

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

ゲームにはまってしまった子供を簡単に飽きさせる新方法

2015-06-29 10:09:37 | Weblog

【眼から鱗】ゲームにはまってしまった子供を簡単に飽きさせる新方法が見つかった
http://netgeek.biz/archives/41090

ノルマを課し、クリアできなかったら叱責だそうな。
ちなみに、これを考えた人は会社でも優秀な人で、課長に昇進したそうな
この記事を書いている人は、これを考えた人に「ついていく」と言っているが・・・

仕事でも、「ノルマを課し、クリアできなかったら叱責」?

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする