機械学習は、データ内のパターンを使用して物事にラベルを付ける魔法のテクノロジーであるとよく説明されます。難しそうに聞こえますが、実際には概念の層を剥がしていくと、機械学習の核心は驚くほど単純です。 この記事では、ワインが美味しいかどうかを例に挙げて、機械学習の技術的プロセス全体を素早く理解できるようにします。
データ 50 種類のワインを試飲したと想像してください。プレゼンテーションを簡単にするために、以下にデータの視覚化を作成しました。各ワインのデータには、年、スコア、学習したい特性(良いワインの場合は Y、悪いワインの場合は N)が含まれます。 上の画像の左側はテーブルモードで、画像を使ってよりわかりやすく情報を表示します。特徴やインスタンスなどのデータセット用語を使用してこのデータを説明する場合は、次のガイドを参照してください。 アルゴリズム 使用する機械学習アルゴリズムを選択することで、必要な出力を得ることができます。この問題では、アルゴリズムの全体的な仕事は、上の画像内の赤いものを青いものから分離することです。 機械学習アルゴリズムの目的は、データ内で最も適切な場所を選択して境界を設定することです。 線を引くことができたら、おめでとうございます。パーセプトロンと呼ばれる機械学習アルゴリズムを発明したことになります。はい、このような SF 的な名前は、実は非常に単純な概念を表しています。詳しく学んでいくと、機械学習の用語に圧倒されるのが一般的ですが、その意味合いは通常、名前の複雑さに見合うものではないことがわかります。 あなたなら、青と赤をどのように区別しますか? 直線だけで十分だと言う人もいるかもしれません。しかし、私たちの目標は、装飾的な地平線ではなく、Y と N を分離することです。 機械学習アルゴリズムの目的は、要塞の位置によって決まる境界を設定するための最も合理的な場所を選択することです。しかし、これはどのように行われるのでしょうか? 一般的に言えば、目的関数を最適化することによって行われます。 最適化 ブログ投稿を最適化する計画がある場合、次のように考えることができます。目的関数はボードゲームのスコアリングルールのようなもので、最適化とはゲームをうまくプレイして最高スコアを獲得する方法を見つけることです。
目的関数(損失関数)は、ボードゲームのスコアリングシステムのようなものです。 機械学習の伝統では、私たちはアメよりもムチを好みます。ポイントは間違い(境界線の間違った側にラベルを付ける)に対するペナルティであり、ゲームでは間違ったポイントをできるだけ少なくすることが目的です。このため、ML の目的関数は「損失関数」と呼ばれることが多く、つまり、損失を最小限に抑えることが目標となります。 ここで元の問題に戻り、指を画面に対して水平に持ち、スコアが 0 になるまで (つまり、力強く怒った指によって描かれた線から点が逃れられないまで) 直線を描き続けます。 うまくいけば、次のような解決策が見つかります: おそらくあなたは、上記の 3 つの解決策のうち、一番右の解決策が最善であると気付くほど賢明でしょう。 多様性が好きなら、アルゴリズムも好きになるでしょう。なぜなら、それらの数は非常に多く、それらの違いは、異なる場所で境界をどのように分離しようとするかにある傾向があるからです。 最適化問題では、境界を小さな増分で回転することは明らかに良い考えではありません。最適な位置に早く到達するためのより良い方法があります。 研究者の中には、データ領域が(入力によって決定される)どれほど異常であっても、最小限の変換で最適な境界位置を取得する方法を見つけることに生涯を捧げてきた人もいます。 もう一つの変化の要因は、境界線の形状です。境界線は必ずしも直線ではないことが判明しました。異なるアルゴリズムでは異なる境界が使用されます。 これらのさまざまな名前を選択するときは、ラベル間に描画される境界線の形状を選択するだけです。つまり、ラベルを斜めの線で区切るか、複数の水平線と垂直線で区切るか、柔軟な波線で区切るかを選択するだけです。 トレンドセッターアルゴリズム 今日では、データ サイエンティストはもはや、単純な直線を使用しません。柔軟な形状は、今日ではほとんどの人に人気があります (たとえば、ニューラル ネットワークはご存知でしょう。ニューロンは多くありませんが、半世紀以上前に命名されたものであり、これを「ヨガ ネットワーク」または「多層数学」に改名するという私の提案を誰も気に入らないようです)。 魔法のようなアルゴリズムを期待していたなら、失望が早ければ早いほど、目覚めるのも早くなります。SF や迷信の興奮が薄れれば、本当にクールなことをする自信が持てるでしょう。機械学習自体は平凡なものかもしれませんが、それを使ってできることは驚くべきものになる可能性があります。機械学習によって、これまで考えたこともなかったコードを記述したり、言葉では言い表せないプロセスを自動化したりすることができます。機械学習のシンプルさにうんざりしないでください。その手段もシンプルですが、世界全体を詮索することができます。 他の線形アルゴリズムとインテリジェント ニューラル ネットワークとのこのマーケティング スタイルの比較に加えて、さらに注目に値するのは、これらのアルゴリズムの柔軟なスケーラビリティです。他のアルゴリズムはデータの拡張をそれほどスマートに処理できませんが、ただで得られるものはないし、ニューラル ネットワークの使用は高価です (詳細は後述)。そのため、ニューラル ネットワークが常に完璧なソリューションであると主張する人々を信じないでください。 ニューラルネットワークはヨガネットワークとも呼ばれる これらの派手なアルゴリズム名は、データセットに配置される分割線の形状を単に示しています。機械学習を実際のアプリケーションに応用することに熱心な学習者であれば、これらの用語を覚えていなくても問題ありません。実際には、データをできるだけ多くのアルゴリズムに投入して試し、最も有望と思われるものを繰り返しトレーニングするだけです。チョコレートプリンの素晴らしさは食べてみるのがいちばんなので、ぜひ楽しんでください。
教材を注意深く勉強したとしても、最初から正しいアルゴリズムを偶然に得ることはできません。心配しないでください。これは標準的な回答だけのコンテストではありません。遊び心がありながらも、打ち続けて考えてしまいます。機械学習の真価は、学習の過程にあります。つまり、アルゴリズムが新しいデータで機能するかどうかです。アルゴリズムがどのように機能するかを心配する必要はありません。新しいアルゴリズムを設計する研究者に任せてください (そして、つまらないメロドラマの登場人物を暗記するのと同じように、あなたもやがて用語に慣れ、時間の経過とともに紛らわしい用語をすべて覚えることになります)。 モデル 境界線が確立されると、アルゴリズムは終了します。そして、アルゴリズムから得られるのは、あなたが常に望んでいたもの、つまりモデルです。モデルとは、コンピューターのレシピ、つまりコンピューターがデータを意思決定に変換するために使用する指示の、おしゃれな名前にすぎません。新しいワインのボトルを再度表示すると、データが青色の領域に該当する場合は、blue という名前が付けられます。赤いエリアに落ちますか? それなら、それを赤と名付けましょう。 ラベル 新しく作成したモデルを使用すると、ワインの年齢と評価スコアをコンピューターに入力した後、システムはこの赤ワインのボトルのデータに対応する領域を見つけてラベルを出力します。 新しいワインボトルが 4 本ある場合は、入力データをメニューの赤と青の領域と照合し、ラベルを挿入するだけで、とても簡単です。 では、このアルゴリズムが実行可能かどうかはどうすればわかるのでしょうか? キーボードをタイプしている猿のグループがシェイクスピアの詩を書いているかどうかを確認するのと同じように、出力をチェックすることで判断できます。 プリンの味は食べてみればわかる 大量の新しいデータを使用してシステムをテストし、そのデータでシステムが正常に動作することを確認します。実際、アルゴリズムに直面している場合でも、コンピューターのレシピを持ってきたプログラマーに直面している場合でも、大量のデータを使用してテストする必要があります。 これは私の別の記事からの非常に鮮明な要約です。 詩人のための機械学習 この説明がわかりにくい場合は、次の例えの方が受け入れやすいかもしれません。詩人は紙の上で言葉を整理する方法(アルゴリズム)を選択し、この方法が詩の最終的な形(境界の形)を決定します。 たとえば、その詩が日本の俳句なのかソネットなのかを判断することです。ソネットの骨組みに言葉が最適に書き込まれると、それは詩(モデル)になります。なぜ詩がコンピューターのレシピになったのかについては、勘弁してください。私には全く分かりませんが、他の提案があればぜひ聞いてみたいです。いずれにせよ、この類推の残りの部分は意味をなしています。 機械学習モデルと従来のプログラミングコード 機械学習のこのレシピは、プログラマーが問題を見て手動で入力するコードとあまり変わらないことを指摘することが重要です。機械学習の擬人化についての幻想は忘れてください。機械学習モデルと通常のコードの間には概念的な違いはありません。はい、主観的な意見とカフェインで頭がいっぱいのプログラマーが書いたレシピコードです。 「再トレーニング」について大声で叫ばないでください。この用語は、新しいデータ サンプルを追加した後、モデルの境界を調整するためにアルゴリズムを再度実行することを意味します。しかし、この用語は、機械学習が標準的なプログラマ製品とは本質的に異なる生き物のように聞こえます。実際、プログラマは新しい情報に基づいて手動でコードを調整することもできます。機械学習システムで更新の反復を高速化できると思われる場合は、システムのテストに時間を費やしてください。そうでない場合は、スリープ プログラムを実行して十分に休息を取ることをお勧めします。 機械学習とはそれだけですか? 以上です。機械学習の核となる部分は、さまざまなパッケージをインストールし、乱雑で扱いにくいデータモンスターを整理して、データセットで細かいアルゴリズムを実行できるようにすることです。 その後は、コード設定を微調整する終わりのないプロセスが続きます (「ハイパーパラメータ調整」という大げさな名前に怖気付かないでください)。ついには「よし、モデルが完成」と喜びます。しかし、モデルが新しいデータセットでうまく機能しなくなったら、雲が晴れてソリューションが最終的に提示できる状態になるまで、設計図に戻って何度もデバッグする必要があります。だからこそ、失敗を許容できる人材を雇う必要があるのです。 魔法のようなアルゴリズムを期待していたなら、失望するのは早ければ早いほど、目覚めるのも早くなります。こうした SF の迷信的な興奮が消え去れば、私たちは本当にクールなことをするという新しい信念を持つようになるでしょう。機械学習自体は目立たないかもしれませんが、それを使ってできることは驚くべきものです。機械学習によって、想像もできなかったプログラム コードを記述したり、言葉では言い表せないプロセスを自動化したりすることができます。機械学習のシンプルさを侮ってはいけません。その手段もシンプルですが、世界全体を詮索することができます。 関連レポート: https://hackernoon.com/machine-learning-is-the-emperor-wearing-clothes-59933d12a3cc [この記事は51CTOコラムBig Data Digest、WeChatパブリックアカウント「Big Data Digest(id: BigDataDigest)」からのオリジナル記事です] この著者の他の記事を読むにはここをクリックしてください |
<<: データサイエンス プロジェクトに Scikit-learn Python ライブラリを使用する方法
これで、大規模言語モデル (LLM) が Jupyter に接続されました。これは主に、Projec...
この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...
現時点では、多くの企業が、数か月前に考えていたよりも見通しが不透明であると感じているのではないかと思...
この記事はLeiphone.comから転載したものです。転載する場合は、Leiphone.com公式...
近年、高所から物が投げられたり落下したりして負傷する事故が多発しています。水のボトル、スイカの皮、缶...
事情に詳しい関係者によると、10月28日、Googleはこれまでの投資に加え、OpenAIの競合企業...
概要コンピュータサイエンスと数学において、ソートアルゴリズムとは、一連のデータを特定の順序で並べるア...
動物を愛し、動物保護に尽力する世界中の人々にとって、今日は特別な日、「世界動物の日」です。毎年10月...
[[412771]]それは正しい!またフェイフェイ・リーだよ!フェイフェイ・リーについて最後に報道...
安定拡散 3 論文がついに登場しました!このモデルは2週間前にリリースされ、Soraと同じDiT(D...