ビープラウド社長のブログ

株式会社ビープラウドの社長が、日々の思いなどを綴っていきます。

子供と親が一緒に楽しみながらプログラミングを学ぶCoderDojo〜BPStudy#122 その4

2017年10月20日にBPStudy#122〜いかにプログラミングを学ぶか?プログラミング教育を考えるが開催されました。

第1部は「子ども向けプログラミング教育」がテーマです。

CoderDojoの代表の方々4人にご登壇いただきました。

1番安川さんが塁に出て、2番打者向井アリーさんがヒットエンドランを決め、3番宮島さんがタイムリーヒットを打ちました。おおとりは4番打者の Coder Dojo 市川 代表の土屋健一さんです。

f:id:haru860:20171020195141j:plain

資料は以下です。

プログラミングを学んだ経緯

  • 少年時代、JR-200を買ってもらったが、ゲーム数が少ない
  • BASIC Magazine ひたすら写経してゲームする

    • プログラムを少しずつ把握し、動きを変えていく
    • いつの時代も写経→改造の訓練は大切
  • アイルランドは貧富の差が大きいので、無料にこだわっている

千葉県のCoderDojo

  • 千葉には12,13の道場があり、イベントで連携したりしている
  • 千葉の高校生をロボットの世界大会に送り込もうというクラウドファンディングの取り組みがある

CoderDojo市川のスタイル

  • 作成した人たちの発表タイム
  • 基本は自分で考えて作る
  • 子どもが本を開いて自分で調べて、わからないところは大人に聞きながら集中して作る
  • もくもく会の雰囲気

チュートリアル

  • Scrachで「猫から逃げろ!」ゲームの作成
  • 猫が動き回る頃からテンションがあがり、完成の頃はテンションMAX
  • そのあとはスピード変えたり、猫の数を増やしたりいろいろ変更してみる

なぜCoderDojo市川をやろうとおもったか

  • 当初会社の教育事業としてやろうと思ったが、いまいち心たぎらない
  • 儲からないのに大変。何でやってるのか
  • 子どもも大人も学べるコミュニティづくりに振り切ってから心たぎるようになった

CoderDojo運営の悩みあるある

  • モノ:自体体のリッチ度によって施設はまちまち、PCの持ち運び、保管場所、備品を融通
  • ヒト:プログラミング以外のことも必要。近隣メンター、コワーキングつながり、学生
  • カネ:開催時寄付、サポーター協賛金(なかなか厳しい)

嬉しいこと

  • 近隣のひとが駐車場貸してくれる
  • スーパーで子どもが「またいくね」と声かけてくれたり
  • Ninja(子ども)の成長を実感
  • 子どもを教えたいという希望をもっていたひとの夢が叶った

企業とコミュニティの違い

  • 企業:JOINする前にじっくり考える
  • コミュニティ:JOINしてから考える

運営で気をつけていること

  • ミニマムでできることを考える(1人で回せるイベント運営を心がける)
  • 共感できる価値を持つ

まとめ(私の感想)

土屋さんのお話からは、試行錯誤しながら、コミュニティを回している様子が伝わってきました。

一番印象的だったのは「ミニマムでできることを考える(1人で回せるイベント運営を心がける)」です。

コミュニティを運営し始めると、モチベーションの高い人ほど「やれることは何でもやろう」となるのは人の性です。

しかし、そこでやり過ぎてしまうとあとで続かなくなってしまいます。

特にコミュニティは仕事に直結する活動ではありませんので、後回しにする理由はいくらでも生まれてきます。

「続けることが目的になってはいけない」と土屋さんはおっしゃいます。

しかし子どもが安価で(参加費無料を推奨)プログラミングを学べるCoderDojoは、続けているだけでも社会的な価値が高い場ではないでしょうか。

CoderDojoにかぎらず、コミュニティを主催者、参加者にとって価値のある場にし続けるには「ミニマムでできることは何か?」を常に自問し、少ない活動コストで大きな価値を創り出す運営姿勢に徹することが秘訣と感じました。

土屋さん、ありがとうございました!

第2部は大人向けプログラミング教育です。→その5へ

子供と親が一緒に楽しみながらプログラミングを学ぶCoderDojo〜BPStudy#122 その3

2017年10月20日にBPStudy#122〜いかにプログラミングを学ぶか?プログラミング教育を考えるが開催されました。

第1部は「子ども向けプログラミング教育」がテーマです。

CoderDojoの代表の方々4人にご登壇いただきました。

1番安川さんが塁に出て、2番打者向井アリーさんがヒットエンドランを決めました

3番打者はCoderDojo 柏 代表の宮島衣瑛さんです。

f:id:haru860:20171020193356j:plain

資料は以下です。

CoderDojo Kashiwa

  • 2013年5月に当時高校1年生の宮島さんが設立(宮島さんは現在は大学2年生)
  • 20名の定員が30分で埋まるほどの人気
  • 高校生、大学生など学生主体で運営している

    • 小学校、中学生、高校生、大学生、大人が同じ場所にいる
    • 世代の違うひとたちが、同じ環境で学び合えるのがCoder Dojoの魅力
  • Special Presentation Day

    • 子どものための作品発表会(1年間のまとめとして)
    • 今年は12/23に開催
  • 開催の様子の動画

  • 小学生からやってる子は中学生も教える側に回っている子もいる
  • CoderDojo 柏は女の子も多い
  • ミッション

    • 市内のどこにいても、プログラミングを学べる場所を提供する
    • そのミッションの実現のために、柏市内に4箇所つくった(柏、柏の葉、南柏、沼南)。それぞれは独立して運営されている
    • 週末は大体どこかで開催されている
    • 同じエリアでは隣の市の流山も含めると5道場。(まだまだ広げられる)

柏市との連携

  • 柏市のプログラミング教育

    • 2017年4月から、市内42校全ての小学校でプログラミングを用いた学習をスタート
    • 目的

      • 知識・技能の習得
      • 思考力、判断力、表現力の育成
      • 学びに向かう力・人間性の涵養
    • 4年生・総合的な学習の時間☓2H

    • ミニゲーム(ねこあるき)を題材にプログラミング全体を捉える+構造を捉えて分解する
    • Scratchを使っている(文部科学省のプログラミン ではなく)
  • 教育委員会との連携

    • カリキュラム案の検討、研修を手伝う
    • CoderDojo Kashiwa主催のイベントに教育委員会が協力する(ScrachDay in Kashiwa 2017など)
    • かしわプログラミングフェスタ
    • 学校はあくまで入門で、Dojoで深める
    • Dojoが持っているノウハウを提供

2020年に学習指導要領が変わる

  • 社会に開かれた教育課程の実現(社会のリソースを活用しようという方向に変わる)
  • 社会のリソース活用という意味で、柏市は地域におけるプログラミング教育の最先端事例

子どもたちが取り組んでいることの事例

  • 小学校4年生がMinecraftをScratchでつくろうとしている!
  • リアルにつくってくる。Pythonとマインクラフトの本を持ってきて教えてくれと来た
  • 大人全部はわからないので子どもたちがやりたいことを受け止めて、一緒に学びながら教えていく

まとめ(私の感想)

宮島さんには、Coder Dojo 柏の活動と、行政機関(柏市)との取り組みについてお話いただきました。

Coder Dojo 柏は、柏市にプログラミングの教材を提案したり、教員に研修したりと行政機関と連携して、子どもがプログラミングを学べる環境づくりを進めています。

2020年に学習指導要領が変わり、Coder Dojo 柏のような外部とも連携して教育が進んでいくとのこと。

Coder Dojoのプログラミング教育における影響力は大きくなっていくでしょう。

これからの活動がますます楽しみです。

宮島さん、ありがとうございました。

3番宮島さんのタイムリーヒットが飛び出したところで、なお無死1,2塁。4番打者は、CoderDojo市川代表の土屋健一さんです。→その4へ

子供と親が一緒に楽しみながらプログラミングを学ぶCoderDojo〜BPStudy#122 その2

2017年10月20日にBPStudy#122〜いかにプログラミングを学ぶか?プログラミング教育を考えるが開催されました。

第1部は「子ども向けプログラミング教育」がテーマです。

CoderDojoの代表の方々4人にご登壇いただきました。

1番安川さんが塁に出て、2番打者はCoderDojo 藤沢 代表の向井アリーさんです。

f:id:haru860:20171020191652j:plain

資料は以下です。

プログラミングは学びでもあり、遊びでもある

  • CoderDojoは1つのコミュニティ
  • プログラミングは遊びと学びどちらか? 学びでもあり、遊びでもある「マソビ!」

    2017年「ゲームばっかりしてないで勉強しなさい」→2020年「勉強ばっかりしてないでゲーム作りなさい

  • プログラミングの3つの楽しい要素

    • コンピュータに対して命令して思い通りに動かす感動
    • 問題を自分で解いた時の気持ちよさ
    • 他の人にシェアしたり、見てもらえる楽しさ

親がそばにいない方がうまく行く!

  • 親が「べったり怪獣」の場合に起きること

    • 先生の言われたとおりにやりなさい!本と違う!周りの人と違う!みんなより遅れてる!それは違う!
    • 最後は子どものマウスを奪う

道場は切磋琢磨の稽古場

  • 作りたいものを作る→発表する→拍手を持って嬉しい→もっとすごいものを作りたくなるのループ
  • 子どもの自分の世界が広がる

    • 参加していた子どもが自分でプログラミングサークルを立ち上げる
    • DojoCon Japan2017 プログラミングコンテスト最優秀賞受賞者→海外のコンテストに参加
  • 大人顔負けのプログラムをつくる子どもたち

    • Scratchでフィボナッチ数列とトリボナッチ数列を使うプログラム
    • Sinatoraでwebアプリ制作
    • Processingで図形を動かす
    • MinecraftのRedstone Timer
    • 数字を入れるとひたすら割って素数を検出するプログラム

最新プログラミング学習ツール

まとめ(わたしの感想)

印象的だったのは「親が子どもの邪魔してはいけない(べったり怪獣)」というところです。

「親」という字は『木の上に立って見る』と書きます(金八先生より)。

心配しながらもべったりくっつかず、遠くから見ているくらいが良いのかもしれません。

さまざまな子ども向けプログラミング学習ツールもご紹介いただき、その種類の多さに驚きました(私はScratchとRASPBERRY PIしか知りませんでした)。

CoderDojo藤沢の活気と暖かさが伝わってくる発表でした。

向井アリーさん、ありがとうございました。

2番向井アリーさんのヒットエンドランが決まり、無死1,3塁。3番打者は、CoderDojo柏代表の宮島衣瑛さんです。→その3へ

子供と親が一緒に楽しみながらプログラミングを学ぶCoderDojo〜BPStudy#122 その1

2017年10月20日にBPStudy#122〜いかにプログラミングを学ぶか?プログラミング教育を考えるが開催されました。

第1部は「子ども向けプログラミング教育」がテーマです。

CoderDojoの代表の方々4人にご登壇いただきました*1

1番打者はCoderDojo Japan 代表の安川さんです。

f:id:haru860:20171020190029j:plain

資料は以下です。

日本での始まり

コンセプト

  • 子ども☓技術☓非営利
  • 一緒に学ぶ、一緒に考える
  • 「やってみた」を共有する
  • 大人も楽しむ、子どもと競う
  • 技術を楽しむコミュニティ

全国での広がり

  • 2016年3月:25箇所→10月:60箇所→2017年3月に75箇所→10月に106箇所
  • 世界では75か国、1400道場

日本法人設立

  • 2016年に公式の日本法人を設立
  • 世界と連携しながら進める
  • CoderDojo憲章を中心にしたコミュニティ

    活動の決定権をそれぞれのDojoが持つことができる

企業からの支援

どのように広がってきたか

  • CoderDojo Tokyo
  • 定期的な開催:下北沢だけで250回以上開催
  • 道場に来た人が何か気づきを得て次の道場に繋がる

DojoCon

  • DojoCon JAPAN 2016を開催

    • 200〜300人規模のカンファレンス
    • 運営者パネルディスカッション
    • 全国に仲間・友達を見つける(作品発表・コンテストなども同時開催)
  • DojoCon JAPAN 2017 が11/4に開催される

なぜ続けるのか?

  • 参加する理由

    Google先生に学び、ドットインストールで学び、CoderDojoで学んでWebサービスをつくった小学生

  • 手伝う理由

    • 大学生:学ぶことに対するモチベーションが上がるから
  • 始める理由

    • 岡山南、中学一年生が近辺に道場が無いから設立しようと思って設立

まとめ(わたしの感想)

CoderDojoは海外で始まったそうですが、名前には日本語の「Dojo(道場)」が採用されました。

日本では2012年に下北沢で始まったCoderDojo。

5年間であっという間に100箇所で開催されるまでになり、さらに広がる勢いです。

頻繁に開催され、全国に広がっているのは、CoderDojoの取り組みが子どものパワーを引き出し、大人がそれに刺激を受けてのものかなと思いました。

活動の充実度、広がりは「コミュニティのお手本」といえるでしょう。

安川さん、ありがとうございました!

1番安川さんが塁に出て、2番打者はCoderDojo藤沢代表の向井アリーさんです。→ その2へ

*1:4人揃ったら「燃えよドラゴンズ」か「大友中カルテット」ですね。

匠Methodの良さを伝えて普及するには?(匠塾 2017年10月開催まとめ)

2017年10月12日(木)に匠塾*1に参加してきました*2

私は「匠Methodの良さを伝えて普及するには?」というテーマのチーム(通称ヘンタイチーム*3)に参加しました。

f:id:haru860:20141225221811j:plain

ゲームで楽しみながら学ぶ

チームでいろいろ話した結果、ボードゲームをつくると良さそうという方向に話が向かいました。

ゲームの内容について、以下のようなアイデアが出ました。

  • 人生ゲームのようなイメージ
  • ゲームをプレイしているうちに、価値から考える習慣がつく
  • シナリオが複数あり、その中でロールが設定できる
  • ゲームマスター(ファシリテーター)が1人いる

価値デザインモデルもつくりました。

f:id:haru860:20171022140002p:plain

ゲーム化により押しつけがましくなく、匠Methodのプロセスや考え方を楽しみながら自然に学べることが期待できます。ゲーミフィケーション*4を教育に活用する事例の1つではないでしょうか。

アイデアの導線

アイデアを考えるにあたり、以下の3つのゲームが参考になりました。

Not My Fault

エンジニアがPMに「オンスケです」とウソをつき続けるカードゲーム。

Not My Fault! ~俺のせいじゃない!~

Not My Fault! ~俺のせいじゃない!~

紹介記事:「進捗ヤバいプロジェクトに直面した経験がある人なら(多分)楽しめるカードゲーム「Not My Fault!」」

Fat Project

デスマーチとならないように注意しながら,クライアントの興味をひくようなITプロジェクトの要件を決めるカードゲーム。

紹介記事:「デスマーチを回避するITプロジェクトの要件定義ゲーム「Fat Project」がヴィレッジヴァンガード通販で発売。ブラックジャック風アナログゲーム」

「クラウド活用」「モノのインターネット」「人工知能」など、流行りの言葉や「過労死」「サポート切れ」「20万人月」などのつらいワードのカードが目をひきます。

7つの習慣

書籍「7つの習慣」を学べるボードゲーム。

7つの習慣 ボードゲーム ?成功の鍵?

7つの習慣 ボードゲーム ?成功の鍵?

公式サイト

Google Home、Amazon Echoを使ったソリューションを考える

他の3チームは「Google Home*5、Amazon Echo*6を使って何かやろう」とPepperに飽きた社長から鶴の一声でソリューションを考えるという設定でした。

今回は、Google Home、Amazon Echoというソリューションありき、つまり「Howからの突き上げ」*7(要求開発の用語では「戦略のリバース*8」も近いアプローチです)によるプロジェクトです。

各チームの気づき

各チームの振り返り発表や、懇親会でうまれたトピックをまとめておきます。

  • 方向性が決まるまでのファシリテーター

    さまざまなアイデアが出る中で、広がりそうなアイデアが出てくるまで、会話をウォッチしながら探る。広がりそうなアイデアが出てきたら、そこに食いつき深掘りする。「システムのデーモン*9のようですね」と高崎さんと懇親会で話していました。daemon*10はギリシャ神話に「守護神」で、ファシリテーターを「場の守護神」と考えると、イメージ通りではないでしょうか。

  • ファシリテーターの存在感がなくなるチーム

    ある盛り上がったチームに対して「ファシリテーターは誰だったんですか?」という質問がありました。「誰だっけ?いなかった!?」ということでしたが、実際は石田さんがファシリテーターだったようです。私も「ファシリテーター無色透明がよい*11」ということを良くいうのですが、本当に盛り上がるチームのファシリテーターは存在感がなくなるのかもしれません。

    また、先日「グラフィック・ファシリテーション」という手法について、オージス総研の赤坂英彦さんに話をうかがいました。

    グラフィック・ファシリテーションでは、はじめにファシリテーターが話の流れを絵に描き、そのあとはチームのメンバーがその絵を理想的なものに変え、ファシリテーターは何もせず場に任せるそうです。

    ファシリテーターの存在感がなくなる(いない)ということは、グラフィック・ファシリテーションのファシリテートに近いのかもしれません。

  • 該当のモデルを特定せず話しあう

    匠Methodの価値デザインモデルをやろう、価値分析モデルをやろうということではなく、盛り上がって話した内容をモデルに配置していったら自然に2つのモデルが出来上がったそうです。

    このチームは70分という時間の中で、2つのモデルを完成に近いレベルまでつくっていましたが、この方法は2つのモデル(価値分析モデル、価値デザインモデル)を別々につくるよりもスピードが上がりそうです。

最後に

今回はチームの課題が「匠Methodの良さを伝えて普及するには?」だったので、マーケティングの話になるかなと予想して参加したのですが「ゲームをつくる」という思ってもみなかった方向に話が進みました。

このように、匠塾ではチームで課題に取り組むので、人と話しているうちに思ってもみなかったような知識や学びが得られます

プロジェクトでは、チームでアイデアを話し合い、合意形成し、進めていく場面が多々あると思います。

そのような場面で、思うがままにブレストをするよりも匠Methodを用いて進めたほうが、何倍も速くチームメンバーが納得のいく合意形成につながります

匠塾は、そのような場を疑似体験できます。ときには話がうまく進まない場面にもなりますが、その雰囲気を疑似体験しておくと、実践では落ち着いて対応することができます。

チームの合意形成に課題をもっている方は、参加してみてはいかがでしょうか。

※匠塾は招待制の勉強会です。匠Methodに興味があり、匠塾に参加してみたい人は、にFBメッセージでお声がけください。

匠Methodについて書かれた書籍はこちら

匠Method: 〜新たな価値観でプロジェクトをデザインするために〜

匠Method: 〜新たな価値観でプロジェクトをデザインするために〜

*1:毎月開催されている招待制の匠メソッドを学ぶ会です。株式会社アクティアCOO 高崎健太郎さんを塾長とする有志によって開催されています

*2:会場は前回に引き続き、NTTコムウェアさん(品川)でした。

*3:固定的にテーマを構えるのではなく、議論したいテーマを自由に見つけて、それに応じて態を変えるという意味で「ヘンタイ」。異常という意味の「変態」ではない

*4:課題の解決や顧客ロイヤリティの向上に、ゲームデザインの技術やメカニズムを利用する活動全般

*5:グーグルホームはユーザーがボイスコマンドを喋ることで搭載されている「Googleアシスタント」を通じてサービスを起動させる事ができる。グーグル社製とサードパーティー製の両方の多数のサービスが統合されており、ユーザーが音楽を聴いたり、ビデオや写真を見たり、声で最新ニュースを受け取ることが出来る。グーグルホームはホームオートメーション機能を備えており、ユーザーのボイスコマンドでスマートホーム家電を操作することが出来る。複数の部屋に置かれたグーグルホームの音楽の同期再生が可能であり、2017年4月のアップデートで最大6人のユーザーの声を識別可能な複数ユーザーサポート機能が追加された。WikiPediaより

*6:エコーは音声コントロールのAIアシスタントのAlexa(アレクサ)に接続しており、名前のアレクサで反応する。「起動ワード」はユーザーによって「アマゾン」、「エコー」、「コンピューター」に変更可能である 。エコーは音声交流や音楽のプレイバック、to-doリストの作成、アラームの設定、ポッドキャストのストリーミング、オーディオブックの再生と天気や交通情報、リアルタイム情報などの提供ができる。また、エコー自体をホームオートメーションハブとして使用し複数のスマートデバイスを操作可能である。WikiPadiaより

*7:技術、ソリューションありきで、要求を創り出す、イノベーションを産み出す考えかた

*8:戦略からスタートして課題レベル、実行レベルに落とし込むのではなく、はじめに課題ありきでスタートしたプロジェクトにおいて、その課題の解決が企業戦略のどれに該当するのかを逆に辿るプロセス-「ユーザーの役に立つシステムを作る 本当に使える要求定義[改訂版](日経BP Next ICT選書)」P.31より

*9:UNIXなどのマルチタスクオペレーティングシステム (OS) においてバックグラウンドプロセスとして動作するプログラム

*10:dameon(守護神)とはギリシャ神話に登場し、神々が煩わされたくないと考えた雑事を処理した存在。WikiPediaより

*11:私は「ファシリテーターは意見を言ってはいけない」いうと意味でこの言葉を使っています。ファシリテーターが意見を言い、メンバーの意見の振り分けをすると、場をコントロールしてしまい、言っても聞いてくれないというような雰囲気が生まれ、メンバーのモチベーションも下がり、新しい発想がでてこなくなるためです。

今データサイエンスが必要とされる理由とPythonの役割〜BPStudy#121 その2

2017年9月26日にBPStudy#121が開催されました。

第2部は、辻慎吾さんにお話いただきました(※第1部はこちら)。

資料はこちら(PDFファイル)です。

f:id:haru860:20170926201302j:plain

以下は私のまとめです。

データサイエンスについて

データサイエンスとは

WikiPadiaによると、"data-driven science"(データ駆動型サイエンス)である。

サイエンスとは
  • (1)仮説を立てる
  • (2)仮説を証明するために実験や観測によってデータを収集
  • (3)データを解析して仮説を検証

(1)〜(3)を繰り返し、普遍的な原理を導き出す

  • 例1:フックの法則(F=-kx)
  • 例2:DNA配列
データサイエンスでは、とにかくビッグデータを集めることが重要
  • ヒッグス粒子の発見(Pythonを使用)
  • Webのユーザーの行動履歴
  • IoT(地理情報を含む行動履歴、エネルギー消費量など)
データサイエンスの必要性

データから普遍的な何かを導き出すこと

Pythonとデータサイエンス

  • データサイエンスの実際(プロセス)は、さまざまなこと実施する

    • データの収集と前処理
    • 統計解析
    • 後処理と次の計画 
  • さまざまなことを実施する必要があるので、各プロセス共通で汎用言語Pythonでデータサイエンスを実践できる価値は大きい

Pythonの急成長
データサイエンスで使うツール、言語のPython以外の選択肢
  • SAS
  • Mathematica
  • Matlab
  • R

※Pythonが唯一、オープンかつ汎用

Pythonはglue(のり)言語

scikit-learn、matplotlib、NumPy、seaborn、jupyternotebook、SciPy.org、pandasなど、Pythonを中心にして、オープンなエコシステムがある。

良いものをどんどん取り入れ進化が加速している。

Anacondaがおすすめ

Continuum Analytics社が配布するPythonパッケージ

RとPythonの比較
  • Google Trends でも、「Python data science」と「R data science」では、Pythonの方が上。(Rもdata scienceで中心的な存在)
  • それぞれの特技はある。Rは統計に強い。マニアックな統計関数が用意されている(Hosmer-Lemeshow検定など)

サイエンスと再現性

  • 2006年、Nature Medicine誌に掲載された論文

    • 辻さんは、教授に論文の再現を命じられた
  • 複雑な計算方法の詳細がかかれていない、業界の常識的な方法論で試す→再現しない

  • そのうち、世界中の研究者が疑い始めた
  • 完全なデタラメだった
サイエンスには再現性が重要

解析を完全に再現するには、オープンな基盤が必要→Pythonはオープンな基盤→再現しやすい

  • 「オープンサイエンス」という動きもある

データサイエンスで、なにがどこまでできるのか?

データだけで、普遍的な原理や知識を導き出せないことも多い。

  • 自然言語処理

    • 恋愛の相談→意味を漠然と捉えることはできた。が、しかし、漠然と捉えられただけであり有用かは分からない
  • 多様体仮説(学習)  

    • 計算してデータを加工するのは計算機、推測するのは人間

まとめ(私の感想)

辻さんには、データサイエンティストの立場から「なぜデータサイエンスでPythonなのか?」を説明いただき、その理由を知ることができました。

  • データサイエンスでは、データの収集と前処理、統計解析、後処理など、さまざまな作業を実施する必要がある。これらを共通の言語でできる価値は高い
  • サイエンスでは再現性が重要。Pythonはオープンなので再現環境をつくりやすい
  • データサイエンスのジャンルで、Pythonを中心として、オープンなエコシステムができている。良いものを次々と取り入れ進化が加速している

私も「なぜ、Pythonなのか?」を説明する場面がありますが、上記の理由を使わせてもらえればと思います。

辻さん、ありがとうございました!

If文から機械学習への道〜BPStudy#121 その1

2017年9月26日にBPStudy#121が開催されました。

第1部は、サイボウズ・ラボの西尾泰和さん*1にお話いただきました。

f:id:haru860:20170926190834j:plain

資料は以下です。

if文から機械学習へ

  • 機械学習は、日頃のプログラミングから遠く感じるが、実は身近なif文と地続きでつながっている
要約
  • if文は、重み付き和*2で表現できる。
  • 重み付き和の重みを人間が決定するのがルールベース。コンピューター(機械)がデータをもとに決定するのが機械学習
あらためてまとめ

スライドだけでも充分に理解できると思いますが、分かった気にならないように自分でまとめてみました。

f:id:haru860:20171009125129p:plain

  • (1)if文のシンプルな OR文とAND文
  • (2)−1:複雑な条件を、if文で表現→And と Orが組み合わさって複雑
  • (2)−2:真偽値を数値に変換して加算。数式で表現→複雑な条件もシンプルに表現できる

f:id:haru860:20171009125216p:plain

  • (3)And 条件、Or条件、組み合わせ条件の右辺を1で揃え、左辺に係数をつける→重み付き和の表現になる

f:id:haru860:20171009125236p:plain

  • (4)複雑な条件を考えてみる→条件ごとに重みが異なる

    • 重みを人間が決める=ルールベース
    • 重みをコンピューター(機械)が決める=機械学習

オンラインPython学習プラットフォームのPyQでは、西尾さん監修のもと、if文からはじめて機械学習を使うまでの流れを、具体的な事例で学べるコンテンツを用意しています。

pyq.jp

顧客価値と手法の関係

  • Q.以下の2つはどちらが顧客価値が高いか?

    • 加工速度を2倍にする装置(顧客の利益を1万円増やす)
    • 精度60%の識別器(顧客の利益を4万円増やす)
  • A.精度60%の識別器が4倍顧客価値が高い

    • 精度は必ずしも重要ではない
    • 顧客価値がどれくらい生まれるかが重要
    • 顧客が何を求めていて、どのような制約条件があるか
  • (例)最新論文に書かれた手法を実装

    • (制約条件)手法が要求する量のデータを顧客が用意できない
    • その最新手法の実装は、顧客価値を持たない

機械学習の使いどころ

  • リーンスタートアップのMVP(Minimum Viable Product)の考え方で必要最小限の実装を考える
  • ステップ1:コンシュルジュ型MVP(実装しない)

    • 人間が仕事(サービス)を担当する
    • 人間が担当しているが、時間や労力がかかっている→機械化で顧客価値が増えるチャンス
    • 顧客は出来ているが、自分はやり方がわからない=情報の伝達漏れ
    • 顧客も自分もやり方がわからない=ムリなことをやろうとしている可能性
  • ステップ2:人間を箱に入れて考える。

    • 箱には電子データしか入力できない。出力も電子データ
    • 顧客から入力データを得る方法、出力データを与える方法を考える(制約条件になる)
    • 出力から顧客価値を生む方法を考える
    • アルバイトに任せるとして、マニュアル(人間が考えたルール)を書いてみる
  • ステップ3:箱の中をコンピューター(機械)に置き換える

    • ステップ2で考えたルールをプログラミングする
    • 実行して顧客が満足するか
    • 満足しないなら、具体的不満を収集する
    • 入力に対する出力の要望=教師データ
  • ステップ4:機械学習の導入

    • 教師データを使って機械学習
    • 教師データが充実すると、アルゴリズムの良し悪しが定量的に測れるようになる
    • ステップ3より精度が良いとは限らないので、PDCAサイクルを回し改善する
    • 正しく分類できていないデータを眺め対策を考える(特徴量の追加など)
    • 「判断の自信」を返してくれるアルゴリズム(ロジスティック回帰など)の場合、「自信のない結果」をみて教師データの追加(能動学習)

最後に(私のまとめ)

近年、AI、そのベース技術となる機械学習の手法が世の中で活用され始めました。

その流れからか「AIを使って何かできないか」という要望が経営サイドからあがり、経営課題に対していきなり機械学習を使い始めてしまうということもあるようです。

課題に対して機械学習をいきなり適用した場合、オーバースペックになりコスト高になってしまうことも多々あります。

オーバースペックにならないためには、以下の2つの見極めが必要です。

  • ルールベースのプログラムでもできること
  • 機械学習で楽にできること(ルールベースでは複雑で難しい)

これを見極めるための理解として、西尾さんは以下のことを説明してくれました。

  • if文から機械学習は地続きで考えられること
  • 顧客価値と手法の関係
  • 機械学習の使いどころ

AI・機械学習を活用したい人は、これらを理解することで費用対効果に優れたソリューションをつくりだすことができるでしょう。

西尾さん、ありがとうございました!

*1:スライドの表紙にもありますが、2017年6月からビープラウドの機械学習系の技術顧問に就任していただいています

*2:係数をかけてつくられる和のことであり,加重和や線形和などともよばれる.例えば,数列(データに相当)x1,…,xnの各要素にそれぞれ係数(回帰係数に相当)w1,…,wnをかけて重み付き和がw1x1+…+wn xnとつくられる.引用元:実験医学online