1. 概要

このチュートリアルでは、教師あり学習の2つの重要な概念定義について説明します。 具体的には、データセット内の機能とラベルとは何か、およびそれらを区別する方法を学習します。

また、教師あり学習タスクのラベルの概念を研究し、それらが私たちの研究目的および現象に関する事前知識とどのように関係しているかを確認します。

このチュートリアルの終わりに、ラベルを機能であるかのように使用するというよくある間違いを回避することがわかります。 また、特定のラベルセットを使用すると、機械学習モデルに含まれる偏見にも気付くでしょう。

2. 特徴

機械学習のルーツは、統計分析にあります。 結果として、統計で対応するものを見ることで、機械学習の概念を理解するのは非常に簡単です。

たとえば、統計では、「母集団」は統計家が研究する集合であると彼らは言います。 代わりに、機械学習では、通常、同じフルセットを「データセット」と呼びます。 同様に、統計では、母集団の各個人を「ユニット」と呼びますが、機械学習では、それを「観察」と呼びます。

同じことが機能にも当てはまります。 統計では、特定の統計単位に関連付けられた特性を示す「変数」について話します。 機械学習では、これらの特性を「機能」と呼びます。

2つの分野の用語は非常に似ており、どちらか一方の用語を同じ意味で使用できることがよくあります。

したがって、の特徴は観測の特徴であると言えます。 概念の意味を直感的に理解するために、観察の特徴を確認しようとするいくつかの異なるシナリオを見てみましょう。

2.1. 測定としての機能

機能を概念化する簡単な方法の1つは、それらがいくつかのセンサーの測定の結果であると想像することです。 15分ごとに空気の温度を記録する温度計があると想像してみましょう。 それを記録した後、それを一枚の紙に書き留めます:

温度計は、結果が観測値の表を構成する測定を実行します。各測定に関連付けられた値は、統計分析における機械学習の用語または特性を備えた機能「温度」に対応します。

別の例を見てみましょう。 警察のレーダーは、車が通りを進む速度を測定します。

結果はコンピューター内のファイルであり、各行には車両のナンバープレートとレーダーで測定されたその車両の速度が含まれています。

このコンテキストでは、ナンバープレートはデータセットのIDまたは index を構成し、速度は機能を構成します。 ただし、特定の道路を使用している車を知りたい場合は、インデックスだけでなく、ナンバープレートを機能として使用できます。

最後の例を見てみましょう。 私たちの電子メールサービスのスパムフィルターは、アドレス間で送信されるスパムメッセージを監視しています。

電子メールサーバーは、各電子メールとそれに関連するテキストのインデックスを含む大きなテーブルを格納します。 この場合、電子メールをサンプルまたは独立した統計単位として扱うことができます。 代わりに、それらに含まれるテキストをデータセットの機能を含むものとして扱うことができます(ただし、テキストを機能として学ぶには、以下を参照してください)。

私たちが見た例は、観察または測定の結果を反映するために「機能」という用語を使用していることを示しています。 測定を構成するものに関して特定の制限はありません。 結果として、新しいタスクに取り組むとき、私たちは通常、それに関連する測定を実行できるようにタスクを定義するためにある程度の時間を費やす必要があります。

2.2. タスクの種類と機能の識別

上記の2番目の例について説明するときに、いくつかの測定値を指標または特徴として扱うことができることを簡単に説明しました。 この点に戻って、さらに詳しく見ていきましょう。

警察のレーダーと車の速度の例について話していたとき、私たちは代わりにナンバープレートを観測の指標または特徴として使用するかもしれないと述べました。 与えられた具体的な状況で、一方を実行し、他方を実行しない理由は何ですか?

その決定の背後にある理論的根拠は、それが最終的に私たちの目的に依存するということです。 背景知識とその問題の特性に関する期待なしに問題に取り組む人はいないので、私たちの期待が私たちの測定を形作っていると言えます。 これらの期待は、次に、収集されたデータの一部を「特徴」として識別し、一部をインデックスまたはノイズとして識別することにつながります。

科学では、測定は決して素朴ではないと言われていますが、常に「理論を積んだ」です。 機械学習コミュニティには、測定を実施し、測定結果を期待せずに事前に機能を選択することが可能であるという信念があります。 ただし、これは議論であり、機能の選択が常に偏見を意味するという認識を私たちに盲目にする可能性があります。

この議論は、測定を実行するときに必要な機能を自由に選択できるという考えを支持しています。 どのデータが機能を構成し、何が機能を構成しないかの選択は、最終的には私たちの手に委ねられます。

2.3. 機能のクラス

ただし、自分自身を方向付けるために従うことができる機能の選択に関して、いくつかの一般的なヒューリスティックがあります。 これらの1つには、特定のタスクに適した機能のクラスの識別が含まれます。 実際、後で説明するように、すべてのクラスの機能をすべてのタスクに使用できるわけではありません。

機能にはさまざまなタイプまたはクラスがあり、プラットフォームまたは言語によってわずかに異なります。 一般的なプログラミング言語の最も一般的なタイプのデータは、すべて機能の有効なクラスです。 これらは:

それらをもっと詳しく見てみましょう。

2.4. 実数の近似

機械学習データセットの最も一般的な機能は、整数、浮動小数点数、倍精度浮動小数点数、または実数を近似するその他のプリミティブデータタイプで構成されます。 これらは、特定の機器で実行した定量的測定の結果です。

数値データ型は、機械学習で最も頻繁に使用される機能です。 結果として、ほとんどの機械学習手法をそれらに適用できます。

これらの手法の1つは、たとえば線形回帰です。 数値機能を使用してターゲット変数の値を予測することにより、線形回帰を実行できます。

後でラベルについて説明するときに、ターゲット変数が正確に何であるかを確認します。 数値データ型で機能する他の手法には、K-Meansなどの教師なし学習手法が含まれます。

数値機能は、最も直感的に使用できる機能です。 測定値が数値を生成し、その測定値について他に何も指定する必要がない場合、その特徴は数値の特徴です。

2.5. 機能としてのテキスト?

機械学習タスクのもう1つの典型的な機能は、テキスト、つまり文字列オブジェクトです。 文字列は、機械学習の自然言語処理のサブセクターで使用される主要な機能です。

テキストを機械学習アプリケーションの機能として扱う方法は、数値機能の場合ほど直接的ではありません。 実際、テキストを特徴として直接扱うことはできません。同時に、テキストコーパスから有用なものを抽出することもできます。 これには2つの主な理由があります。

最初は組み合わせ論と関係があります。 文字列内の各文字を、アルファベットの26文字のうちの1つの値をとることができる確率変数として扱うことを試みることができます。 そうすると、長さの各文字列が可能な値の1つを想定する可能性があり、検索スペースがすぐに管理できなくなります。

そして、この引数は空白や他の文字を考慮していません。 2番目の理由は、テキストの情報内容に関連しており、想像するほど高くはありません。 この点に関して、このテキストのコーパスを考えてみましょう。

テキストがペンとテーブルについて話していることがわかっていると仮定すると、それらの単語のほとんどに有用な情報が含まれていないことがわかります。 実際、同じコーパスをより簡略化された形式で記述することができます。

これは、より一般的なルールの特定のケースです。テキストは機能として直接使用されるのではなく、何らかの前処理が行われた後にのみ使用されます。 これらの前処理ステップには、通常、ステミングと字句解析に加えて、トークン化とベクトル化が含まれます。 前処理されたテキストはデータマイニングの機能になりますが、元の形式のテキストは機能ではありません。

2.6. カテゴリ機能

もう少し難しい概念は、カテゴリ値または機能の概念です。 カテゴリの背後にある考え方は、世界を区分化し、相互に排他的なクラスに分割できるということです。 このアイデアが複数のコンテキストにどのように適用されるかを確認することで、このアイデアをよりよく理解できます。

最初の例では、特定の収穫でリンゴの色をサンプリングするとします。

緑のリンゴも赤ではなく、その逆も同様であり、同じことがすべての色の組み合わせに当てはまると安全に推測できます。 結果として、「リンゴの色」という特徴はカテゴリー的な特徴であると言えます。 それらには特定の優先順位がないため、これらのカテゴリは順序付けされていないと想定することもできます

2番目の例では、母集団の教育レベルを測定していると想像してみましょう。

最高レベルの学位が高校の卒業証書である人は大学の学位を持っていないと安全に推測できます。 しかし、大学の学位を持っている人は卒業証書も持っているので、反対は真実ではありません。

この意味で、学位の分配に秩序を設けることができます。 大学の学位は学生の人生の卒業証書に従うので、教育の学位は順序付けられたカテゴリとしてカウントされると言えます

カテゴリ機能は機械学習パイプラインに直接入力できず、変換プロセスが必要です。 これについては、ラベルのセクションで詳しく説明します。

3. ラベル

機械学習の紹介テキストでは、データセットの特徴をモデルへの入力と見なし、同じデータセットのラベルをモデルの出力と見なすのが一般的です。 ただし、このアプローチには、一般化の能力を制限する2つの重要な問題があります。

  • ラベルは通常、機械学習モデルを構築する前、または識別する前に割り当てられます
  • ラベルは、一部のモデルへの入力として使用できます。特に、それらの独立性に疑問を投げかけ、検証したい場合に使用できます。

代わりに、ラベル付きデータに関する記事で、特定の現象に関する事前知識と観測に関連するラベルの間に存在する関係について説明しました。 このセクションはそれに基づいており、特定のモデルに限定されないラベルと機能の違いを提案します。

3.1. ターゲットとしてのラベル

次に、機能と比較して、機械学習でラベルを学習できます。 ラベルは、ある意味で、データセット内の機能であり、任意に高い重要度を割り当てます。 株式の価格の変動と、それらがすべて属するポートフォリオの価格の変動を調査していると想像してみてください。

このタスクを見る1つの方法は、ポートフォリオの価格がそれに含まれる株式の価格に依存することを想像することです。 これが私たちの理論上の期待値である場合、次の形式の関数を調べることができます。

次に、教師あり学習を通じてこの関数のモデル化を試みることができます。 このコンテキストでは、株式の価格を機能として扱い、ポートフォリオの価格をラベルとして扱います。

同様に正当なアプローチは、ポートフォリオの価格がそれに含まれる株式の価格に影響を与えることを想像することです。 このプロセスは、前の逆関数である関数を使用してモデル化できます。 このコンテキストでは、ポートフォリオの価格が唯一の機能であり、株式の価格はモデルの5つのラベルになります。

3.2. ベイジアンアプリオリスとしてのラベル

この引数は、変数をラベルとして扱うという決定がデータセットに含まれていないことを示しています。 代わりに、それは私たちが与えられた現象について持っているベイズアプリオリ知識に含まれています。 特定の変数が別の変数に影響を与えると想像すると、2番目を最初ののラベルとして扱うことができます。

自動運転車の物体認識の問題に取り組んでおり、これらのラベル付き画像で自動運転車をトレーニングしていると想像してみてください。

この方法でシステムを構築する場合、ラベルの検索スペースはであり、画像認識の問題はこのスペース内で解決可能であると暗黙的に想定しています。 したがって、新しい画像にはアプリオリ確率1を割り当てています。

そして、これは良いことです。検索スペースが有限でない限り、オブジェクト検出の問題は解決できません。 ただし、この結果、システムはこの画像内のすべてのオブジェクトを検出できなくなります。

この意味で、ラベルは、世界の複雑さを限られた検索スペースに圧縮する方法であり、その上で機械学習を実行できます。

4. 結論

このチュートリアルでは、機械学習のデータセットに通常表示される機能のクラスを確認しました。 また、ラベルとの類似性も確認しました。 そうすることで、私たちの判断が2つのを区別する究極のものである方法を表現しました。

また、ラベル付けデータが、世界の運営方法に対する偏見をどのように示唆しているかを見てきました。 次に、この偏見を機械学習モデルのベイジアンアプリオリとして扱うことができます。 そうすることで、与えられた現象に関する事前の知識によって、制限されるのではなく、利益を得ることができます。