回答:
「回帰による分類問題へのアプローチ..」「回帰」によると、線形回帰を意味すると仮定し、このアプローチをロジスティック回帰モデルに適合させる「分類」アプローチと比較します。
これを行う前に、回帰モデルと分類モデルの区別を明確にすることが重要です。回帰モデルは、降雨量や日光強度などの連続変数を予測します。また、画像に猫が含まれる確率など、確率を予測することもできます。確率予測回帰モデルは、決定ルールを課すことにより分類子の一部として使用できます。たとえば、確率が50%以上の場合、それは猫だと判断します。
ロジスティック回帰は確率を予測するため、回帰アルゴリズムです。ただし、一般的に機械学習の文献では分類方法として説明されています。分類器を作成するために使用できる(多くの場合)ためです。結果のみを予測し、確率を提供しないSVMなどの「真の」分類アルゴリズムもあります。ここでは、この種のアルゴリズムについては説明しません。
Andrew Ngが説明しているように、線形回帰ではデータを通して多項式を当てはめます。たとえば、次の例のように、{腫瘍サイズ、腫瘍タイプ}サンプルセットを通して直線を当てはめています。
上記では、悪性腫瘍は、非悪性腫瘍は取得し、緑の線は仮説です。予測を行うために、与えられた腫瘍サイズについて、がを超えた場合、悪性腫瘍を予測し、そうでなければ良性を予測すると言うことができます。
このように見えるため、すべてのトレーニングセットのサンプルを正しく予測できますが、タスクを少し変更してみましょう。
直観的には、特定のしきい値を超えるすべての腫瘍が悪性であることは明らかです。それでは、巨大な腫瘍サイズを持つ別のサンプルを追加して、線形回帰を再度実行しましょう。
これでは機能しなくなりました。正しい予測を行い続けるには、または何かに変更する必要がありますが、それはアルゴリズムの動作方法ではありません。
新しいサンプルが到着するたびに仮説を変更することはできません。代わりに、トレーニングセットのデータから学習し、(学習した仮説を使用して)以前に見たことのないデータの正しい予測を行う必要があります。
これが線形回帰が分類問題に最適ではない理由を説明することを願っています!また、VIを見ることもできます。ロジスティック回帰。ml-class.orgの分類ビデオで、アイデアをさらに詳しく説明しています。
編集
potentialislogicは、優れた分類器が何をするかを尋ねました。この特定の例では、おそらく次のような仮説を学習する可能性のあるロジスティック回帰を使用します(これは単に構成しています)。
線形回帰とロジスティック回帰はどちらも直線(または高次の多項式)を提供しますが、これらの線の意味は異なることに注意してください。
だから、一番下の行は、分類のシナリオでは、我々が使用していることである完全に異なる推論と完全に異なる回帰シナリオよりもアルゴリズムを。
分類が実際に最終的な目標である例を考えることはできません。ほとんどの場合、本当の目標は、確率などの正確な予測を行うことです。その精神では、(ロジスティック)回帰はあなたの友人です。
いくつかの証拠を見てみませんか?多くの人が線形回帰は分類に適さないと主張しますが、それでも機能する可能性があります。直感を得るために、scikit-learnの分類子の比較に線形回帰(分類子として使用)を含めました。ここで何が起こるかです:
決定境界は他の分類器よりも狭くなりますが、精度は同じです。線形サポートベクトル分類子と同様に、回帰モデルは特徴空間でクラスを分離する超平面を提供します。
ご覧のように、分類子として線形回帰を使用することはできますが、いつものように、予測を相互検証します。
記録のために、これは私の分類子コードがどのように見えるかです:
class LinearRegressionClassifier():
def __init__(self):
self.reg = LinearRegression()
def fit(self, X, y):
self.reg.fit(X, y)
def predict(self, X):
return np.clip(self.reg.predict(X),0,1)
def decision_function(self, X):
return np.clip(self.reg.predict(X),0,1)
def score(self, X, y):
return accuracy_score(y,np.round(self.predict(X)))