남는건 기록뿐

딥러닝 키워드 간단 정리(2) 본문

Deep Learnig

딥러닝 키워드 간단 정리(2)

루크안 2020. 1. 22. 16:29
반응형

1. 머신러닝에서 표현(Representation)이란 단어의 뜻

-- 데이터 표현(representation of the data)은 원시 데이터(raw data)를 특성 벡터(feature vector)에 매핑한 결과이다.

 

2. 특성 추출(Feature extraction)

-- 특성 추출은 원시 데이터를 특성 벡터로 추출하는 과정이다.

 

3. 원 핫 인코딩(One-hot encoding)

-- 관련 벡터 요소를 1로 설정한다.

-- 다른 요소는 모두 0으로 설정한다.

-- 이 벡터의 길이는 어휘에 있는 요소의 수와 같다. 이러한 표현은 단일 값이 1일 때  one-hot encoding, 여러 값이 1일 때 multi one-hot encoding이라 한다.

 

4. 좋은 특성(Feature)의 조건

-- 좋은 특성 값은 데이터 세트에서 5회 이상 나타나야 한다. 이러한 특성은 모델에서 라벨과의 관계를 학습하기 쉽다. 반대로, 특성의 값이 한번만 나타나거나 매우 드물게 나타난다면 모델에서 해당 특성을 기반으로 예측할 수 없다.

ex) california housing data에서 unique_house_id 같은 ID 값은 데이터에서 한번만 나타나므로 좋은 특성이 아니다.

즉, 거의 사용되지 않는 불연속 특성 값은 배제하는 것이 좋다.

 

-- 프로젝트의 모든 구성원에게 각 특성은 명확하고 분명한 의미를 가져야 한다.

ex) california housing data에서 주택의 연령을 연 단위로 나타내는 것은 바로 알아볼 수 있는 좋은 특성이다.

즉, 가급적 분명하고 명확한 의미를 부여하는 것이 좋다.

 

-- 종종 데이터가 존재하지 않을 때, -1이라는 특수 값을 사용하여 데이터를 넣어두기도 한다. 하지만, 이러한 특수 값을 실제 값과 혼용하여 특성 데이터를 사용해서는 안된다.

ex) quality_rating: 0.82 (Good)

     quality_rating: 0.37 (Good)

     quality_rating: -1 (Bad)

즉, 특수 값과 실제 값 혼용 금지

 

-- 특성의 정의는 시간이 지나도 변하지 않아야 한다.

ex) 도시 이름은 시간이 지나도 변하지 않는다. 물론 사용할 때는 원-핫 인코딩으로 변환해서 사용할 것.

즉, 특성의 정의는 시간이 지나도 변하면 안된다.

 

5. 선형 문제와 비선형 문제의 차이

-- 선형 문제: 선 하나로 깔끔하게 데이터를 분류할 수 있는 모델

   비선형 문제: 선 하나로 깔끔하게 데이터를 분류할 수 없는 모델

 

6. L2 정규화

-- ML 모델이 덜 복잡할수록 샘플의 특성 때문이 아니어도 좋은 경험적 결과를 얻을 가능성이 높다. 복잡한 모델에 페널티를 부여하는 정규화라는 원칙을 사용하여 과적합을 방지할 수 있을지도 모른다.

다시 말해, 다음은 단순히 손실을 최소화하는 것만을 목표로 삼는다(경험적 위험 최소화).

최소화(손실(데이터|모델))

이제 구조적 위험 최소화를 통해 다음과 같이 손실과 복잡도를 함께 최소화해 보자.

최소화(손실(데이터|모델) + 복잡도(모델))

이런식으로 모델이 데이터에 얼마나 적합한지 측정하는 손실 항과 모델 복잡도를 측정하는 정규화 항의 함수를 구할 수 있다.

L2 정규화는 모든 특성 가중치를 제곱한 값의 합계로서 정규화 항을 정의하는데, 이를 사용하여 복잡도를 수치화할 수도 있다.

 

7. L2 정규화에서 Lambda

-- 정규화 항의 전반적인 영향을 조정할 때, 람다라는 스칼라(정규화율)를 정규화 항의 값에 곱한다. 

최소화(손실(데이터|모델) + Lambda * 복잡도(모델))

-- 람다 값을 선택할 때 세워야 할 목표는 단순성과 학습 데이터 적합성 사이에 적절한 균형을 맞추는 것이다.

-- 람다 값이 너무 높으면 모델은 단순해지지만 데이터가 과소적합해질 위험이 있고, 그렇게 되면 모델은 유용한 예측을 수행할 만큼 학습 데이터에 대해 충분히 학습하지 못할 수 있다.

-- 람다 값이 너무 낮으면 모델은 더 복잡해지고 데이터가 과적합될 위험이 있다. 모델이 학습 데이터의 특수성을 너무    많이 학습하게 되고 새로운 데이터로 일반화하지 못하게 된다.

 

8. 분류 문제에서 임계값(Threshold)

-- 로지스틱 회귀 값을 이진 카테고리에 매핑하려면 분류 임계값(결정 임계값)을 정의해야 한다.

-- 임계값보다 높은 값은 '스팸'을 나타내고 임계값보다 낮은 값은 '스팸 아님'을 나타낸다.

-- 분류 임계값은 항상 0.5여야 한다고 생각하기 쉽지만, 임계값은 문제에 따라 달라지므로 값을 조정해야 된다.

 

9. 분류 문제에서 True Positive, True Negative, False Positive, False Negative

-- True Positive: 1로 예측했는데, 실제로 1인 경우

-- False Positive: 1로 예측했는데, 실제로는 0인 경우

-- True Negative: 0으로 예측했는데, 실제로 0인 경우

-- False Negative: 0으로 예측했는데, 실제로 1인 경우

 

10. 분류 문제에서 Precision, Recall

-- Precision: TP / TP + FP (TP: True Positive, FP: False Positive)

-- Recall: TP / TP + FN (TP: True Positive, FN: False Negative)

 

 

 

 

 

반응형

'Deep Learnig' 카테고리의 다른 글

Auto Encoder  (0) 2020.06.15
딥러닝 키워드 간단 정리(1)  (0) 2020.01.21
Comments