그라데이션 하강 최적화


9

ML (machine learning) 알고리즘의 기울기 하강 최적화를 이해하려고합니다. 오류 를 최소화하는 것이 목적인 비용 함수가 있음을 이해합니다 . 가중치는 시나리오 최소 오차를 제공하도록 최적화되고 있으며, 편미분이 사용되고 있으며,이 모두 변경 않는다 및 단지 소수의 반복에서, 각 단계에서 또는 그 조합 (예이다 변경되고 경우 더욱, 미분 시작하는 오류를 감소되지 )? 응용 프로그램은 선형 회귀 모델, 로지스틱 회귀 모델 또는 부스팅 알고리즘 일 수 있습니다.와이^와이1,212112

답변:


10

그라데이션 하강은 각 단계에서 모든 매개 변수를 업데이트합니다. 업데이트 규칙에서이를 확인할 수 있습니다.

(+1)=()η에프(()).

손실 함수의 기울기 때문에 에프() 치수와 치수가 일치하는 벡터 값입니다. 모든 매개 변수는 각 반복마다 업데이트됩니다.

학습률 η그래디언트를 다시 스케일링하는 양수입니다. 너무 큰 단계를 밟으면 손실 기능이 개선되지 않고 손실 표면을 가로 질러 끝없이 튕겨 나갈 수 있습니다. 단계가 너무 작 으면 최적으로 진행되는 속도가 엄청나게 느려질 수 있습니다.

그래디언트 디센트를 사용하여 선형 회귀 매개 변수를 추정 할 수는 있지만 좋지 않습니다.

마찬가지로 로지스틱 회귀 계수를 추정하는 더 좋은 방법이 있습니다.


따라서 알고리즘은 부분 미분에서 로컬 최소값에 도달하는 방향에 따라 증가 w1, 감소 와 같은 다른 조합을 시도 할 수 w2있으며 알고리즘이 반드시 글로벌 최소값을 항상 제공하지는 않을 것임을 확인합니까?
Pb89

그리고 편미분도 도움이 짓을해야합니다 얼마나 증가 또는 감소를 설명 하는가 w1w2또는 그 편미분은 하강의 방향을 제시하면서 속도 / 수축을 학습하여 수행됩니다?
Pb89

그라디언트는 벡터이므로 방향 크기를 제공합니다 . 벡터는 양의 스칼라로 임의로 크기를 조정할 수 있으며 방향은 같지만 크기를 조정하면 크기가 변경됩니다.
Sycorax는 Reinstate Monica가

그래디언트에 의해 크기가 주어지면 수축 또는 학습 속도의 역할은 무엇입니까?
Pb89

학습 속도는 그래디언트를 다시 조정합니다. 가정에프(엑스)큰 규범 (길이)이 있습니다. 큰 발걸음을 내 딛면 손실 표면의 먼 곳으로 이동합니다 (한 산에서 다른 산으로 점프). 그래디언트 디센트의 핵심 정당성은 근처의 선형 근사치라는 것입니다.(). 근사값은 항상 정확하지 않지만, 멀어 질수록 멀어 질 수 있습니다. 따라서 작은 단계를 밟으려고합니다.η여기서 '작은'은 전적으로 문제에 따라 다릅니다.
Sycorax는 Reinstate Monica가

7

최적화가 부분 도함수를 통해 발생할 때, 매번 w1과 w2를 모두 변경하거나 w1 만 변경되는 반복 횟수가 적고 w1이 오류를 더 많이 줄이지 않으면 미분은 w2-to로 시작합니다. 지역 최소에 도달?

각 반복에서 알고리즘은 그래디언트 벡터를 기반으로 모든 가중치를 동시에 변경합니다. 실제로 그라디언트는 벡터입니다. 그래디언트의 길이는 모델의 가중치 수와 같습니다.

반면에, 한 번에 하나의 매개 변수를 변경하는 것이 존재하며 , 이는 기울기없는 최적화 알고리즘 의 한 유형 인 좌표 괜찮은 알고리즘 이라고 합니다 . 실제로는 그라디언트 기반 알고리즘뿐만 아니라 작동하지 않을 수 있습니다.

그라디언트 프리 알고리즘에 대한 흥미로운 답변입니다.

역 전파없이 신경망을 훈련시킬 수 있습니까?


1

경사 하강의 목표는 비용 함수를 최소화하는 것입니다. 이 최소화는 케이스 w1과 w2의 무게를 조정하여 달성됩니다. 일반적으로 이러한 가중치는 n 개일 수 있습니다 .

그라데이션 하강은 다음과 같은 방식으로 수행됩니다.

  1. 가중치를 무작위로 초기화하십시오.
  2. 초기화 된 가중치로 비용 함수 및 기울기를 계산합니다.
  3. weigths 업데이트 : 일부 가중치의 경우 기울기가 O 일 수 있으며,이 경우 업데이트 후 가중치가 변경되지 않습니다. 예를 들어, 기울기가 [1,0]이라고 가정하면 W2 는 변경되지 않습니다.
  4. 감소가 충분히 수용 가능한 경우 갱신 된 가중치로 비용 함수를 점검하십시오. 그렇지 않으면 반복을 종료하십시오.

가중치 (W1 또는 W2)가 변경되는 가중치를 업데이트하는 것은 전적으로 기울기로 결정됩니다. 모든 가중치가 업데이트됩니다 (일부 가중치는 그라디언트에 따라 변경되지 않을 수 있음).


"감소가 충분히 수용 가능한 경우 반복이 종료되지 않으면 계속 반복합니다"라는 파이썬 ( sklearn) 또는 R 패키지 (예 : caret? )에 적용되는 기본값이 있습니까? 수동으로 생성 된 경사 하강 기능에서만 사용자를 지정할 수 있습니까?
Pb89

1

괜찮은 그라데이션 모두에 적용 w1하고 w2각 반복에 대해. 각 반복 동안, 그라디언트에 따라 매개 변수가 업데이트되었습니다. 그것들은 다른 부분 미분을 가질 것입니다.

여기를 확인 하십시오 .

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