Machine learning is the current buzz-phrase meant to encompass the computer algorithms used to make decisions, predictions, or classifications based on data.
私が参加したときJMP 2014 年、私は農業実験と混合モデリングにおいて優れた長い歴史を持つ学校で統計学の博士号を取得し、卒業したばかりです。 これが私が慣れ親しんだ世界だった。賢明な計画を通じて受け取った情報を最大化するように設計された小規模な実験、ほとんどの場合、分析に混合モデル手法を必要とする何らかの実験設計機能 (最も単純なのは分割プロット計画)、そして次の目標を決定するどのような治療法が最良の結果をもたらすのか。 これは、私が一緒に仕事をした科学者が動物科学、昆虫学、食品科学、教育のいずれの分野に属していても当てはまりました。
JMP に到着してすぐに、ビッグデータに関する話題が広がりました。そのピーク。 その数年後、機械学習が台頭しました。 機械学習の台頭がビッグデータの台頭の後を追うのは驚くべきことではありません。 人々は収集したすべてのデータをどうすればよいのでしょうか? もちろん、Machine Learning ツールボックスのツールを使用して分析します。
私の正式な教育では、これらのことのどちらにも特に取り組むことができませんでしたが、統計学者の開発者としてキャリアを始めたとき、これらのトピックは私が迅速かつ迅速に理解する必要があるものでした。 そこで私は、最近の学生が新しいトピックに最初の一歩を踏み出すときに行うことを行いました。ウィキペディア。
「機械学習です学際的な統計的手法を使用して情報を提供する分野コンピュータシステム~から「学習」する能力(例:特定のタスクのパフォーマンスを徐々に向上させる)データ明示的にプログラムされていなくても。」
これはちょっと驚きでした。 コンピューターシステムは、明示的にプログラムされずに、どのようにして何かを「学習」することができるのでしょうか? 私たちは達成していないスカイネット、まだ、私は気づいています! 掘り続ける時間です。 ブリタニカ百科事典と言いました。機械学習、人工知能 (コンピューター サイエンス内の主題) において、自律的に学習できるコンピューター ソフトウェアの実装に関する分野。」
さて、定義における統計とのつながりは失われていますが、少なくとも、自律的に学習できるソフトウェアの実装に私たちが興味を持っていることはより明らかです。 「明示的にプログラムされずに」とは、データがアルゴリズムに渡されると、私たちからのさらなる指示なしにアルゴリズムが残りの作業を実行するという事実を指します。
これらの定義とこのフレーズの一般的な使用法に対する私の認識に基づいて、私は機械学習とは、データに基づいて意思決定、予測、分類を行うために使用されるコンピューター アルゴリズムを含むことを意味する現在の流行語であると考えるようになりました。
教師あり学習と教師なし学習
そうですJMP機械学習をしますか? 絶対! 技術的には、最初のバージョンからそのままです。 1989 年当時、私たちはそれほど時代を先取りしていましたか? そう思いたいです。 しかし、機械学習というと人々が思い浮かべるアルゴリズムについてさらに詳しく見てみましょう。
通常、機械学習アルゴリズムは、教師あり学習と教師なし学習というさまざまなタイプに分類されます。 教師あり学習では、アルゴリズムは予測子 (X 列) と応答 (Y 列) の両方を処理します。 使用されるトレーニング データは、予測変数の指定された値に対する応答がどうあるべきかをアルゴリズムに伝えることでアルゴリズムを「監視」します。 教師なし学習では、予測子のみがアルゴリズムによって使用され、パターンは予測子のみによって決定されます。 「真実」は提供されていません。実際、私たちは「真実」を知らないかもしれません。
JMP のどの機械学習アルゴリズムがどのカテゴリに分類されますか?
監督あり
|
監督されない
|
ディシジョン ツリー *
|
クラスタリング
|
ニューラルネットワーク *
|
自己組織化マップ
|
ブートストラップフォレスト *
|
アソシエーション分析
|
回帰
|
特異値分解
|
K 最近傍 *
|
|
ナイーブベイズ *
|
|
*これらのプラットフォームのいくつかの機能は次のとおりです。 JMPプロそれだけ。
多くの人は回帰がリストにあるのを見て驚きます。これは確かに一般に機械学習として考えられているものの中にはありませんが、教師あり学習の最も単純な形式です。 そして、Fit Y by X は JMP 1 にありました。 クラスタリングは JMP 3 で追加され、その後も機械学習オプションが追加され続けました。
これらのアルゴリズムの 1 つまたは複数に精通している方は、それらのアルゴリズムの類似性に気づくかもしれません。 多くのモデルは驚くべき予測精度を生み出しますが、係数やカットオフが何を意味するのかを説明しようとすると、おそらく難しいでしょう。 決定木をそのカット ポイントをたどって予測に到達することはできますが、それらのカット ポイントがどこにあるかについては、本質的な意味はありません。 ニューラル ネット モデルのパラメーター推定が「現実世界」で何を意味するのかはわかりませんが、ニューラル ネットは、世の中で最も予測性能の高い機械学習モデルの 1 つです。
対照的に、回帰モデルは、ユーザーにとって固有の意味を持つパラメータ推定値を提供します。 係数が正の場合、その予測子の値を 1 単位増やすと、その係数値だけ応答が増加することがわかります。 これは、ガリット・シュムエリ博士が言っていることにつながります。 「説明するのか、それとも予測するのか?」このトレードオフにおける最良の妥協点の 1 つは、Fit Model プラットフォームの一般化回帰特性にあります。 私の同僚の Clay Barker が議論したように、Lasso または Elastic Net を使用すると予測パフォーマンスが向上しますが、モデルはまだ説明できません。
しかし、解釈可能性の欠如は問題なのでしょうか? 多分そうでないかもしれません。 ユースケースが将来のイベントの最も正確な予測を達成することに厳密に焦点を当てている場合、解釈可能なモデルは必要ありません。 一方、利害関係者が「スコアを向上させる」ためのより具体的な方法を望んでいる場合は、説明可能なモデルが好まれるかもしれません。 どのモデルでも重要なのは、出力を実行に移せるかどうかです。
まだまだ人間は必要だ
これが私の最後のポイントになります。 コンピューター アルゴリズムは驚くべき機能をすべて備えていますが、より高度な問題に対処するには人間のアナリストが依然として必要です。
- どのデータを分析に含めるか、分析から除外する必要がありますか? 一部のアルゴリズムには重要な変数を選択する機能がありますが、変数が最初からコンピューターに与えられていない場合、たとえ予測性が高くてもその変数は選択されません。
- 収益逓減のポイントはどこにあるのでしょうか? モデルが複雑すぎて必要な時間内に実行できない場合、それは役に立ちません。 おそらく、それほど複雑ではないモデルでも、ほぼ同等の良好な結果が得られ、迅速に実行できます。 このよく知られた例は、Netflix 賞の受賞者です。 優勝したモデルは、ほぼ誰もが予想していたよりも優れたパフォーマンスを示しましたが、必要なデータ量と処理により、Netflix がユーザーに次に見るべきものを提案するために必要なリアルタイム環境での実行が不可能でした。
- モデルに固有のバイアスはありますか? 明らかに、コンピューター アルゴリズムには人間のようなバイアスはありませんが、アルゴリズムによって、バイアスのある特性と高い相関関係を持つモデルが生成される可能性があります。 住宅ローンには、融資の決定に使用することが違法な特性があります。 ただし、違法なものと密接に関連する可能性のある法的要素がいくつかあります。 アルゴリズムは、民族性が直接データの一部でなくても、特定の民族性をほぼ完全に拒否するモデルを生成する場合があります。 このモデルは法的な影響をもたらす可能性があります。
- モデルはいつ更新する必要がありますか? モデリングのポイントは、アクションを実行できる何らかの出力を生成することであるため、アクションが実行されると、モデルを更新する必要があります。 実装された変更はモデルへの将来の入力に影響を与えるため、この更新が必要です。 古いモデルを使用し続けると、元のデータの範囲を超えて推定される危険があります。 モデルをどの時点で更新する必要があるかは、人間だけが答えることができる質問です。
の私の次の投稿, 私のお気に入りの 2 つの機械学習アルゴリズム、K 最近傍アルゴリズムとナイーブ ベイズについて説明します。 そして、私自身が収集したいくつかの興味深いデータを基に、これら 2 つの方法を実際に見ていきます。