본문 바로가기
728x90

AI/ML10

[ML] 선형 모델 정규화 (Regularization) 오버피팅을 줄이기 위해서 모델이 가지고 있는 파라미터/자유도를 고정(제한)하는 방법을 사용할 수 있다. 선형 모델에 대해서는 주로 사용되는 방법이 모델이 가지는 가중치(weight)를 제한하는 방식을 사용한다. 크게 3가지의 방법이 존재한다. ① Ridge ② Lasso ③ Elastic Net * 3가지 방법들을 적용하기 전에 중요한 것은 StandardScaler와 같은 Scaler를 사용하는 전처리 과정이 있어야 정규화의 효과가 더 좋아진다는 것1) Ridge Regression (L2 Regularization)Ridge Regression(a.k.a Tikhonov 정규화)은 linear regression에 다음과 같은 regularization term을 더하는 것이다.$\alpha$값이 의.. 2024. 9. 8.
[ML] 오차/오류의 종류 머신러닝 모델이 설정한 가설의 오류는 크게 두가지로 구분할 수 있다.1. Empirical Error (Training Error, 경험적 오차)2. Generalization Error (Test Error, 일반화 오) 1. Empirical ErrorEmpirical Error는 Training 데이터셋 내부에서 발생하는 오차를 말한다. 즉, 모델이 이미 한번 본 데이터에 대해서 예측을 했을 때 실제 값과의 차이를 말해준다. 보통의 경우 Training 과정에서 Empirical Error 값을 줄이기 위해 파라미터를 조정한다.  2. Generalization ErrorGeneralization Error는 모델이 한번도 보지 못한 데이터에 대해서 예측 값과 실제 값의 차이를 말한다. 주로 Tes.. 2024. 9. 6.
[ML] 경사하강법 (Gradient Descent) 경사하강법(Gradient Descent)은 파라미터 조정을 통해서 cost function 값이 가장 낮아지게 하는 독립 변수를 찾아내는 알고리즘이다. 기본적인 원리는 현재 설정된 위치를 기준으로 값이 가장 가파르게 낮아지는 방향으로 파라미터를 조정하는 것이다. (자주 비유되는 상황은 안개가 낀 산에서 가장 빠르게 내려가는 방법은 내 발 밑에서 가장 가파른 방향으로 움직이는 것이다.) Figure 1처럼 랜덤한 값으로부터 시작하여 learning rate 하이퍼파라미터에 결정된 크기만큼 조금씩 움직이는 형태이다. - 만약 learning step이 너무 작다면 minimum에 도착하기까지 시간이 너무 많이 걸리고, 너무 크다면 오히려 발산해버리거나 minimum에 절대 도달하지 못할 수도 있다. - 평.. 2024. 9. 5.
[ML] 분류 (Classification) 분류(Classification)은 지도학습(Supervised Learning)의 대표적인 유형 중 하나로 클래스를 예측한다.(다른 유형은 값을 예측하는 회귀, Regression이다) 분류에는 여러 유형이 존재한다.- Binary Classifier : 가장 단순한 유형으로, 특정 클래스에 속하는지 아닌지만을 판단한다. (숫자 5인지 아닌지)- Multi-Class : 2개 이상의 클래스가 주어질 때, 어떤 클래스에 속하는지를 판단한다. (0~9 중 어떤 숫자인지)- Multi-Label : 하나의 요소가 여러 개의 라벨을 가지는 상황일 때 사용된다. (여러 인물이 있는 사진이 주어졌을 때, 어떤 인물이 나와있는지 각 라벨마다 True/False 값을 가짐)- Multi-Ouput : Multi-La.. 2024. 8. 16.
[ML] 모델 파인튜닝 가장 적합해보이는 모델 후보들을 여러개 선택했다면, 더 좋은 성능을 위해서 모델을 파인튜닝하는 과정을 거쳐야 한다. * 파인튜닝 (Fine-tuning) = 사전에 학습된 모델에 새로운 데이터를 훈련시켜 전이학습을 진행하는 방법 1. Grid SearchGrid Search는 어떤 hyperparameter들을 어떤 값들로 조정할지 정하면, cross-validation을 사용해서 모든 경우의 성능을 확인하는 기법이다.  # Grid Search 코드 예시from sklearn.model_selection import GridSearchCVfull_pipeline = Pipeline([ ("preprocessing", preprocessing), ("random_forest", RandomFo.. 2024. 8. 14.
[ML] 데이터셋 준비 이번 글의 목차는 다음과 같다.- Test Set 만들기- Data Visualization - 상관관계 발견하기- 데이터 전처리 ◆ Test Set 만들기머신러닝 모델의 성능을 평가하기 위해서 train-test (주로 train-validation-test) 방식을 사용한다. 전체 데이터셋을 train용과 test 용으로 분리할 때 가장 단순한 방법은 랜덤하게 뽑는 것이다. 이 방법은 데이터셋이 충분히 크다면 대부분 괜찮지만, 그렇지 않다면 sampling bias가 발생할 수 있다.  ex) 전체 인구의 남녀 비율이 48.9:51.1이고 1000명을 sampling해야 할 때, 약 10.7%의 확률로 해당 여성 sample의 비율이 48.5% 이하이거나 53.5% 이상으로 test set이 편향(s.. 2024. 8. 13.
반응형