Machine Learning(3)
-
Linear Regression - Gradient Descent
1. Gradient Descent "깊은 골짜기를 찾고 싶을 때에는 가장 가파른 내리막 방향으로 산을 내려가라" 이러한 그레디언트의 특성을 이용하여 어떤 비용함수의 값을 최소화시키기 위한 파라미터 값을 구함. 미분 계수 = 0 이되는 구간이 올 때까지 연산 진행. 2. Learning Rate 학습률이 너무 작을 경우 — 알고리즘이 수렴하기 위해 반복을 많이 진행해야 하므로 학습 시간이 오래걸림 — 지역 최솟값(local minimum)에 수렴할 수 있음 학습률이 너무 클 경우 — 학습 시간이 적게 걸리나 — 스텝이 너무 커 전역 최솟값(global minimum)을 가로질러 반대편으로 건너뛰어 최솟값에서 멀어질 수 있음 3. Gradient Descent 과정 Step 1. 특정 파라미터 값으로 시작..
2020.04.23 -
Normal Equation - python 코드
1. normal_eq.py fit 메서드 조건 """ Linear regression 모델을 적합한다. Matrix X와 Vector Y가 입력 값으로 들어오면 Normal equation을 활용하여, weight값을 찾는다. 이 때, instance가 생성될 때, fit_intercept 설정에 따라 fit 실행이 달라진다. fit을 할 때는 입력되는 X의 값은 반드시 새로운 변수(self._new_X)에 저장 된 후 실행되어야 한다. fit_intercept가 True일 경우: - Matrix X의 0번째 Column에 값이 1인 column vector를추가한다. 적합이 종료된 후 각 변수의 계수(coefficient 또는 weight값을 의미)는 self._coef와 self._intercept..
2020.04.20 -
Linear Regression - Normal Equation
1. Normal Equtation weight 값, 정확히는 weight_hat 값을 구하는 방법 중 하나. 2. 설명 대문자 Bold : Matrix 소문자 Bold : Vector X의 transpose를 이용하여 weigth를 계산 3. 결론 X^T * X의 역행렬이 존재할 때 사용 Iteration 등 사용자 지정 parameter가 없음 Feature가 많으면 속도가 느림
2020.04.20