変わりモノがいい!

変わりモノには価値がある・・・ハズ?

書籍紹介:Pythonではじめる機械学習

機械学習を始めるときの入門書はコレです。

僕は、装置メーカに勤めていました。 2018年にアメリカ出向中に納めた装置の稼働率を改善したいという顧客の要望に応えるために、また、装置の売り切りではなく、納めた装置を使って継続的なビジネスができるようにするために装置の予防保全の領域の改善に取り組みました。 そのときに、当然ながら今はやりの機械学習の適用を検討しました。 そのときに勉強した本の一つがコレです。
Pythonで始める機械学習
  scikit-learnで学ぶ特徴量エンジニアリングと機械学習の基礎
出版社:オライリージャパン

f:id:ken2017:20200215115012j:plain

機械学習って、簡単なようで簡単でない。

予防保全がビジネスになるかどうかという問題は確かにある。 予防保全機能を装備することはメーカとして当然のことでしょ、という話から、コンペチタ―は装備しているよ、という話から、有難う、だけでお金には繋がらない話まで千差万別である。 俗にいう、モノからコトへ、の話は別の記事で書くとして、この記事では、このあたりの悩みは横に置いておいて、素直に技術的なことを書いていこうと思う。
Pythonを使って機械学習を行うのだが、僕は、Pythonを勉強するうえでオライリージャパンの本を沢山買った。 ベースが洋書の本は読みにくい本が多いのだが、このシリーズというかPython系の本はとても読みやすく、気に入ってしまった。 そいうことで機械学習を始めるときの1冊目として、上に示した本を買った。 この本も厚い。 370ページある。 この本は良心的で、本題に入る前の準備関係(例えばPythonの構文やライブラリ説明や開発環境など)に関する記載が必要最低限で10ページ強で終わっている。 ということで、350ページ分の本編が始まる。
構成は、
・学習について:教師あり学習教師なし学習
・データの表現方法について:特徴量エンジニアリング
・評価について:モデルの評価
・前処理について:パイプライン
機械学習問題へのアプローチの仕方
となっており、お題は簡単なものではあるが、具体的な例題を使って機械学習をステップバイステップで学ぶことができるようになっている。
ところが、である。 本書を読んで、機械学習が判ったつもりになってはいけない。 あくまでも本書は、機械学習というものを理解できるように判りやすく書いているだけで、決して、機械学習の適用が簡単なわけではない。 僕も本書を読んで、実際の問題に適用してきたが、決して簡単ではなかったことを覚えている。 問題はデータの作り方ですね。 全ては、これに尽きると思います。 実際に自分でやって一番悩んだのがココです。

やはり基本は教師あり学習ですね。

お題を機械学習を使って解決していく際に、最初に出てくるのが、教師ありを使う?教師なしを使う?ということです。 教師あり学習とは、正解のラベルや数値が判っているデータをベースに構築された学習モデルを使って学習していく手法で、機械学習の学習手法の中でも最もシンプルであり、人間が予め立てておいた予測に近い結果が得られやすいことが特徴です。 教師あり学習では、クラス分類と回帰の問題となり、クラス分類とは具体的な数値を出さないで与えられたクラスに分けることであり、回帰とは具体的な数値を予測することである。 k-最近傍法、線形モデル等のアルゴリズムがあり、なんとか教師あり学習を使いたいのですが、現実はなかなかそうは行かなかったですね。 データが思うように準備できないというか壁にぶちあたりました。

ということで教師なし学習に走りました。

 というのも、僕が取り組んでいたお題は、予防保全というもので、その中には異常検知も含んでいました。 異常検知には、教師なし学習でも対応が可能でした。 また、同じ仕様の装置で同じ処理をしたのに処理結果が違うという問題における原因の追究にクラスタリングという手法を使いましたが、クラスタリング教師なし学習の範囲でした。 教師なし学習の手法を使って下に示すようなアプリケーションを作りました。
・寿命がある部品の劣化進度判定
・同一仕様装置の同一処理結果における装置パラメータ挙動の差異検知
教師なし学習での一番の悩みは、処理結果に対する信頼度というか、要は信じてよいのか信じてはいけないのかが非常に判りにくいことです。 これは、人間が想定できない分類方法を見つけ出せるというメリットの副作用として出てくる悩みと理解しています。

この本を読み、実際にシステムを作ったうえで一番大切と思うことは、

一番大切なものはなにか、と聞かれたら、悩まず、データサイエンティスト、と答えます。 機械学習というと、やれAIだ、アルゴリズムだ、という話をする人がいますが、実際にPythonを使って思うことは、学習自体は色々なライブラリにデータを設定することで主要な部分は出来てしまうわけで、自分で細かなアルゴリズムを作るわけではないので、正直なところ拍子抜けする面があります。 ということは、誰でもできる。 でも、反面、誰にもできない。 これです。 では、できる、と、できない、を分けるものはなにか、それが、お題を深く理解しているかどうか、それに関するデータを深く理解しているかどうか、であり、要は、サイエンティストかどうかが鍵と思っています。 実際問題として現場での仕事は膨大なデータとの格闘でした。 数百GBのデータもありました。 この作業を粛々と行うことができる若者を増やしていきたいものです。 アメリカにおける僕のお師匠さんも30代の若者でした。 そういう意味では、日本の未来は暗くないかも、と思っています。

プライバシーポリシー お問い合わせ