機械学習案件について 機械学習アプリを開発した経験から
View Slide
発表者 名前:和泉寿範 ニックネーム:いずみん 好きな言語:Python、PHP 好きなFW:Masonite、Laravel 興味がある事:機械学習、DDD 仕事:研究所のエンジニア WEB系のエンジニア その他:チャリティーサンタ
機械学習に関わったプロジェクト ● scikit-learnを用いた化合物予測WEBアプリ ● scikit-learnを用いた化学物性質予測WEBアプリ ● jubatusを用いた花粉対策アプリPollinosys(個人プロジェクト) プロジェクトで用いた技術の説明とやってよかった事、やればよかった事などを発表します。
実際のAIエンジニアのイメージAIシステムの開発工程 データの収集データの前処理特徴量の決定アルゴリズムとパラメーターの決定してモデル作成WEBAPI化実データで運用地味な処理(全体の8割から9割)
AIを作るためのツール ライブラリ型 自分で実装する。 AIエンジニアが必要。 ● scikit-learn ● keras サーバ型AIサーバーを立ち上げて、データを送信する。AIサーバーの機能に依存する。● Jubatusサービス型WEBサービス上でAIを作成する。サービスに依存します。お金が掛かる。● Watsonお金と依存性が高くなる作成するコード量が増える
jubatusとは? ● サーバ型のAIプラットフォーム ● C++で作成されており、処理が高速 ● OSSなので無料で利用が可能 ● 特徴量抽出を設定ファイルに記述 なんとな〜くデータを機械学習エンジンに送信すると予測データが帰ってくるっという事が可能です。
花粉対策アプリPollinosysのシステム構成 機械学習エンジンWEB(アプリ本体)LaravelJSONリクエスト予測に必要なデータ予測値
機械学習アプリを作ってみて やってよかった事 ● Gitリポジトリの分割 ● Jubatusの使用 ● Flaskの使用 やればよかった事 ● オブジェクト指向プログラミング ● 機械学習ツールの検討や条件の検討 ● Dockerを用いた開発環境作成 良い意味でも悪い意味でも、リリーススピードを優先する開発だった。
まとめ ● JubatusやFlaskを使って、お金をかけずにAIシステムの開発ができた。 ● プロトタイプを作るならライブラリ型よりもサーバー型やサービス型のツールを使うのが効率がいい。 ● オブジェクト指向を意識して、コードを書かないと後からアルゴリズムやツールの変更が大変になる。