분류 전체보기 (124) 썸네일형 리스트형 04 파이토치 심화 (3) 정칙화 정칙화 정칙화(Regularization)란 모델 학습시 발생하는 과대적합 문제를 방지하기 위해 사용되는 기술로, 모델이 암기(Memorization)가 아니라 일반화(Generalization)할 수 있도록 손실 함수에 규제를 가하는 방식이다. 우리가 보통 데이터를 $y=F(x) + \epsilon$으로 표현하는데, 노이즈인 $\epsilon$을 제외하고 모델이 F(x)를 학습하도록 하는 것을 목표로 삼는다. 암기란 모델이 데이터의 노이즈까지 학습한 경우이고 일반화란 데이터의 일반적인 패턴을 학습한 경우이다. 정칙화는 모델이 특정 피처나 특정 패턴에 너무 많은 비중을 할당하지 않도록 손실 함수에 규제를 가해 모델의 일반화 성능을 향상시킨다. 다시 말해 모델의 분산 값이 낮아지고 모델의 추론 능력을 개선.. 04 파이토치 심화 (2) 가중치 초기화 가중치 초기화 모델의 초기 가중치 값을 설정하는 것을 말한다. 모델 매개변수에 적절한 초깃값을 설정한다면 기울기 폭주나 기울기 소실 문제를 완화할 수 있다. 또한 모델의 수렴 속도를 향상시켜 전반적인 학습 프로세스를 개선할 수 있다. 무작위 초기화 초기 가중치의 값을 무작위 값이나 특정 분포 형태로 초기화하는 것을 말한다. 무작위(Random), 균등 분포(Uniform Distribution), 정규 분포(Normal Distribution), 잘린 정규 분포(Truncated Normal Distribution), 희소 정규 분포 초기화(Sparse Normal Distribution Initialization) 등이 있다. 무작위 초기화는 계층이 많아지고 깊어질수록 활성화 값이 양 끝단에 치우치게 .. 04 파이토치 심화 (1) 과대적합과 과소적합, 배치 정규화 과대적합과 과소적합 과대적합(Overfitting)은 훈련 데이터에서는 우수하게 예측하지만, 새로운 데이터에서는 제대로 예측하지 못해 오차가 크게 발생하는 것을 의미한다. 과소적합(Underfitting)은 훈련 데이터와 새로운 데이터 모두 성능이 좋지 않은 경우이다. 둘 다 다음과 같은 공통점이 있다. 성능 저하 모델 선택 실패 과대적합과 과소적합은 모델을 변경해 문제를 완화할 수 있다. 과대적합의 경우 모델의 구조가 너무 복잡해 훈련 데이터에만 의존하게 되어 성능이 저하된다. 반대로 과소적합의 경우 모델의 구조가 너무 단순해 데이터의 특징을 제대로 학습하지 못한 경우로 볼 수 있다. 그러므로 모델을 변경하거나 모델 구조를 개선해야 한다. 편향 분산 트레이드오프 모델이 복잡해질수록 분산은 커지고 편향은.. 03 파이토치 기초 (6) 퍼셉트론 퍼셉트론 퍼셉트론의 자세한 내용은 이전에 다룬적이 있기 때문에 파이토치에서 퍼셉트론을 구현하는 방법만 다룬다. 2023.09.13 - [책/밑바닥부터 시작하는 딥러닝] - 2장 퍼셉트론 2장 퍼셉트론 퍼셉트론이란? 퍼셉트론은 다수의 신호를 입력으로 받아 하나의 신호를 출력한다. 퍼셉트론 신호는 1이나 0 두가지 값을 가질 수 있다. x1, x2는 입력 신호, w1, w2는 가중치, y는 출력신호를 뜻한다. ai-junha.tistory.com 퍼셉트론 모델 실습 데이터셋 데이터셋에 perceptron.csv 파일을 사용해 퍼셉트론을 구현해본다. 데이터는 다음과 같은 형태로 제공된다. 데이터가 bool형이기 때문에 CustomDataset 클래스에서 float으로 바꿔주어야 한다. class CustomD.. 03 파이토치 기초 (5) 활성화 함수 활성화 함수 활성화 함수(Activation Function)란 인공 신경망에서 사용되는 은닉층을 활성화하기 위한 함수다. 여기서 활성화란 인공 신경망의 뉴런의 출력값을 선형에서 비선형으로 변환하는 것이다. 즉, 활성화 함수는 네트워크가 데이터의 복잡한 패턴을 기반으로 학습하고 결정을 내릴 수 있게 제어한다. 활성화 함수가 선형 구조라면, 미분 과정에서 항상 상수가 나오므로 학습을 진행하기가 어렵다. 다시 말해 활성화 함수는 입력을 정규화(Normalization)하는 과정으로 볼 수 있다. 이진 분류 이진 분류란 규칙에 따라 입력된 값을 두 그룹으로 분류하는 작업을 의미한다. 분류 결과가 맞는다면 1(True)을 반환하며, 아니라면 0(False)을 반환한다. 참 또는 거짓으로 결과를 분류하기 때문에 .. 4-9 : Ensemble Learning - CatBoost 자료 출처 catboost의 저자들은 categorical feature를 처리하는데 사용되는 target statistic이 target leakage와 prediction shift 문제가 발생하며 이를 각각 ordered target statistics와 ordered boosting을 사용함으로써 해결할 수 있다고 주장한다. 그럼 먼저 기존에 사용되던 target statistics(TS)에 대해서 알아보자. Categorical features in boosted tree Greedy TS without smoothing 각 카테고리에 대해서 expected target value를 계산하며 수식은 다음과 같다. i는 categorical feature이며 k는 training example i.. 4-8 : Ensemble Learning - Light GBM 자료 출처 MS에서 개발되었고 XGBoost와 마찬가지로 Conventional GBM이 information gain을 계산하기 위한 split point를 모든 데이터 객체에 대해서 스캔하기 때문에 시간을 단축하기 위해서 고안되었다. Idea 데이터 객체의 수와 feature의 수를 줄이기 위함 Gradient-based One-Side Sampling (GOSS) 서로 다른 gradient를 갖는 데이터 객체는 information gain 계산에서 서로 다른 역할을 한다. 그러니까 각각 gradient가 다르다고 이해할 수 있다. gradient가 큰 객체는 유지하고 gradient가 작은 객체는 샘플링을 통해 무작위로 drop한다. Exclusive Feature Bundling (EFB) 상호.. 4-7 : Ensemble Learning - XGBoost 자료출처 XGBoost는 기본적으로 GBM의 철학을 따라가되 어떻게하면 더 빠르고 대용량의 데이터에 대해서도 처리가 가능한지에 대한 고민에서 출발한 알고리즘이다. 이를 위해 근사 알고리즘을 사용하여 약간의 성능 저하가 있을 수도 있지만 대용량의 데이터를 다룰 수 있는 병렬처리 기법 등을 통해서 이러한 단점을 보완한다. 이 포스팅에서는 하드웨어적인 부분은 다루지 않고 꼭 이해해야할 알고리즘 관련한 부분만 다룬다. Split Finding Algorithm Basic exact greedy algorithm 의사결정나무에서 split을 위해 사용하는 알고리즘이다. 장점 모든 가능한 split point를 다 찾아보기 때문에 항상 최적의 split point를 찾는다. 단점 데이터가 너무 커서 메모리에 다 들.. 이전 1 ··· 6 7 8 9 10 11 12 ··· 16 다음