分類器がデータを誤って分類するのはなぜですか?[閉まっている]


9

データ自体からのものでしょうか?それとも、モデルがデータ間の類似性を効率的に検出できないためですか、それとも誤分類の原因は他にありますか?


13
私の意見では、あいまいすぎるかどうかの質問です。特に直面している問題はありますか?
jpmuc

1
書かれているとおり、これは「[任意の]データの誤分類」と読むことができます。その場合、DGPが確率的/確定的でない限り、モデルがデータ生成プロセスを完全に反映している場合でも発生する可能性があります。つまり、ノイズの存在により、ある程度の誤分類が予想されます。
ガン-モニカの回復

@gungは、単に過剰適合ではありませんか?
theGD 2017年

3
@theGDでは、プロセスが確定的でない場合、一部のデータを誤って分類する完璧な分類子を使用できます。仕方ないよ。
ガン-モニカの

回答:


19

トレーニングデータの誤分類について話しているとしましょう。つまり、トレーニングデータセットの損失を最小限に抑えることは困難で、テストデータの過剰適合問題はありません。

ほとんどの場合、誤分類は「モデルが単純すぎる」または「データがノイズが多すぎる」から生じる可能性があることは正しいです。さらに説明するために、2つの例を示します。

  1. モデルは「単純すぎる」ため、「データ内のパターン」をキャプチャできません。

    • 左図に例を示します。2つのクラスを分離するためにロジスティック回帰/ラインを使用したいとしますが、2つのクラスは線形分離可能ではありません。

    • この場合、「データに注目すべきパターン」がまだあり、モデルを変更すると、改善される可能性があります。たとえば、ロジスティック回帰の代わりにKNN分類器を使用すると、非常に優れたパフォーマンスが得られます。

  2. データにノイズが多すぎるため、分類タスクを実行するのが非常に困難です。

    • 0.01×21.0

データセットの例、1つは2つのメッシュスパイラル、もう1つはガウス分布の重なりが大きい

データと分類子を視覚化できるため、2つの例は取るに足らないものであることに注意してください。現実の世界では、何百万ものデータポイントと非常に複雑な分類子がある場合は当てはまりません。

コード:

library(mlbench)
set.seed(0)
par(mfrow=c(1,2))
d=mlbench.spirals(500)
plot(d)
lg_fit=glm(d$classes~d$x[,1]+d$x[,2]-1,family=binomial())
abline(0,-lg_fit$coefficients[1]/lg_fit$coefficients[2])

d2=mlbench.2dnormals(500,r=0.01)
plot(d2)

あなたはKNNについて言及しました。私が分類について話しているのであり、クラスタリングについてではないことに注意してください。つまり、トレーニングとテストのデータがあるときです。少し混乱しているのは、たとえば、データごとに異なる機能を意味する2種類のデータがある場合、分類プロセスがテストプロセスでテストデータに誤ったラベルを付けるのはなぜですか。これは2番目の例につながると思います。つまり、データに非常に多くのノイズがあり、モデルがそのために苦労しているということです。
Sofia693

または、私の2種類のデータが実際に機能の類似点を共有し、モデルを「だます」ことができる別の理由を考えることができるかもしれませんが、これはどういうわけか1つのケースでしょうか?
ソフィア693

@ Sofia693 1. KNNはKmeansではなく、分類モデルです。2.私は本当にあなたのコメントをフォローしていません。
Haitao Du 2017

2つのグループがある場合(たとえば、50人の自閉症患者と50人の健康な被験者で、データがMRIから抽出され、各被験者が特徴ベクトルとして表される場合)、分類子をトレーニングし、Leave One Outテクニックを使用します。これで、(2番目の例で述べたように)モデルがノイズのためにテスト対象を誤って分類する可能性がありますが、機能選択を使用してノイズを削減できますか?なぜモデルはまだテスト対象を誤って分類するのですか?機能を選択してもノイズが発生する可能性はありますか?
Sofia693

2番目の仮定は、2つのグループが実際に特徴ベクトルの類似点を共有しているため、モデルが実際にテスト対象をいずれかのグループに割り当てるのに苦労していることです。
Sofia693

11

@ hxd1011(+1)に加えて。

  1. 相対条件または絶対条件でのクラスの不均衡。どちらの場合も、関心のあるクラスの不十分な表現を作成します。通常、後者は克服するのがより困難です。(参考例:HeとGarciaによる不均衡データからの学習
  2. 不適切な分類基準。不適切な評価関数を使用して分類子をトレーニングするか、不適切な基準を使用して最終的なソリューションを導き出します。「缶詰ソリューション」を使用する際の非常に一般的な問題。(参考例:ハレルによる分類精度とその他の不連続な不正確な精度スコアリングルールによる損傷
  3. 実際にはクラスはありません。そこに何かがあるといいのですが、実際には何もありません。通常、ドメインの専門知識は人々をこれから遠ざけますが、新参者としてこれは常に問題です。(参考例:私たちの日常生活。出版バイアスはおそらくここでも問題です...)
  4. オーバーフィッティング。適切なモデルと適切なデータセットがありますが、非現実的なモデルの適切な構築をトレーニングできません。通常、これはポイント2に関連します(アンダーフィットの追加ポイント!)(参照例:Hawkingsによるオーバーフィットの問題
  5. コンセプトドリフト。物事は変化し、私たちは再訓練しません。(例:参照...ええ、7月にこのモデルを使用すると、おそらく痛みになります-私たちの分類器は、当社の「クリスマスの販売」のサンプルをマーケティングの優れた性能を持っているコンセプトドリフト適応にA調査・ガマらによる。)
  6. データ漏洩/マジック機能。予測時に入手できない情報からトレーニングします。データのようなイベント/時系列がある場合に一般的です。(参考例:データマイニングの漏洩: Kaufman et alによる公式化、検出、および回避

1
ポイント3がわかりません。質問では、一部のデータを誤って分類する分類子を作成するために、「クラス」の概念を想定しています。ラベル付けに一貫性がない(「クラス」が十分に定義されていない)ということですか?または、機能に分類タスクに関連する情報が含まれていないことはありますか?
Charles Staats、2017年

@CharlesStaats:「機能には分類タスクに関連する情報が含まれていません」は、第2の種類の「不適切な分類基準」の失敗です。
MSalters 2017年

貧弱なラベルは2つに分類されると思いますか、それとも個別のエントリに値するのですか
ジョナス

@CharlesStaats:「クラスのいくつかの概念」を想定しても、それが実際に存在することや、手元のデータでサポートできるかどうかは関係ありません。そのため、これらのケースではドメインの専門知識が非常に役立ちます。「本当の問題」と「ノイズに適合」しようとすることを区別するのに役立ちます。ラベルは、測定可能な概念ではなく、仮説(たとえば、ランダム変異によって引き起こされる疾患を発症する可能性)を反映している場合があります(たとえば、患者はランダム変異によって引き起こされる疾患を持っています)。
usεr11852

@ジョナス:これは良い点です。誤表示は別のエントリーにすべきだと思います。これは、hxd1011によって提起された「データがうるさすぎる」という点に関連している可能性があります。
usεr11852
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.