일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 하이브
- Managed Table
- Deeplearning 키워드
- .hiverc
- 딥러닝
- hive
- Spark Data 불러오기
- Spark
- 차원의 저주
- Tez
- Data 불러오기
- Haddop
- Spark 설치
- Manifold Learning
- data load
- 학습률
- Feature extraction
- Clodera Quick Start
- Hive CLI
- 스파크
- One-hot encoding
- hive setting
- Over fitting
- Hadoop Ecosystems
- Auto Encoder
- 선형 회귀
- L2 정규화
- 캐글
- DeepLearning
- learning rate
- Today
- Total
남는건 기록뿐
딥러닝 키워드 간단 정리(2) 본문
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 |