전체 글188 경사하강법 경사하강법은 볼록함수에서 극솟값을 찾아가는 방법입니다. 만약 볼록함수가 보장이 된다면 반드시 최적값에 도달할 수 있습니다. 볼록함수가 아니라면, 반드시 최적값에 도달한다는 보장은 없습니다. 만약 전역최솟값이 아닌 지역최솟값에 빠진다면 그 부분에서만 맴돌고 더이상 진전이 없습니다. 이러한 부분을 해결하기 위해 모멘텀 방식으로 지역해에 빠지는걸 방지하는 여러 규제가 적용됩니다. 이러한 규제는 이후에 소개합니다. 아무튼 경사하강법을 메인으로 딥러닝이 진행된다는 점이 중요합니다. 경사하강법은 매우 간단한 방식으로 작동합니다. \(\bigtriangledown f(\textbf{x})=(\partial f/\partial x_1 , ... , \partial f/\partial x_n)\) 에 대하여, $$ \t.. 2023. 3. 18. 신경망 기본구조와 구현 1. 퍼셉트론과 XOR Problem 퍼셉트론(Perceptron)은 가장 단순한 인공신경망 구조입니다. 위와 같이 입력값 \(x_1, x_2, ... \) 에 대해 가중치 \(w_1, w_2, ... \) 들의 선형결합으로 이루어진 구조입니다. 일반화된 식으로, \(\textbf{y}=f(\textbf{w}^T\textbf{x}+b) \) 로 정리할 수 있습니다. 기본적인 퍼셉트론으로도 간단한 분류를 잘 수행할 수 있습니다. 대표적인 예로 AND 게이트를 분류해봅시다. 위 그림처럼 직선 1개로 AND결과가 0인 점 3개와 1인 점 1개를 분리해내는데 성공합니다. 하지만 XOR 의 경우 직선 1개로는 분리가 불가능합니다. 2. 다층 퍼셉트론의 등장 이 때, 층 1개를 추가하여 쉽게 해결할 수 있습니다. .. 2023. 3. 18. 머신러닝 이상치 (outlier) 제거하기 머신러닝에서 이상치를 제거해야 예측성능을 높일 수 있습니다. 예를 들어 몇년치 자전거 이용 수요를 예측하는데 어떤 하루가 자전거 대회가 열렸던 날이라면 그 날을 제거하고 모델을 테스트하는게 타당합니다. 한 이상치로 인해 다양한 예측지표나 계산값에 악영향을 미치기 때문입니다. 이상치 제거로 자주 쓰이는 방법은 IQR 방식입니다. IQR은 사분위 값의 편차를 이용하여 이상치를 걸러내는 방법입니다. '사분위' 란 전체 데이터를 정렬하여 이를 4등분합니다. 이 구간을 Q1(25%), Q2(50%), Q3(75%), Q4(100%) 라 하면 IQR는 Q3 - Q1 가 됩니다. 이제 IQR에 가중치 w를 곱하여 일반적인 데이터의 최대와 최소 범위를 정해줍니다. 주로 w=1.5를 사용하며, 일반적인 최댓값을 Q3+I.. 2023. 2. 18. XGBoost, LightGBM 사용과 하이퍼파라미터 XGBoost와 LightGBM은 엄청난 성능을 자랑하는 앙상블 알고리즘입니다. 이 둘은 모두 사이킷런 전용 클래스가 있습니다. 사이킷런 전용 클래스는 fit과 predict, score등 직관적이고 일관화된 모델훈련&평가식을 제공하므로 사이킷런 전용 클래스를 사용합니다. 1. XGBoost의 주요 파라미터 n_estimators: 훈련횟수를 의미합니다. 훈련을 너무 많이 해도 과적합이 될 수 있습니다. learning_rate: 학습률을 의미합니다. 0~1사이 값이며, 주로 0.01에서 0.2정도사이에서 결정합니다. 다른 하이퍼 파라미터를 조정후 미세하게 조정하며 성능을 올리기도 합니다. min_child_weight: 트리에서 가지를 칠지 결정하는 가중치의 합입니다. 과적합을 제어하는 주요 하이퍼 파.. 2023. 2. 11. 이전 1 ··· 17 18 19 20 21 22 23 ··· 47 다음