これが機械学習、深層学習の勉強を始めたきっかけでした。 体系的に、この分野の基礎から学ぼうとJDLAのG検定の勉強をして合格するところまでいきました。 次のステップとして、 実際にPythonでコードを書きながら機械学習や深層学習の知識を深めているところです。。。 今回は、JDLAのG TensorFlowでDeep Learningを実行している途中で、損失関数がNaNになる問題が発生した。 Epoch: 10, Train Loss: 85.6908, Train Accuracy: 0.996, Test Error: 90.7068, Test Accuracy: 0.985238 Epoch… average accuracyは小さな数の正確さも同等に評価するようになる。 logarithm loss. These are the next steps: DeepLearningの学習曲線をmatplotlibで可視化. Logarithmic Lossのこと分類モデルの性能を測る指標。(このLog lossへの)入力は0~1の確率の値をとる。この値を最小化したい。完璧なモデルではLog lossが0になる。予測値が正解ラベルから離れるほどLog lossは増加する。 入門 Keras (2) パーセプトロンとロジスティック回帰 3. 入門 Keras (1) Windows に Tensorflow と Keras をセットアップ 2. 機械学習モデルをビジネスで利用する上で、最終的に重要なのは事業インパクトです。RoIなどとも言われ、そのモデルの経済効果を表します。機械学習モデルを作る上では、できるだけこのRoIを最大化する必要がありますが、直接的にモデルをRoIに対して最適化するのは現実的ではありません。実際にデータから機械学習モデルを作成し、デプロイした効果を測定していくまでのステップにおいては、のステージに分解でき、ステージごとに別の指標を利用します。各ステージの目的を覚えながら、そこで必要となってくる性質を結びつければ関係性が覚えやすいのでおすすめです。与えられたアルゴリズムと設定において最適なモデルを生成するためにモデルの精度を上げるための最適化指標を利用します。各アルゴリズムのハイパーパラメータの中でもっとも精度の高いモデルを作れる値を、最適化指標を元に探索します。損失関数に比べて全データで一件一件計算するのではなく、できたモデルの精度を最適化指標で測り、ハイパーパラメータ変換して繰り返してと少しは計算量がマシになります。その分、選択の自由度は高いのですが、さすがに閾値を必要とするような指標を選択することは計算量の観点でまだまだできません。複数モデルを比較して、評価する場合に評価指標を利用します。その際に違うデータセットにおけるこれまでの傾向と比較するためにより解釈性の高いものを選択する場合や、ビジネスKPIに近い閾値を伴った指標を選ぶことが多くあります。DataRobotにおいては、DataRobotは「機械学習の自動化」をメッセージとして掲げていますが、指標の選択というパートにおいても自動化が施されています。注意点としては、DataRobotで自動的に選ばれる指標は最適化指標とUI上はなっていますが、その際に損失関数も選ばれているのです。どの最適化指標で各アルゴリズムでどの損失関数が動いているかも把握できればあなたもDataRobotマニアックマスターに一歩近づきます。最適化指標と損失関数の組み合わせを暗記するよりも大切なこととして、最適化指標を選択したからといって、それが他の指標を最適化指標に選んだ時よりも必ずいいとは保証されないことがあります。探索の範囲としてスマートグリッドサーチをしているため、局所最適解に陥るケースがあるのです。ただ、あまり大きな違いがでることは少ないので、こういうことが起こるという知識として留めておく程度で良いと思います。モデルをビジネスに適用した際の期待される効果をKPIとして数値化し、実装・実施判断を行います。次のステップのビジネスインパクトの計算と同様であったり、同時に行うケースも多々あります。分析だけをメインで行なっていると、最適化指標でこのスコアが出た!と喜んで終わりのケースをよく見かけますが、その後にビジネス部門でKPIに変換すると大きな変化がなく、リソースのコストの方が高い。。。なんて残念なケースも実はよく見かけるので、分析する側もここの値を意識することはとても大事です。連続値回帰問題だけをとっても様々な指標が存在します。もちろんここに載せていない他の指標も存在しますが、損失関数、最適化指標としてはまずはこのラインナップを覚えれば十分です。ポイントとしては、数式を丸暗記するのではなく、その数式が表したかった事象自体を覚えておくことです。もちろん数式自体の理解が深まれば、YesかNoを当てる二値分類問題に置いて、単純に何件当たったしかみない人もいますが、YesとNoの比率が極端だとうまく行きません。例えばNoが99%であれば全部Noと言えば、99%当たるわけです。このような状態に陥らない為にも、二値分類でも様々な指標が考えられています。ただ、私は基本的には、LogLossをベースにAUCとPrecision/Recallくらいしか使いませんので、全部はきついという人はそこだけポイントで覚えてみてください。二値分類問題における指標を見ていくと、連続値回帰問題で使われていたものがほとんどでなくなってます。ただ連続値回帰問題に比べて選択の幅があるかというと損失関数としても最適化指標としてもまた、PrecisionやRecallのように閾値とともに決まっていくものがありますがどう行った閾値に設定するかは、実際にRMSEを最適化指標に選んだ時系列の売上予測とRMSLEを最適化指標に選んだ時系列の売上予測を比較して見ましょう。そうすると予測値がRMSLEの方がRMSEに比べて全体的に上に来ていますね。ポイントとしては、元々上に外していたものはもっと外れてしまい、下振れを重要視するといっても完全には防げないという状態です。最適化指標さえ変えれば全てが解けるという期待値は危険で、本当にオペレーション上、下振れが許されないのであれば、予測値にプラスいくつ積むなど運用の仕方でカバーする必要が重要です。RMSEで最適化した時の時系列での精度。青が予測、オレンジが実測。RMSLEで最適化した時の時系列での精度。RMSEに比べて青の予測がオレンジを下回った回数が9回から7回に減っている。通常の運用であまり気にすることはないですが、0コンマの世界を争うコンペやテーマにおいては、機械学習で扱うデータは多くの場合、現実世界の事象のサンプルに過ぎないのです。交通量の予測をしたい場合にも、毎秒その道路ができてから歴史上全ての交通量が取れているわけではありません。その場合に、真のデータとしての分布と扱うデータの分布が違うケースがあります。現在取れているターゲットのデータ数では、DataRobotが分布を捉えきれなかったですが、一般的にその事象が特定の分布に従うとすでにわかっている場合には、その分布に設定することによってより未知のデータへの対応力が上がります。例えば、Poisson分布に従うと言われているものとしては、その分野の研究によって、過去に大規模な信頼できる調査が行われており、その事象がその時点から変わっていないケースにおいては有効な手となるのですが、手元のデータはその分布に従っていないわけで、検定スコアでもいい値が出ないかもしれないので、選ぶには勇気がいるケースだと個人的には思い指標を変えるというよりも、指標の計算に対する重み付けを変える方法として、DataRobotにはウェイトという機能があります。となります。だいたいFALSE側が内部的に半数になるようにサンプリングしていますが、最終的な重みとしては倍になるようになっていて、補正されています。この機能もポイントとしては、重みをつけたところを高い確率で当てられるようになるかというと、データの重みを増やしているので、そもそも今のデータセットでは当てづらいような領域であれば精度の向上は大きく認められませんし、逆に他のウェイトが低い部分の精度が落ち込む場合があるので注意が必要です。こだわったわりに大きな効果が出づらいのですが、だからこそ使いこなした時にデータサイエンススーパーヒーローへの道が開けるのです!今回は損失関数、最適化指標、評価指標など普段あまり意識することがない人も多いテーマに付いてピックアップしました。DataRobotは専門性の高い部分も自動化していますが、今回のような知識も持つことによって、より多様なテーマにおいて取り組むことができるようになります。また、指標くらいの数式なら理解してみようと思っていただく方が増えたら個人的に語り合えれる人が増えていいなとも思っています。変化の時代にAIのインパクトを加速するデータサイエンティストDataRobot Japan に3番目のメンバーとして参加する。金融業をメインに担当するリードデータサイエンティストとして、インフラからプロダクトマネジメント業、パートナリング業までフルに担当している。直近のAIプロジェクトは、「メガバンクにおけるAI活用支援」「金融企業におけるAI推進CoE組織構築支援」「AI民主化を実現した顧客を複数担当」など。前職はデータマネジメント系の外資ベンダーでビッグデータソリューション全般を担当。最近のブログ記事近年注目が集まるReal World Data(RWD)に機械学習を適切に用いることで素晴らしい知見が得られた事例が報告されています。本稿では、医療関係者や創薬研究者がRWD分析で成功するためのヒントを得ていただくために、機械学習を使用したRWDの分析で気を付けるべきポイントを紹介します。AI/機械学習を使って要因分析を行うとき、事前に要因の候補に関する知識を上手に整理して仮説を立てておくと、適切な特徴量からモデルを構築できて分析の成功確率が高まります。そして、QCサークル活動など、産業界で品質管理活動に携わる人達が利用してきたドメイン知識整理の手法はデータサイエンティストにとっても非常に有効です。要因分析を対象に、従来型の統計解析と機械学習を適宜使い分けながらより再現性の高い分析結果を得るための方法を考察します。また、データのレコード数が少ない「スモールデータ」や、特徴量の数がレコード数より大きい「横長データ」からでもロバストな要因分析を行うための機械学習応用アプローチを考察・提案します。You’ve just successfully subscribedWe will contact you shortlyWe’re almost there! 2017-01-07. accuracyはそのまま「正確性」100%に近いほど正解に近い。 (train)というのは、学習時の値。(val)はvalidation時の値。 データは学習にのみ使われるものと、validation、つまりテストにのみ使われるものに別けられます。loss(train)が下がっているのに、(accuracy)の値が改善しない場合は過学習に陥っている可能性があります。