기계 학습 기술은 "근사 알고리즘"입니까?


23

최근 cstheory stackexchange에 대한 ML과 같은 질문이 있었고 Powell의 방법, 기울기 강하, 유전자 알고리즘 또는 기타 "근사 알고리즘"을 추천하는 답변을 게시했습니다 . 한 의견에서 누군가이 방법이 "추론"이 아니라 "근사 알고리즘"이라고 말했으며 이론상 최적에 가깝지 않은 경우가 많았습니다 ( "자주 발생하는 지역적 최소"때문에).

다른 사람들도 그것에 동의합니까? 또한 검색 공간의 많은 부분을 탐색하도록 설정된 경우 (예 : 매개 변수 / 단계 크기를 작게 설정) 휴리스틱 알고리즘이 이론상 최적에 가깝게 보장 될 수 있다는 느낌이 있습니다. 종이에서 보지 못했습니다. 이것이 논문에서 보여 지거나 입증되었는지 아는 사람이 있습니까? (큰 클래스의 알고리즘이 아닌 경우 작은 클래스의 경우 NN 등)


이 질문에 대한 추가 생각에 그것은 관련 / 관련 연구 영역이 지역 최적화 알고리즘 (예 : 기울기 강하) 위에 글로벌 최적화 방법 / 변이체 라고 불린다 ...
vzn

예를 들어, "신경망 훈련을위한 글로벌 최적화" 샹 & 와우로
vzn

답변:


29

여러 가지 중요한 개념을 혼합하고 있다고 생각합니다. 몇 가지 사항을 명확하게 설명하겠습니다.

  • 후보 솔루션을 개선하기 위해 반복적으로 시도하는 방법 인 메타 휴리스틱 방법이 있습니다. 이것의 예로는 타부 검색, 모의 어닐링, 유전자 알고리즘 등이 있습니다. 이러한 방법이 훌륭하게 작동하는 경우가 많을 수 있지만 이러한 방법이 언제 작동하는지, 그렇지 않은 경우에 대한 깊은 이해가 없다는 것을 관찰하십시오. 더 중요한 것은 그들이 솔루션에 도달하지 않을 때 우리는 임의로 솔루션에서 멀어 질 수 있습니다. 메타 휴리스틱 방법으로 해결되는 문제는 본질적으로 불연속적인 경향이 있습니다. 연속적인 문제를 처리하는 데 훨씬 더 유용한 도구가 있기 때문입니다. 그러나 때때로 당신은 지속적인 문제에 대한 메타 휴리스틱을 볼 수 있습니다.

  • 수치 최적화 방법이 있으며,이 커뮤니티의 사람들은 최적화 할 함수의 특성과 솔루션의 제한 사항 (볼록 최적화, 2 차 프로그래밍, 선형 프로그래밍 등의 그룹으로)을 신중하게 검토하고 표시된 알고리즘을 적용합니다. 해당 유형의 기능 및 해당 유형의 제한에 대해 작동합니다. 이 지역의 사람들이 "일하는 것으로 보인다"고 말할 때 그들은 증거를 의미합니다. 상황은 이러한 유형의 방법이 지속적인 문제에서 작동합니다. 그러나 귀하의 문제가이 범주에 속할 때, 이것은 확실히 사용할 도구입니다.

  • 이산 최적화 방법은 본질적으로 이산 문제를 잘 연구하기 위해 알고리즘에 연결되는 경향이 있습니다. 가장 짧은 경로, 최대 흐름 등과 같은이 영역의 사람들은 알고리즘이 실제로 작동하는지 확인합니다 (증거). 이 그룹에는 빠른 알고리즘이 없을 것으로 예상되는 어려운 문제를 연구하는 사람들의 하위 집합이 있습니다. 그런 다음 근사 알고리즘을 연구합니다.이 알고리즘은 솔루션이 실제 최적의 상수 요소 내에 있음을 보여줄 수있는 빠른 알고리즘입니다. 이것을 "근사 알고리즘"이라고합니다. 이 사람들은 또한 결과를 증거로 보여줍니다.

그래서 ... 귀하의 질문에 대답하기 위해, 메타 휴리스틱은 근사 알고리즘이라고 생각하지 않습니다. 그것은 의견에 연결된 어떤 것으로 보이지 않습니다. 그것은 단지 사실입니다.


"숫자 최적화 방법", "이산적인 최적화 방법"에서, 많은 ML 기술은 "초기 검색 공간"을 크게 강요 할 경우 실제 최적의 상수 요소 내에있는 것으로 입증 될 수 있지만 참조를 보지 못했습니다. 이에.

2
동의하지 않습니다. * 수치 최적화의 경우 현지 최소값을 얻을 수 있습니다 (물론이를 입증 할 수없는 절차를 적용 할 수도 있음). * 신경망도 마찬가지입니다 (적어도 퍼셉트론 훈련 중에 일어날 수 있습니다). * 유전자 알고리즘은 또한 국소 최소값에 도달 할 수 있으며, 더 큰 돌연변이율을 선택하면 현명한 진화를 얻지 못할 것입니다! II는 또한 특정 모델이 임의의 큰 오류를 갖도록 만드는 데이터 세트가 있다고 의심합니다.
jb.

2
@vzn 많은 사람들이 최적의 솔루션을 찾을 수있는 모델을 선택합니다. SVM처럼 볼록한 손실 기능을 사용하기 때문입니다. 여기에서 실제 최적을 찾는 것은 "검색 공간에서 최적의 솔루션을 찾는 것"을 의미하므로 검색 공간의 모양과는 아무런 관련이 없습니다. jb가 말했듯이 일반적인 손실 함수의 경우 진정한 최적을 찾는 것은 일반적으로 불가능 / 불가능합니다.
Andreas Mueller 2012

이 답변을 현재의 업무 상태 및 응용 프로그램의 일반 범주에 대한 설명으로 받아들이지 만 여전히 별도의 영역을 연결하는 존재하고 입증 된 브리지 셈이 있다고 생각합니다. 의 NN은 모델 또는 수 있다는 증거 "대략" 정확도 임의의 정도에 어떤 연속 수학 FN 밀접하게 관련되어 있습니다 ... 즉, kolmogorovs THM
vzn

3

머신 러닝은 종종 많은 지역 미니 마를 가진 함수의 최적화를 다룹니다. 숨겨진 단위를 가진 피드 포워드 신경망이 좋은 예입니다. 이러한 기능이 불 연속적이든 연속적이든 상관없이 전체 최소값을 달성하고 중지하는 방법은 없습니다. 연속 함수의 전역 최소값을 1 차원적이고 매끄러 워도 (무한한 파생물이 많음) 찾기위한 일반적인 알고리즘이 없음을 쉽게 입증 할 수 있습니다. 실제로, 신경망 학습을위한 모든 알고리즘은 로컬 최소값을 유지했습니다. 랜덤 뉴럴 네트워크를 생성하고 랜덤 인풋에 대한 응답을 크게 설정 한 다음 동일한 아키텍처로 다른 뉴럴 네트워크를 학습하여 응답을 복사하십시오. 완벽한 솔루션이 존재하지만, 다른 학습 알고리즘이이를 뒷받침 할 수있는 역전 파도 없습니다.

시뮬레이션 어닐링 또는 유전자 알고리즘과 같은 일부 학습 방법은 많은 지역 미니 마를 탐색합니다. 연속 함수의 경우 가장 가까운 지역 최소값을 찾는 그래디언트 디센트와 같은 방법이 있습니다. 그들은 훨씬 더 빠르기 때문에 실제로 널리 사용됩니다. 그러나 충분한 시간이 주어지면 이전의 방법 그룹이 훈련 세트 오류 측면에서 후자를 능가합니다. 그러나 실제 시간 문제에 대해서는 합리적인 시간 제약이있어 후자 그룹이 일반적으로 더 좋습니다.

로지스틱 회귀와 같은 일부 모델의 경우 로컬 최소값이 하나 있으며 함수가 볼록하고 최소화가 최소값으로 수렴하지만 모델 자체는 단순합니다.

그 쓰라린 진실.

또한 수렴 증명과 최상의 솔루션에 대한 수렴 증명은 서로 다른 두 가지입니다. K- 평균 알고리즘이 그 예입니다.

마지막으로, 일부 모델의 경우 학습 방법을 전혀 모릅니다. 예를 들어, 출력이 임의의 계산 가능한 입력 함수라면 합리적인 시간에이 기능을 구현하는 Turing 또는 이와 동등한 머신을 찾는 좋은 알고리즘을 알 수 없습니다. 예를 들어, f (1) = 2, f (2) = 3, f (3) = 5, f (4) = 7, ..., f (10) = 29 (첫 번째 소수)이면 이미 소수의 개념을 알지 않는 한 합리적인 시간에 f (11) = 31을 예측할 수있는 학습 알고리즘을 모른다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.