목록AI (99)
우노

Bias-Variance trade-off 란, 모델링을 할 때 error 처리를 위해 중요하게 알아야하는 개념이며, 자주 헷갈릴 수 있다. Bias Bias(편향)는 예측값과 실제값의 차이이다. 즉, Bias(편향)가 크다는 것은, 예측값과 실제값의 차이가 크다는 것이며, 이는 과소적합을 의미한다. Variance Variance(분산)는 입력에 따른 예측값의 변동성을 의미한다. 즉, Variance(분산)가 크다는 것은, 입력에 따른 예측값의 변동성이 크다는 것이며, 이는 과대적합을 의미한다. Trade-off Trade-off는 시소처럼 한쪽이 올라가면 한쪽이 내려가는 관계를 의미한다. 예제 1 파란 점이 예측값, 빨간 원이 실제값을 의미한다. Bias가 높다는 것은, 예측값과 실제값의 오차가 크다..
파라미터 초기화 / 하이퍼파라미터 정의 num_iterations 만큼 Loop : a. 순방향 전파 b. 비용 함수 계산 c. 역전파 d. 파라미터 업데이트 훈련 된 파라미터를 사용하여 예측

순전파(Feedforawrd)와 역전파(Backpropagation)의 개념 다층 퍼셉트론으로 학습을 한다는 것은, 최종 출력값과 실제값의 오차가 최소화 되도록 가중치(Weight)와 바이어스(Bias)를 계산하여 결정하는 것입니다. 이는, 순전파(Feedforward)를 통해 최종 출력값과 실제값의 오차를 확인하고 역전파(Backpropagation)를 통해 최종 출력값과 실제값의 오차가 최소화 되도록 가중치(Weight)와 바이어스(Bias)를 업데이트하며 진행됩니다. 예를 들어, 농구에서 자유투를 던지는 과정은 순전파(Feedforward)라고 할 수 있고, 던진 공이 어느 지점에 도착했는지를 확인하고 던질 위치를 수정하는 과정을 역전파(Backpropagation)이라고 할 수 있습니다. 예제 :..
파라미터와 하이퍼 파라미터는 명확히 다른 개념입니다. 하지만 많은 사람들이 두 단어를 혼용해서 쓰고 있습니다. 파라미터와 하이퍼 파라미터의 차이에 대해 알아보겠습니다. 파라미터 (Parameter) 파라미터는 모델 내부에서 결정되는 변수입니다. 예 weight coefficient (가중치 계수) bias (편향) weight coefficient, bias와 같은 파라미터들은 모델 내부에서 데이터를 통해 구해집니다. 하이퍼 파라미터 (Hyper parameter) 하이퍼 파라미터는 모델링할 때 사용자가 직접 세팅해주는 값을 뜻합니다. 예 learning rate epoch iteration 모델링을 할 때, 사용자가 직접 세팅해야 하는 값은 상당히 많습니다. 그 모든 게 다 하이퍼 파라미터입니다. 하이..

심층신경망을 구현하기 위해선, Weight matrix, Layer 간의 정확한 dimension 파악이 중요하다. 심층신경망 예 W는 Weight matrix, L은 Layer이며 구성 요소는 다음과 같다. Input x1, x2 W1, W2, W3, W4, W5 L1 (유닛 3개), L2 (유닛 5개), L3 (유닛 4개), L4 (유닛 2개), L5 (유닛 1개) Output yhat Weight matrix dimension을 구하는 공식은 다음과 같다. Wi == ( L i 의 유닛 개수, L i-1 의 유닛개수 ) W3 == ( L3 의 유닛 개수, L2 의 유닛개수 ) == (4, 5) 참고로, 역전파 시 가중치 업데이트 공식은 W - α * dw 를 사용하기 때문에 W와 dw의 dimens..

활성화 함수의 역할 딥러닝 네트워크에서는 노드에 들어오는 값들을 곧바로 다음 레이어로 전달하지 않고, 주로 비선형 함수를 통과시켜 전달한다. 이때 사용하는 함수를 활성화 함수(Activation Function)라고 부른다. 여기서 주로 비선형 함수를 사용하는 이유는, 선형함수를 사용할 시 층을 깊게 하는 의미가 줄어들기 때문이다. 예를 들어, 선형함수 h(x)=cx 를 활성화함수로 사용하는 3-Layer 네트워크가 있다고 가정해보자. 해당 네트워크를 식으로 나타내면 y(x)=h(h(h(x))) 가 된다. 이는 실은 y(x)=c^3x 와 똑같은 식이기 때문에, 결국 하나의 layer로 깊은 layer를 표현 할 수 있다는 것이다. 즉, linear한 연산을 갖는 layer는 수십개 쌓아도, 결국 하나의 ..

정의 Ground-truth는 학습하고자 하는 데이터의 원본 혹은 실제 값을 의미합니다. 예제 위 사진은 표지판을 감지하여 이를 경계 상자(Bounding box)로 표현한 것으로 초록색 상자가 Ground-truth, 빨간색 상자가 딥러닝 모델이 예측하여 표시한 부분입니다. Ground-truth와 가장 가까운 경계 상자를 표현한 모델이 객체를 잘 감지한 딥러닝 모델이라고 할 수 있습니다. 위 문제에서는 딥러닝 모델의 성능을 확인하기 위해, IoU(Intersection over Union) 라는 공식을 사용합니다. IoU 공식은, Ground-truth 경계상자와 예측된 경계상자가 겹치는 부분의 너비를, 두 경계상자가 사진에서 차지하는 너비로 나눈 값입니다. 위와 같은 식을 적용한다면 다음과 같이 딥..

머신러닝이란? 알고리즘 기반으로 데이터를 학습 및 예측한다. 데이터 입력 과정에서 인간이 직접 개입해, 입력 데이터를 컴퓨터가 인지할 수 있는 데이터로 변환하고 데이터별 특징을 직접 추출해야한다. 딥러닝이란? 인공신경망 기반으로 데이터를 학습 및 예측한다. 인공신경망을 통해, 데이터 자체를 스스로 학습하기 때문에 인간의 개입이 필요 없다.
Sklearn cross_val_score() 사용 시, 이미 존재하는 많은 scoring 방법들을 사용할 수 있지만 경우에 따라 직접 scoring을 만들어 사용하고 싶을 때가 있다. 이 때, 다음과 같이 Custom Scoring을 만들어 사용할 수 있다. Custom Scoring 함수 생성 from sklearn.metrics import r2_score, mean_squared_error def mean_absolute_percentage_error(y_test, y_pred): y_test, y_pred = np.array(y_test), np.array(y_pred) return np.mean(np.abs((y_test - y_pred) / y_test)) * 100 def custom_sc..
에러 WARNING: src/objective/regression_obj.cu:152: reg:linear is now deprecated in favor of reg:squarederror. 해결 방법 회귀 모델 매개 변수 objective = 'reg:lineaqr' 을 'reg:squarederror'로 변경 예 xg_reg = xgb.XGBRegressor(objective='reg:squarederror', colsample_bytree = 0.3, learning_rate = 0.1, max_depth = 5, alpha = 10, n_estimators = 10)