머신 러닝 문제가 희망이 없다는 것을 아는 방법?


207

표준 기계 학습 시나리오를 상상해보십시오.

큰 다변량 데이터 세트에 직면하고 있으며 데이터에 대해 상당히 모호합니다. 당신이해야 할 일은 가지고있는 것을 기반으로 일부 변수에 대한 예측을하는 것입니다. 평소와 같이 데이터를 정리하고 기술 통계를보고 일부 모델을 실행하고 교차 검증하는 등 여러 번 시도한 후에 여러 모델을 시도하고 시도해도 아무런 효과가 없으며 결과가 잘못 될 수 있습니다. 그러한 문제에 대해 몇 시간, 며칠 또는 몇 주를 보낼 수 있습니다 ...

문제는 언제 멈출 것인가? 당신은 어떻게합니까 알고 데이터가 실제로 희망 것을 모든 공상 모델은 모든 경우 또는 다른 사소한 솔루션의 평균 결과를 예측하는 것보다 당신이 더 좋은 일을하지 않을까요?

물론 이것은 예측 가능성 문제이지만 내가 아는 한 다변량 데이터에 대한 예측 가능성을 평가하기는 어렵습니다. 아니면 내가 틀렸어?

면책 조항 : 이 질문에서 영감을 얻은 모델은 언제부터 모델 찾기를 중단해야합니까? 많은 관심을 끌지 못했습니다. 그러한 질문에 대한 자세한 답변을 참조하는 것이 좋을 것입니다.


1
이 문제는 실제적인 용어 (@StephanKolassa가 한 것처럼) 또는 절대적인 용어 (특정 조건이 충족 될 경우 주어진 모델을 보여주는 일종의 정리가 문제를 배울 수 있음)로 대답 할 수 있습니다. 어느 쪽을 원하십니까?
Superbest

3
이것은 컴퓨터 과학 의 고전적인 정지 문제 와 비슷하게 들립 니까? 예측 모델을 찾는 입력 데이터 D를 검색하는 임의의 복잡한 알고리즘 A가 있고 데이터에 대해 "좋은"모델을 찾으면 알고리즘이 중지된다고 가정 해 봅시다. A와 D에 중요한 구조를 추가하지 않으면 A가 입력 D를 중단했는지 여부를 어떻게 알 수 있는지, 어떻게 A가 결국 성공하는지 또는 영원히 검색하는지 계속 알 수 있습니까?
Matthew Gunn

@Superbest 둘 다 될 수 있습니다. 추가 할 내용이 있으면 언제든지 대답하십시오. 나는 실제 다차원 노이즈 데이터를 다루는 것에 관한 어떤 정리도 들어 본 적이 없지만, 적용되는 데이터를 알고 있다면 답을 읽는 데 관심이 있습니다.

3
@StephenKolassa의 답변을 바탕 으로이 질문을 해결할 수있는 또 다른 질문은 '지금까지 주제 전문가에게 어떤 시점으로 작업을 가져 가서 내 결과 (또는 결과 부족)에 대해 논의해야합니까?'입니다.
Robert de Graaf

답변:


241

예측 가능성

이것이 예측 가능성의 문제라는 것이 옳습니다. 가 있었다 forecastability에 대한 몇 가지 기사IIF의 실천 중심의 저널 선견 . (전체 공개 : 저는 준 편집인입니다.)

문제는 "단순한"경우에 예측 성을 평가하기가 어렵다는 것입니다.

몇 가지 예

다음과 같은 시계열이 있지만 독일어를 말하지 않는다고 가정하십시오.

달걀

4 월에 큰 피크를 어떻게 모델링하고 예측에이 정보를 어떻게 포함 하시겠습니까?

이 시계열이 스위스 슈퍼마켓 체인에서 계란 판매량이라는 것을 알지 못하면 서부 달력 Easter 직전에 정점에 도달 할 가능성이 없습니다. 또한 부활절의 달력이 6 주 정도 이동함에 따라 부활절 의 특정 날짜를 포함하지 않는 예측 (내년 특정 주에 반복 될 계절적 피크라고 가정) 아마 매우 꺼져있을 것입니다.

마찬가지로, 아래에 파란색 선이 있고 2010-02-28에서 발생한 모든 것을 2010-02-27의 "일반"패턴과 다르게 모델링하려고한다고 가정합니다.

하키 게임

다시 한 번, 캐나다인으로 가득 찬 도시 전체가 TV에서 올림픽 아이스 하키 결승전을 시청할 때 어떤 일이 발생하는지 알지 못하면 여기서 무슨 일이 있었는지 이해할 기회가 없으며, 이와 같은 일이 언제 발생할지 예측할 수 없습니다.

마지막으로 이것을보십시오 :

국외자

이것은 현금 및 캐리 스토어 에서 매일 판매되는 시계열입니다 . (오른쪽에는 간단한 테이블이 있습니다. 282 일에는 매출이 0이었고 42 일에는 1이 판매되었고 하루는 500이 판매되었습니다.) 어떤 품목인지 알 수 없습니다.

오늘까지, 나는 500의 판매로 그날에 무슨 일이 일어 났는지 모른다. 내 최선의 추측은 어떤 고객은이 제품이 무엇이든간에 많은 양의 제품을 미리 주문하고 수집 한 것이다. 이제 이것을 알지 못하면이 특정 날짜에 대한 예측은 멀리 떨어집니다. 반대로, 이것은 부활절 직전에 발생했다고 가정하고, 이것이 부활절 효과 일 수 있다고 생각하는 멍청한 알고리즘을 가지고 있으며 (이것은 계란일까요?) 다음 부활절을 위해 500 단위를 행복하게 예측합니다. 오 마이, 그게 잘못 됐어?

요약

모든 경우에있어, 데이터에 영향을 줄 가능성이있는 요소를 충분히 깊이 이해 한 후에 만 ​​예측 성을 이해하는 방법을 알 수 있습니다. 문제는 이러한 요소를 알지 못하면 알지 못할 수도 있다는 것입니다. 도널드 럼스펠트에 따르면 :

[T] 여기에는 알려진 것이 있습니다. 우리가 아는 것이 있습니다. 우리는 또한 알려진 미지가 있다는 것을 알고있다. 즉, 우리가 모르는 것이 있다는 것을 알고 있습니다. 그러나 우리가 모르는 미지의 미지도 있습니다.

부활절이나 캐나다인의 하키에 대한 전향이 우리에게 알려지지 않은 것이라면, 우리는 갇혀 있습니다. 우리는 어떤 질문을해야할지 모르기 때문에 앞으로 나아갈 길이 없습니다.

이것들을 다루는 유일한 방법은 도메인 지식을 수집하는 것입니다.

결론

나는 이것으로부터 세 가지 결론을 도출합니다.

  1. 당신은 항상 당신의 모델링 및 예측에 도메인 지식을 포함해야합니다.
  2. 도메인 지식이 있더라도 예측 및 예측에 대한 충분한 정보를 사용자가 받아 들일 수있는 것은 아닙니다. 위의 특이 치를 참조하십시오.
  3. "결과가 비참하다"면 달성 할 수있는 것 이상을 기대할 수 있습니다. 공정한 동전 던지기를 예측하는 경우 50 % 이상의 정확도를 얻을 수있는 방법이 없습니다. 외부 예측 정확도 벤치 마크도 신뢰하지 마십시오.

결론

다음은 모델 빌드를 권장하는 방법과 중지시기를 알리는 방법입니다.

  1. 도메인 지식이없는 사람과 직접 대화하십시오.
  2. 1 단계를 기반으로 예상되는 상호 작용을 포함하여 예측하려는 데이터의 주요 동인을 식별하십시오.
  3. 단계 2에 따라 강도가 감소하는 드라이버를 포함하여 모델을 반복적으로 빌드하십시오. 교차 검증 또는 홀드 아웃 샘플을 사용하여 모델을 평가하십시오.
  4. 예측 정확도가 더 이상 증가하지 않으면 1 단계로 돌아가거나 (예 : 설명 할 수없는 뻔뻔한 오해를 식별하고이를 도메인 전문가와 논의하여), 또는 모델의 기능. 미리 타임 박스 분석 을하면 도움이됩니다.

원래 모델이 정체 된 경우 다른 클래스의 모델을 시도하는 것을 옹호하지 않습니다. 일반적으로 합리적인 모델로 시작한 경우 더 정교한 것을 사용하면 큰 이점을 얻지 못하고 단순히 "테스트 세트에 과적 합"할 수 있습니다. 나는 이것을 자주 보았고 다른 사람들도 동의했다 .


10
내가 완전히 동의 한 놀라운 답변에 +1. 문제가 광범위하기 때문에 여전히 다른 답변을 기대하고 있기 때문에 (아직) 받아들이지 않습니다.

1
확실한. 이것에 대해 다른 사람의 관점을보고 싶습니다!
Stephan Kolassa

9
If you are forecasting a fair coin toss, then there is no way to get above 50% accuracy.. 당신은 거기에 모든 것을 말했다.
Walfrat

3
도메인 지식을 사용하면 처음 두 가지 사례에 새로운 기능을 추가 할 수 있습니다 (예 : 부활절 및 TV 시청 수는 시간이 길지만 후자는 자체적으로 예측해야 함). 두 경우 모두 희망이없는 상황입니다. 정말 흥미로운 부분은 공정한 동전 뒤집기 데이터 세트에서 누락 된 도메인 지식을 알리는 방법입니다.
Karolis Juodelė

4
@ KarolisJuodelė : 정확히 내 요점입니다. 우리가 전문가와 이야기하지 않는 한 우리의 상황이 절망적 일 때조차 알 수 없습니다. 그리고 때로는 전문가가 우리를 도울 수 없으며 전문가에게 "알 수없는 미지"가 있을 수 있습니다. 알고있다.
Stephan Kolassa

57

Stephan Kolassa의 답변은 훌륭하지만 종종 경제적 정지 조건이 있다고 덧붙이고 싶습니다.

  1. ML이 아닌 고객을 위해 ML을 수행 할 때는 고객이 기꺼이 지출 할 금액을 살펴 봐야합니다. 그가 회사에 5000 유로를 지불하고 모델을 찾는 데 한 달을 보냈다면 돈을 잃게 될 것입니다. 사소한 것처럼 들리지만 "해결책이 있어야합니다 !!!!"라고 생각했습니다. 따라서 돈이 나갈 때 멈추고 고객에게 문제를 알리십시오.
  2. 일부 작업을 수행 한 경우 현재 데이터 세트에서 가능한 일이 종종 있습니다. 금액이 사소하거나 순 마이너스 (예 : 데이터 수집, 솔루션 개발 등)로 인해 모델로 적립 할 수있는 금액에 적용하십시오.

예를 들어, 우리는 고객의 기계 고장 시점을 예측하고자하는 고객이 있었으며, 기존 데이터를 분석하고 본질적으로 소음을 발견했습니다. 우리는 그 과정을 파헤쳐 서 가장 중요한 데이터는 기록되지 않았고 수집하기가 매우 어렵다는 것을 알았습니다. 그러나 그 데이터가 없다면, 우리 모델은 너무 가난해서 아무도 사용하지 않았고 통조림이었습니다.

상용 제품을 다룰 때 경제학에 중점을 두었지만이 규칙은 학계 나 재미있는 프로젝트에도 적용됩니다. 이러한 상황에서 돈은 그다지 중요하지 않지만 시간은 여전히 ​​드문 상품입니다. 예 : 학계에서는 실질적인 결과를 얻지 못할 때 일을 중단해야하며, 더 유망한 다른 프로젝트를 수행 할 수 있습니다. 그러나 그 프로젝트를 포기하지 마십시오. 또한 null 또는 "더 많은 / 다른 데이터 필요"결과를 게시하십시오. 결과도 중요합니다!


1
확실히 좋은 점 +1! 나는이 질문에 대한 모든 대답이 "분명한"것처럼 보일지 모르지만, 참조하기 위해 모은 "분명한"모든 것을 본 적이 없다.

3
Btw 에서이 중지 규칙은 비즈니스가 아닌 경우에도 적용됩니다. 예를 들어, 어떤 종류의 연구를 수행하면 결과에 추상적 가치가 있으며 "희망없는"분석을 계속하는 것도 분석 가치가 귀하의 가치를 초과 할 때까지 합리적입니다 대신 할 수 있습니다. 실제로이 결정 이론적 논증은보다 일반적으로 이루어질 수 있습니다.

2
"아무도 ist를 사용하지 않았고 통조림으로 만들었을 것"이라고 생각했을 것입니다.
Silverfish

2
감사. 시간뿐 아니라 시간을 다르게 투자 할 수 있다는 사실에 관한 것 입니다. 대신 시간을 절약 할 수있는 다른 생명을 구하는 약품에 대한 연구 프로젝트를 진행할 수도 있지만 대중은 결과 등의 혜택을 누릴 수 있습니다.
Tim

2
@ChristianSauer 엔지니어로서의 경험에서 센서 (cf 게이지) 사이의 불일치 문제와 유용한 목적은 트랜지스터의 발명보다 우선합니다.
Robert de Graaf

9

다른 방법이 있습니다. 자신에게 물어 -

  1. 이 특정 변수를 가장 잘 예측하는 사람은 누구입니까? "
  2. 머신 러닝 알고리즘이 최상의 예측보다 더 나은 결과를 제공합니까?

예를 들어, 다른 축구 팀과 관련된 많은 변수가 있고 누가 이길 것인지 예측하려는 경우 기계 학습 결과와 비교하기 위해 북 메이커 확률 또는 군중 소싱 예측을 볼 수 있습니다 연산. 당신이 더 나은 당신은 한계에있을 수 있습니다, 더 나쁜 경우 분명히 개선의 여지가 있습니다.

향상시킬 수있는 능력은 다음 두 가지에 달려 있습니다.

  1. 이 특정 작업에서 최고 전문가와 동일한 데이터를 사용하고 있습니까?
  2. 이 특정 작업에서 최고의 전문가만큼 효과적으로 데이터를 사용하고 있습니까?

그것은 내가하려는 일에 정확히 달려 있지만,이 질문에 대한 답변을 사용하여 모델을 만들 때가는 방향, 특히 내가 사용할 수 있거나 더 집중할 수있는 더 많은 데이터를 추출하려고 시도하는지 여부 모델을 수정하려고합니다.

본인은 Stephan에 일반적으로 도메인 전문가에게 문의하는 것이 가장 좋은 방법이라는 데 동의합니다.


1
실제로 귀하의 답변은 @StephanKolassa의 답변과 모순되며 예측 벤치 마크가 다소 오도적임을 암시하는 문헌을 언급합니다.

1
@ 팀 : 전체 공개-그 링크는 내가 작성한 벤치 마크에 대한 기사로 이동했습니다. 그럼에도 불구하고, 나는 나의 결론을지지한다 : 내가 본 모든 수요 예측 정확도 벤치 마크는 아마도 사과를 오렌지와 비교했을 것이다. 따라서 외부 벤치 마크를 보는 것에 대해 약간 회의적입니다. 또한이 답변이 다소 의문을 제기한다고 생각합니다. ML 알고리즘이 "가장 잘 알려진"방식으로 개선되면,이를 더 향상시킬 수 있는지 또는 희망없는 고원을 달성했는지 어떻게 알 수 있습니까?
Stephan Kolassa

1
가장 최근의 사용 사례는 다소 달랐습니다. 인터넷에 게시 된 사람들로부터 누가 자신을 죽일 위험이 있는지 예측하려고했습니다. PHQ9와 같이 우울증의 중증도를 측정하기 위해 사용할 수있는 다양한 심리 테스트가 있습니다. 널리 사용되는 의료 검사로서 "간단한 우울증 심각도 측정의 PHQ-9 유효성"과 같은 유효성 및 신뢰성에 대한 상당한 연구가 있습니다. 나는이 논문의 신뢰성과 다른 수단들이 머신 러닝을 통해 얻을 수있는 결과에 대한 좋은 출발점이라는 것을 발견했다.
개빈 포터

1
물론 "가장 잘 알려진"기능을 향상시키는 것이 옳습니다. 더 나은 모델을 계속 검색할지 여부를 알 수있는 방법은 없습니다. 그러나 내 경험상 이것은 실제 상황에서 거의 발생하지 않습니다. 내가하는 대부분의 작업은 현장에서 최고의 전문가를 향상시키지 않으려는 머신 러닝을 사용하여 전문가의 판단을 대규모로 적용하려는 것 같습니다.
개빈 포터
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.