
7,029 文字

AIの愛好家の皆さん、こんにちは。今日はちょっと真面目な話をさせていただきます。実は違いますけど。
みなさんは、AIのプログラムがどうやって猫と靴を見分けてるんか考えたことありますやろか。面白いことに、私も実はよう分からんかったんです。パソコンがスニーカーを探してた時に、猫のトイレの広告を勧めてきはったときまでは。
分類と回帰が精神分析の概念やと思てはる方、完全に見当違いですわ。どうか最後まで聞いてください。ジャック・ラカンの講義よりずっと楽しいもんにしますんで。
AIロボットが電気羊の夢を見てへんことを知った時のように、この動画に驚いてはる方は、ええ感じにイイネボタンを押していただいて、まだの方は登録もお願いします。コメントもぜひ残してくださいな。
さあ、ほな、みなさん楽な姿勢で、お好みの飲み物でも用意して。まあ、ちょっとだけ真面目な話をさせてもらいますけど、機械学習の魅力的な世界への旅に出発しましょか。
私たちを取り巻く物事を認識し、分類し、整理することは、知性の核心部分なんです。世界を理解するためには、周りの物を分類して、共通の特徴を見つけ出すことが大切です。
物が特定のカテゴリーに属するかどうかという問題は、古代からアリストテレスのような哲学者によって探究されてきました。アリストテレスによると、全てのものには本質または形相(エイドス)があって、それがそのものの正体を定義するんです。
アリストテレスにとって、馬の本質とは、色や大きさといった偶然的な特徴とは関係なく、馬を馬たらしめるものです。分類は、これらの本質を発見することに基づいており、クラスの全てのメンバーに共通する根本的なものを見出すことです。全ての馬に共通する本質が、「馬」というクラスの輪郭を描くことを可能にするわけです。
しかし、本質という概念には問題もあります。哲学者のルートヴィヒ・ヴィトゲンシュタインは、「家族的類似性」という概念を導入して、アリストテレスのアプローチを批判しました。ヴィトゲンシュタインは、同じカテゴリーの物を、固定的な本質を共有するものとしてではなく、重なり合う一連の類似性によって結びついているものとして見るよう私たちに促します。
例えば、ヴィトゲンシュタインにとって「馬とは何か」を問うことは、単一の本質を発見することではなく、馬を識別することを可能にする共有された特徴の多様性を認識することを意味します。これらの特徴は重要ではありますが、厳密な本質を形成するわけではなく、家族のメンバーが完全に同一ではないのに特定の特徴を共有しているように、類似性の星座を形成するんです。
これら二つの仮説をどう区別すればええんでしょう?科学的なアプローチでは、どちらのアプローチがより信頼できるか、どう判断すればええんでしょうか?
技術的な側面を超えて、人工知能と機械学習は、多くの哲学的な問題を実証的に探究し、テストすることを可能にします。これは、前回のエピソードで既に触れた分類の概念を通じて探究できる、カテゴリーの問題の場合も同様です。今回はより深く掘り下げていきましょう。
人工知能において、ヴィトゲンシュタインの家族的類似性の考え方は特に適切です。クラスを単一の共通特徴ではなく、重なり合う類似性の集合として定義するという考え方は、分散表現という概念に反映されています。実は、分散表現については「5分で1論文」シリーズで動画を作ってます。リンクは説明欄に貼っておきますんで、よかったら見てください。
ヴィトゲンシュタインの考え方は、1965年にロトフィ・ザデーによって開発されたファジー集合の数学理論にも反映されています。古典的な集合論では、物は特定のカテゴリーに属するか属さないかのどちらかですが、ファジー集合論では、各要素に0から1の間の帰属度を割り当てることができます。この方法は、カテゴリーが厳密な境界線よりも微妙なものでありうることを反映して、不確実性や不精確性をモデル化するんです。
具体的なシナリオを考えてみましょう。あなたが植物学の熱心な研究者で、花を種によって自動的に分類できるツールを開発したいとします。がく片の幅と長さ、花弁の幅と長さといった複数の測定値があります。目標は、これらの特徴から花の種を予測できるモデルを構築することです。
これは、機械学習の古典的な例であるアヤメのデータセットが実際にやっていることです。このデータセットには、セトサ・アヤメ、バーシコロル・アヤメ、バージニカ・アヤメという3種類の花に関する情報が含まれており、それぞれが先ほど述べた4つの特徴によって記述されています。
さて、これらの花のデータを収集して、2つの特定の特徴に基づいて、どのように分布しているかを視覚化したいとします。例えば、がく片の長さと幅を取り上げて、アヤメのデータセットから2種類の花を表すポイントの分布を観察してみましょう。
データの分布の例がこちらです。このグラフの各点は1輪の花を表し、その座標はがく片の長さと幅の測定値に対応します。点の色は花の種を示しています。お気付きのように、3種はそれぞれ異なるクラスターを形成する傾向がありますが、多少の重なりもあります。
このような視覚化は、データがどのように振る舞うかを理解し、分類に最適な方法を決定する上で重要です。セトサ・アヤメとバージニカ・アヤメの2種に注目してみましょう。私たちの分類モデルの目標は、これら2つのグループをできるだけ正確に分離できる境界または規則を見つけることです。
この境界を決定境界と呼びます。使用するアルゴリズムによって、さまざまな形を取ることができます。まず、2つのグループを分ける単純な直線を考えることができます。この線は、ロジスティック回帰やある種のサポートベクターマシン(SVM)といったアルゴリズムでよく使用されます。データが線形分離可能な場合です。
しかし、データは必ずしも直線で完璧に分離できるとは限りません。時には、データの分布により適応するために曲線が必要になります。この方法は、多項式回帰や特定のタイプのニューラルネットワークなど、より柔軟なモデルで使用されます。
他の場合、特にデータが非常に複雑な場合、平面を複数の異なる領域に分割する一連の分離を考えることができます。例えば、決定木のようなモデルファミリーは、空間を順次分割して、各グループを他から分離した一連の領域を作成します。ここで見られるように、平面が異なるセグメントに分割されているわけです。
これらの異なるタイプの境界は、データを分類する方法が1つだけではないことをよく示しています。しかし、これは重要な疑問を投げかけます。最適な分離をどのように見つけ、何が良い分離を定義するのでしょうか?
良い分離とは、データセット内の最大数の例を正しく分類できるものです。境界の質を評価するために、成功率や逆に誤差率といった指標を使用して性能を測定できます。誤差率は、モデルによって誤って分類される例の割合を表します。
良い境界は、これらの誤りを最小限に抑えるものです。例えば、分離線が多くのポイントを誤分類している場合、それは高い誤差率を意味し、私たちのモデルはあまり良くないと考えられます。機械学習における学習とは、まさにこの誤差率を可能な限り低くする境界を見つけることです。
これは、トレーニングデータでの効率を最大化するようにモデルのパラメータを調整することで行われます。モデルがトレーニングされるにつれて、提供された例に基づいてクラスをより良く分離するために、決定境界を改良していきます。
ここで見られるように、決定境界は学習中に移動し変形して、誤差を最小化し精度を向上させることができます。これが、モデルが提供された特徴に基づいてデータをより良く分類することを学習する方法です。
要するに、良い分離を見つけることは、データから学習しながらアルゴリズムが時間とともに改善される反復的なプロセスなんです。
より形式的な定義に移りましょう。分類では、データはXとYのペアとして表されます。ここで、xiはサンプルiの特徴を表すベクトルで、がく片の長さと幅といった値を含む可能性があります。yiはそのサンプルに対応するクラスを表し、例えば最初の花の種に対して0、2番目の種に対して1といった具合です。添え字iは単にデータセット内でのサンプルの位置を示します。
クラス間の分離は数学的な方程式で定義できます。例えば、2つのクラスを分離するために使用できる直線の関数を考えてみましょう。この関数のパラメータを調整することで、2つのクラス間の分離境界を移動させます。
W1とW2が各特徴に適用される重みで、W0は境界を調整するバイアスです。2値分類の例では、予測変数ŷを定義します。これは、関数の出力が0以上なら1、そうでなければ0となります。
W1、W2、W0の値を調整することで、この分離線の位置と向きを変更します。例えば、W1を増やすと線の傾きが変わり、クラスの分離方法が変更されます。
しかし、この分離が良いかどうかをどのように判断すればよいのでしょうか?ここで評価指標の概念が登場します。分離を評価する一般的な方法は、errorと表記する誤差関数を使用することです。
error関数は、分離関数、そのパラメータ、および特定のデータポイントを入力として受け取ります。この点に対する予測値ŷを計算し、実際の値yと比較します。ŷがyと異なる場合、関数は分類エラーを示す1を返し、そうでない場合は0を返します。
しかし、errorはシステムの全体的な性能を評価するために直接使用されるわけではありません。代わりに、一連のポイントに対してerrorを適用し、誤差の平均を取ることで、平均誤差率と呼ばれるより全体的な指標を計算します。
平均誤差率は、一連のポイントに対する誤差の合計を取り、それをポイント数で割ることで計算します。形式的には次のように書けます。ここでnは、データセット内のポイント数です。
この全体的な指標を、モデルのパラメータを調整することで最小化することを目指します。つまり、平均して最も少ない誤差を生成する設定を見つけることを目指すわけです。この最適化プロセスが機械学習の中心にあります。
分類を探究し、誤差を最小化するために決定境界をどのように最適化できるかを見てきましたが、分類問題を解決するために使用できるさまざまなモデルが存在することを知っておくことが重要です。
最も人気のあるモデルの1つは決定木です。決定木は、データを連続的なセグメントに分割することで機能します。各セグメントは特徴に基づく決定です。木の各ノードで質問が投げかけられます。例えば、「花弁の幅は2cm以上か?」といった具合です。答えに応じて、モデルは特定のクラスに対応する葉に到達するまでデータを分割し続けます。
もう1つの一般的に使用されるモデルは、k-最近傍(KNN)です。明示的な境界を作成するモデルとは異なり、KNNは与えられた点の近傍を見ることで機能します。新しい例を分類するために、モデルは特徴空間で最も近いk個の近傍を特定し、これらの近隍の中で最も一般的なクラスを割り当てます。先ほど見たモデルとは異なり、KNNはパラメトリックでないモデルです。パラメトリックモデルとノンパラメトリックモデルの違いについては次回の動画で説明します。
人間の知性は、周りの物を分類するだけにとどまりません。これらの物の間の関係を理解し、モデル化することも含まれます。知性の最も強力な能力の1つは、未来を予測し、ある行動の結果や状況の進展を特定の変数に基づいて予測する能力です。
この予測能力は、しばしば世界の異なる要素間のつながりを確立する能力に基づいています。例えば、月の位置に基づいて潮の高さを予測したり、降雨量に基づいて収穫量を推定したりすることができます。私たちが回帰と呼ぶ人工知能システムで再現しようとしているのは、まさにこの能力です。
回帰は機械学習とデータサイエンスにおける重要なツールです。なぜなら、これらの関係をモデル化し、ある量から別の量を予測することを可能にするからです。病気の進行を推定したり、企業の将来の売上を予測したり、気候をモデル化したりする多くの実践的なアプリケーションの中心にあります。
医学研究者として、患者の糖尿病の進行を予測したいと想像してみてください。そのために、442人の糖尿病患者から得られたデータがあります。年齢、体格指数(BMI)、血圧、そしていくつかの血清測定値が含まれています。あなたの目標は、これらの異なる特徴に基づいて、初期測定から1年後の糖尿病の進行を予測できるモデルを作ることです。
これが機械学習における回帰と呼ばれるタスクです。このタスクを実行するために、特定のデータセット、糖尿病データセットを使用します。予測したい変数は、初期測定から1年後の糖尿病進行の定量的な測定値です。
まずは、標準化された患者の年齢と糖尿病の進行の関係を見てみましょう。このグラフでは、X軸は患者の年齢を表し、Y軸は初期測定から1年後の糖尿病の進行を示しています。一見して、患者の年齢と糖尿病の進行の間に明らかな関係が見えますか?データを見ただけでは、直接的なつながりを見分けるのは難しい場合があります。
次に、体格指数(BMI)と糖尿病の進行の関係を見てみましょう。このグラフでは、X軸は患者のBMIを表し、Y軸は再び糖尿病の進行を示しています。ここでは、もっと明確な関係が見えるかもしれませんね。BMIは糖尿病の進行により顕著な影響を持っているように見えます。
ここで回帰が登場します。回帰を使用すると、年齢やBMIなどの予測変数と目的変数との関係をモデル化することができます。目標は、これらの特徴を糖尿病の進行に可能な限り正確に結びつける数学的関数を見つけることです。
このタスクには、いくつかの回帰モデルを使用することができます。例えば、線形回帰モデルはデータを通る直線を適合させることで、全体的な傾向を捉えようとします。この場合、線形回帰線をBMIに基づいて糖尿病の進行を推定するために適合させることができます。
しかし、時には関係がより複雑で、多項式回帰によって生成される曲線の方が適切な場合があります。
さて、回帰のより形式的な定義に移りましょう。回帰では、予測したい従属変数と、予測子として機能する1つまたは複数の独立変数との関係をモデル化しようとします。従属変数は時にターゲットと呼ばれ、yと表記されます。独立変数は特徴またはフィーチャーと呼ばれ、X1、X2、…、Xnと表記されます。
例えば、私たちの場合、従属変数は糖尿病の進行で、独立変数には年齢、体格指数、血圧などが含まれる可能性があります。
単純な線形回帰モデルは、次の方程式で表現できます。ここで、W0はX軸との交点、W1は独立変数X1の係数、εは予測値と実際の値の差を表す誤差項です。
回帰モデルは、ターゲットを最も正確に予測できるように、これらの変数を結びつける関数を見つけようとします。つまり、予測の誤差が最小になるように、パラメータを調整するのです。
しかし、回帰線が良いかどうかをどのように判断すればよいのでしょうか?分類と同様に、データポイントにできるだけ近い線を見つけるようにモデルのパラメータを調整する必要があります。
そのために、誤差の二乗和を最小化しようとします。これは最小二乗法と一般的に呼ばれる方法です。目標は、次の関数を最小化することです。ここで、Yiは観測iの実際の値で、ŷはそのサンプルに対するモデルの予測値です。
誤差は、この予測と実際の値の差です。この誤差は二乗され、合計されます。そこから「誤差二乗和」という名前が付いているわけです。言い換えれば、モデルによって予測された値と、データで観察された実際の値との差を最小化しようとしているのです。
つまり、平均して予測誤差を最小化するような線を見つけることが目標です。これは、データの全体的な傾向を捉えるために、線ができるだけ点に近く通るようにする必要があることを意味します。
そして以上で、機械学習における分類と回帰の謎について、それらを取り巻く哲学的な考察も交えながら、一緒に探究してきました。
とても興味深かったですね。コンピュータが数千年前からの哲学的な議論の解決に役立つなんて、誰が想像したでしょう?1+1=2、いいえ、1です。
この冒険が私と同じくらい楽しかったなら、ぜひ親指を上げてください。チャンネルの助けになりますし、いつも嬉しいです。まだの方は、下のボタンをクリックして登録してください。次の動画をお見逃しなく。通知を確実に受け取るために、ベルも有効にしてくださいね。
みなさんの感想が聞きたいので、コメント欄で遠慮なく共有してください。質問や取り上げて欲しいトピックがあれば、教えてください。
最後まで見ていただき、ありがとうございました。お体に気をつけて、好奇心を持ち続けてくださいね。機械学習の魅力的な世界への新たな冒険で、また近いうちにお会いしましょう。チャオ!
コメント