알고리즘이 수렴한다는 것은 무엇을 의미합니까?


12

강화 학습에 대해 읽을 때이 문장에서와 같이이 용어를 계속 사용합니다.

문제를주의 깊게 모델링하면 일부 강화 학습 알고리즘이 전역 최적으로 수렴 될 수 있습니다.

http://reinforcementlearning.ai-depot.com/

또는 여기 :

고정 정책 Pi에 대해 위에서 설명한 TD 알고리즘은 VPi로 수렴되는 것으로 입증되었습니다

http://webdocs.cs.ualberta.ca/~sutton/book/ebook/node62.html

수렴이라는 단어에 대한 나의 이해는 여러 가지가 같은 지점에 모이는 것을 의미하지만 단일 항목 (알고리즘)이 어떻게 할 수 있습니까?


7
반복 알고리즘의 경우 각 반복에 대한 후보 솔루션이 원하는 솔루션에 점점 더 가까워지는 경우 수렴한다고합니다.
MetaFight

6
"제한"이 "단일"인 경우에도 수학의 한계가 수렴 또는 분기된다는 것을 기억하는 것이 도움이 될 수 있습니다.
Ixrec

@Ixrec : "제한"은 구성 / 분할 값의 이름을 따서 명명되었습니다 . 예를 들어 "1로 수렴합니다"는 "1을 초과하지 않음"을 의미하고 "1은 최대 결과 값"이며 따라서 "한계"라는 의미입니다. 따라서 단수입니다.
Flater

답변:


14

반복 알고리즘은 반복을 계속하기로, 출력이 점점 더 가까이 어떤 특정 값에 오면, 상기 수렴된다. 더 정확하게 말하면, 선택한 오류 범위가 아무리 작더라도 오랫동안 계속하면 함수는 결국 최종 값 주위의 해당 오류 범위 내에있게됩니다.

어떤 상황에서는 알고리즘이 수렴하지 않고 항상 일정한 양의 출력을 갖습니다. 출력이 더 크고 큰 가치 변동을 겪어도 유용한 결과에 접근하지 않는 경우에도 발산 될 수 있습니다. 더 정확하게 말하면 얼마나 오래 계속하든 함수 값은 "최종"값의 범위 내에서 절대로 안정되지 않습니다.

첫 번째 문장에서 "전역 최적으로 수렴"문구는 수렴 할 수 있지만 "최적"값이 아닌 알고리즘 (예 : 기능 및 초기 조건에 따라 수렴 할 수있는 언덕 등반 알고리즘)에 대한 참조입니다. 전 세계 최대 값에 도달하지 않은 지역 최대 값).


3

수렴이란?

수렴 의 개념은 잘 정의 된 수학적 용어입니다. 그것은 본질적으로 일련의 요소들이 단일 값에 점점 더 가까워진다는 것을 의미합니다. 이 단일 값을 "제한"이라고합니다.

공식적인 정의는 다음과 같습니다.

X0, X1, X2, ... Xn ...우리가 생각 Xn converges to a given number L하는 모든 양의 오류에 대해 (무한한) 실수 시퀀스가 ​​주어지면 , 뒤 따르는 Xm모든 요소 가 그 오류보다 덜 다른 것과 같은 것이 있습니다.XnXmL

예:

다음과 같은 시퀀스를 상상해보십시오.

  • X0 = 1
  • X1 = 0.1
  • X2 = 0.01
  • X3 = 0.001
  • X4 = 0.0001
  • ...
  • Xn = 1 / (10 ^ n)

Xn은 0으로 수렴합니까? 예! 왜?

오류 E를 생각하십시오 (예 :) E = 0.0025. 순서대로 모든 요소가 아래에있는 요소가 0.025있습니까? 예! 그 요소는 X3 = 0.001입니다. X2 이후에는 모든 XN것이 아래에 있습니다 0.0025. 모든 E> 0에 대해이 작업을 수행 할 수 있습니까 ? 예. 우리가 선택한 모든 양의 오류에 대해, 우리는 첫 번째 소수점 앞에 0이 몇 개 있는지를 알 수 있으며 시퀀스는 같은 수의 0을 가진 요소에서 시작하여 더 낮습니다.

이것은 의미합니다 Xn = 1/(10^5) converges to 0. 우리가 원하는만큼 "0에 가까워 질 수 있습니다"에서와 같이.


알고리즘이 수렴한다는 것은 무엇을 의미합니까?

"기술적으로"수렴하는 것은 알고리즘이 아니라 알고리즘이 조작하거나 반복하는 값입니다. 예를 들어, PI의 모든 숫자를 인쇄하는 알고리즘을 작성한다고 가정 해 봅시다.

알고리즘은 다음과 같은 숫자 인쇄를 시작합니다.

  • X0 = 3.14
  • X1 = 3.141
  • X2 = 3.1415
  • X3 = 3.14159
  • ...

우리는 스스로 물어볼 수 있습니다 : 알고리즘이 PI에 점점 더 가까이 다가 가는가? 다시 말해, X0, X1, ... XN ...알고리즘이 인쇄 하는 순서 가 PI로 수렴됩니까?

그렇다면 알고리즘이 PI로 수렴한다고합니다.


우리는 일반적으로 알고리즘의 정확성을 증명하는 데 관심이 있습니다.

일반적으로 알고리즘을 작성할 때 알고리즘이 제공하는 솔루션이 해결하는 문제에 맞는 솔루션인지 알고 싶습니다. 이것은 때때로 수렴의 형태로 올 수 있습니다.

일반적으로 알고리즘에는 메트릭 이라고하는 것이 있습니다. 메트릭은 알고리즘이 생성하는 주어진 결과에 제공하는 숫자입니다. 예를 들어 AI / Machine Learning 반복 알고리즘에서는 입력을 기반으로 알고리즘이 생성하는 "오류"를 추적하는 것이 매우 일반적입니다. 이 오류는 메트릭입니다.

이러한 반복 알고리즘에서 모든 단계는 다른 오류를 생성합니다. 그리고 알고리즘이 시도하는 것은 오류를 최소화하여 점점 작아지는 것입니다. 오류 시퀀스가 ​​수렴되면 알고리즘이 수렴한다고합니다.

이 경우 global optimum일반적으로 오류가 가장 적은 설정으로 정의됩니다. 이 경우에, "알고리즘은 전역 최적으로 수렴한다"는 "알고리즘은 가능한 가장 낮은 오차로 수렴하는 시퀀스에서 에러를 발생시킨다"는 것을 의미한다.

"전역 최적"이 "정확한 솔루션"인 경우 알고리즘이 수렴된다는 것은 알고리즘이 정확하다는 것을 말하는 것과 같습니다.

또한 알고리즘이 수렴된다는 증거는 (우리가 0.001, 0.0001, ..., 예에서와 같이) 증거가 필요하다는 것을 명심하십시오.


예를 들어 분류기

이에 대한 예는 분류기의 경우 일 수 있습니다. 숫자가 홀수인지 머신 러닝 알고리즘을 사용하는지 분류하고 다음과 같은 데이터 세트가 있다고 가정합니다.

  • (1, 홀수)
  • (2)
  • (홀수)
  • (77, 홀수)
  • (4도)

모든 숫자 집합에 대한 알고리즘은 짝수이거나 홀수 인 경우 각각에 대해 침을 뱉습니다. 이를 위해 메트릭 오류를 오류 횟수를 제공된 총 요소 수로 나눈 것으로 정의 할 수 있습니다.

따라서 알고리즘이 다음과 같이 침을 뱉으면

  • (1, 짝수) // 잘못
  • (2)
  • (3) 짝수
  • (77 짝수) // 잘못
  • (4도)

우리의 오류 메트릭은입니다 3/5 = 0.6. 이제 알고리즘을 다시 실행하면 침을 뱉습니다.

  • (1, 짝수) // 잘못
  • (2)
  • (홀수)
  • (77, 홀수)
  • (4도)

우리의 오류 메트릭은입니다 1/5 = 0.2.

점점 더 많이 실행되고 오류 시퀀스는 다음과 같습니다.

0.6, 0.2, 0.1, 0.01, 0.000456, 0.00000543, 0.000000000444 ....

가장 큰 문제는 알고리즘이 0일까요? 그것이 0으로 수렴합니까? 알고리즘이 모두 수렴됩니까? 우리는 결국 그것이 올바르게 (또는 가능한 오른쪽으로) 얻을 수 있다는 것을 증명할 수 있습니까?

잘만되면 :)

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