전공정리/알고리즘

[알고리즘] 기계학습_2

HU_717 2023. 2. 3. 16:32

Gradient

  • "함수 값(스칼라 장)의 증가율이 최대인 방향"을 의미 = 기울기
  • 다변수 함수의 편미분 모임
  • 즉, 편미분 값이 이루는 벡터를 Gradient라고 부름
예제(ppt)

Gradient에 대해 조사하여 Gradient의 의미에 대해 정리하고, 아래 주어진 함수의 f'(x)및 f'(0.5, -1) 구하기

Gradient Descent

  • 목적 함수를 최소화 하는 방향으로 반복적 변수 업데이트
    1) 초기값(x0), 학습률(y), 종료 조건 설정
    2) xk에서의 기울기 계산
    3) 종료 조건 만족시, 종료 // 그 외의 경우, k = k + 1 , 2단계 반복

< Generating Data Set with Correlation >

  • 서로 독립인 표준 정균 분포를 따르는 xk, zk 생성
    < Box-Muller >
  • u, v : 서로 독립인 표준 균등 확률 변수
    np.random.seed(0)
    

#u,v 0~1 사이 난수 지정 : 서로 독립인 표준 균등 확률 변수
u = np.random.uniform(0,1,size = 10000)
v = np.random.uniform(0,1,size = 10000)

#서로 독립인 표준 정규 분포를 따르는 x,z 생성
x = (np.sqrt(-2 * np.log(u))) * np.cos(2 * np.pi * v)
z = (np.sqrt(-2 * np.log(u))) * np.sin(2 * np.pi * v)

#상관 계수 값 지정
p = -0.7

#상관 계수 값 이용하여 y 생성
y = p * x + (np.sqrt(1 - p ** 2)) * z

#그래프 생성
plt.scatter(x, y, color='r', s = 1)
plt.show()


### 수학식