촉촉한초코칩

Machine Learning 3 본문

Study/PBL

Machine Learning 3

햄친구베이컨 2024. 5. 28. 19:12

https://developers.google.com/machine-learning/crash-course?hl=ko

 

로지스틱 회귀

 

확률 계산

예제) 한밤중에 개가 짖는 확률 예측 

확률 : p(bark | night)

로지스터 회귀 모델이 p(bark | night) = 0.05를 예측하면 강아지는 1년 이상 약 18번 깨어있다.
startled = p(bark | night) * nights
         = 0.05 * 365
         = 18

 

대부분 로지스터 회귀 출력을 이진 분류 문제에 해결책으로 매핑한다.
이 경우 목표는 가능한 두 라벨 중 하나(스팸/스팸아닌)이며 모듈은 여기에 중점을 둔다.

 

1. 시그모이드 함수

로지스틱 회귀 모델이 항상 0과 1 사이의 값을 보장하는 방법 : 시그모이드 함수가 동일한 특성을 가진 출력 생성
로지스틱 회귀를 사용하여 학습된 모델의 선형 레이어 출력을 z로 나타내면 sigmoid(z)가 0과 1사이의 값(확률)을 얻게 된다. 

  • y : 특정 예의 로지스틱 회귀 모델 출력값
  • z = b + w1x1 + w2x2 + ... + wNxN
    w : 모델의 학습된 가중치, b는 편향이다.
    x : 특정 예씨의 특성 값

2. 로지스틱 회귀 출력

예제) 다음과 같은 편향과 가중치를 학습한 특성 3개를 갖는 로지스틱 회귀 모델

#편향과 가중치를 학습한 특성 3개를 갖는 로지스틱 회귀 모델
b = 1
w1 = 2
w2 = -1
w3 = 5

#특정 예에 대해 다음의 특성값 사용
x1 = 0
x2 = 10
x3 = 2

#로그 오즈
b + w1x1 + w2x2 + w3x3
(1) + (2)(0) + (-1)(10) + (5)(2) = 1

#로지스틱 회귀 예측
0.731

 

손실 및 정규화

손실

  • 선형 회귀의 손실 함수 : 제곱 손실
  • 로지스틱 회귀의 손실 함수 : 로그 손실

  • (x,y) ∈ D : 라벨이 지정된 많은 예( (x,y) 쌍)가 포함된 데이터 세트
  • y : 라벨이 지정된 예의 라벨 (로지스틱 회귀이므로 y의 모든 값은 0 또는 1이어야 한다.)
  • y' : x의 특성 집합을 고려한 예측 값(0 ~ 1사이의 값)

정규화

정규화하지 않으면 로지스틱 회귀의 점근성 특성으로 인해 고차원에서 손실이 계속 0이 된다. 
→ 대부분의 로지스틱 회귀 모델은 다음 전략 중 하나를 사용하여 모델 복잡도를 완화한다. 

  • L2 정규화
  • 조기중단 (학습 단계 수 또는 학습률 제한)

 

분류

 

기준점

  • 로지스틱 회귀 : 확률 반환
    → 반환될 확률을 사용하거나 바이너리 값으로 변환 
  • 로지스틱 회귀 값을 이진 카테고리에 매핑하려면 분류 임계값(결정 임곗값)을 정의해야 한다.
    →  이 값을 초과하는 값은 스팸, 아래 값은 스팸아님을 나타낸다.  

 

분류: 참/거짓, 양성/음성

  • 분류 모델을 평가하는 데 사용할 측정 항목의 기본 구성요소 정의  
  • 포지티브/네거티브 클래스를 정의하면 4가지 가능한 결과를 보여주는 2x2 혼동행렬을 생성하게 되고 모델을 요약할 수 있다.

  • 참양성 : 모델이 포지티브 클래스를 정확하게 예측하는 결과
  • 참음성 : 모델이 네거티브 클래스를 올바르게 예측하는 결과
  • 거짓양성 : 모델이 포지티브 클래스를 잘못 예측한 결과
  • 거짓음성 : 모델이 음수 클래스를 잘못 예측한 결과 

 

정확성

  • 모델이 올바르게 예측한 비율
  • 공식적인 정확성의 정의 

  • 이진 분류에서 양성 및 음성 측면의 정확성 계산

TP : 참양성, TN : 참음성, FP : 거짓양성, FN : 거짓음성

 

예제) 악성(양성 클래스), 양성(네거티브 클래스)으로 분류된 100개의 종양 정확성 계산

  • 정확성 : 0.91% > 종양 분류기가 악성 종앙을 잘 식별하고 있다.
  • 실제로 양성 및 음성에 대한 상세한 분석을 통해 모델의 성능을 더 자세히 파악할 수 있다.
  • 이와 같이 클래스 불균형 데이터 세트를 사용할 때 양성 라벨과 음성 라벨 수 사이에 상당한 차이가 있는 경우 정확성만으로는 모든 것을 알 수 없다. 

 

정밀도와 재현율

정밀도

예제) 양성으로 식별된 사례 중 실제로 양성이었던 사례의 비율은? > 50%

재현율

예제) 실제 양성 중 정확히 양성이라고 식별된 사례의 비율 > 11%

정밀도 및 재현율

  • 모델의 효과를 완전히 평가하려면 두개 모두 검사해야 한다.
    하지만 정밀도와 재현율은 긴장 관계를 자주 일으킴 > 정밀도를 높이면 재현율 감소.. 정밀도 낮추면 재현율 증가..

1. 이메일 메시지를 스팸 또는 스팸 아님으로 분류하기

예제) 이메일 분류 모델에서 수행한 30개의 예측 
분류 임곗값 오른쪽에 있는 메일은 '스팸'으로, 왼쪽은 '스팸 아님'으로 분류된다.

  • 정밀도 : 정확하게 분류된 스팸으로 신고된 이메일의 비율 (녹색으로 표시된 임계값 선 오른쪽에 있는 점의 비율)
  • 재현율 : 정확하게 분류된 실제 스팸 이메일의 비율 (기준선 오른쪽에 있는 초록색 점의 비율)

2. 분류 임계값 증가

  • 거짓양성의 수는 감소하지만 거짓음성의 수는 증가한다. > 정밀도는 높아지고 재현율은 낮아진다.

3. 분류 임계값 감소

 

ROC 곡선 및 AUC

ROC 곡선 (수신자 조작 특성 곡선) : 모든 분류 임곗값에서 분류 모델의 성능을 보여주는 그래프

곡선의 매개변수 

  • 참양성률 (TPR) : 재현율

  • 거짓양성률 (FPR) 

분류 임계값을 낮추면 더 많은 항목이 양수로 분류되므로 거짓양성과 참양성이 모두 증가한다.

4. 서로 다른 분류 임계값에서 TP 비율 대 FP 비율

단점 : 비효율적 > 정보를 제공할 수 있는 효율적인 정렬 기반 알고리즘 사용 (AUC)

 

AUC : ROC 곡선 아래 영역

AUC : ROC 곡선 아래 영역. (0,0)에서 (1,1)까지 전체 ROC 곡선 아래에 있는 전체 2차원 영역을 측정한다. 

5. AUC (ROC 곡선 아래 영역)

6. 예측은 로지스틱 회귀 점수의 오름차순으로 정렬된다.

  • AUC는 가능한 모든 분류 임계값에서 집계도니 성능 측정값을 제공한다. 
  • AUC를 해석하는 방법 : 모델이 임의의 양성 예의 순위를 무작위 음성 예보다 더 높게 평가할 가능성 
  • 예제) 로지스틱 회귀 예측의 오름차순으로 왼쪽에서 오른쪽으로 정렬됨

  • AUC는 임의의 양성(녹색) 예가 임의의 음성(빨간색) 예의 오른쪽에 위치할 확률을 나타낸다.
  • AUC의 값의 범위 : (틀림)0 ~ 1(정확)

AUC 장점

  • 규모 불변 : 절댓값이 아닌 예측의 순위를 측정한다.
  • 분류 기준 불변 : 선택한 분류 임계값과 관계없이 모델의 예측 품질을 측정한다.

AUC 주의 사항 (특정 사용 사례에서 AUC의 유용성을 제한하게 될 수도 있다.)

  • 확장 불변이 항상 바람직하지는 않다.
  • 분류 임계값 불면이 항상 바람직한 것은 아니다 > 거짓음성 대비 거짓양성의 비용이 큰 경우, 한 가지 유형의 분류 오류를 최소화하는 것이 중요하다. 

 

예측 편향

* 로지스틱 회귀 예측은 편향되지 않아야 한다. 

  • SMART : 예측평균 <= 관찰 평균
  • 예측 편향 : 두 평균이 얼마나 차이 나는지 측정하는 수량 
    prediction bias = average of predictions - average of labels in data set 
  • 0이 아닌 높은 예측 편향은 모델 어딘가에 버그가 있음을 나타낸다. 

예측 편향의 근본 원인

  • 불완전한 특성 세트
  • 노이즈가 많은 데이터 세트
  • 버기 파이프라인
  • 편향된 학습 샘플
  • 지나치게 강력한 정규화

예측 편향을 줄이기 위해 모델의 출력을 조정하는 보정 레이어 추가 > 학습된 모델을 후처리하여 예측 편향 수정

보정 레이어 단점 > 모델의 문제를 해결할 수는 있지만 가능한 보정 레이어는 사용하지 않는 게 좋다. 

  • 원인이 아닌 증상만 개선
  • 최신상태를 유지해야 함 

 

버게팅 및 예측 편향

  • 로지스틱 회귀는 0과 1 사이의 값을 예측한다.
    예측 편향을 검토할 때는 한 가지 예만 가지고 정확하게 판단할 수 없으며 예시의 '버킷'에 대한 예측 편향을 검사해야 한다. 
  • 즉, 로지스틱 회귀 예측 편향은 예측된 값과 관찰된 값을 비교할 수 있을 만큼 충분한 예시가 있어야 의미가 있다. 

버킷 구성 방법

  • 타겟 예측을 선형으로 분할
  • 분위수 형성 

8. 예측 편향 곡선 (대수 배율)

예제) 각 점은 1000개의 값으로 구성된 버킷을 의미한다. 

 

x축 : 모델이 해당 버킷에 예측된 값의 평균
y축 : 해당 버킷에 대한 데이터 세트의 실제 값 평균 

모델의 일부에서만 예측이 저조한 이유
- 학습 세트는 데이터 공간의 특정 하위 집합을 충분히 나타내지 않는다.
- 데이터 세트의 일부 하위 집합은 다른 데이터 세트보다 노이즈가 많다.
- 모델이 지나치게 정규화되었으므로 람다 값을 줄이는 것이 좋다. 

 

실습 - https://developers.google.com/machine-learning/crash-course/classification/programming-exercise?hl=ko%EF%BB%BF

https://colab.research.google.com/github/google/eng-edu/blob/main/ml/cc/exercises/binary_classification.ipynb?utm_source=mlcc&utm_campaign=colab-external&utm_medium=referral&utm_content=binary_classification_tf2-colab&hl=ko

 

정규화: 희소성

 

L1 정규화

희소벡터를 특성 교차로 생성하면 더 많은 차원이 발생한다. 하지만 엄청난 양의 RAM이 필요하게 된다.

가능한 고차원 희소 벡터에서는 가중치가 정확히 0으로 떨어지도록 유도하는 것이 좋다. 
가중치가 정확히 0이면 모델에서 해당 특성을 삭제한다. 특성을 제로 아웃하면 RAM이 절약되고 모델의 노이즈가 줄어든다.

L1 정규화

  • L0에 대한 근사치 역할을 하지만 볼록하기 때문에 계산하기에는 효율적이다.
  • L1 정규화를 사용하여 모델에서 유용하지 않은 많은 계수를 정확히 0이 되도록 유도하여 RAM을 절약할 수 있도록 한다. 

L1 정규화와 L2 정규화 비교

가중치에 패널티 적용

  • L2 : 가중치^2에 패널티 적용
  • L1 : |가중치|에 패널티 적용

미분

  • L2의 미분계수 : 2 * 가중치 > 가중치의 x%를 제거
  • L1의 미분계수 : k (가중치와 무관한 값을 갖는 상수) > 가중치에서 일정 상수를 뺀다. 모든 가중치의 절댓값에 패널티를 적용하므로 다양한 모델에서 효율적으로 활용할 수 있다. (1차원 모델에서만)

L1, L2 정규화가 가중치 네트워크에 미치는 영향 - https://developers.google.com/machine-learning/crash-course/regularization-for-sparsity/l1-regularization?hl=ko%EF%BB%BF

실습 - https://developers.google.com/machine-learning/crash-course/regularization-for-sparsity/playground-exercise?hl=ko%EF%BB%BF

 

신경망

 

신경망 구조

1. 비선형 분류 모델 

  • 비선형은 모델의 모델을 사용하여 라벨을 정확하게 맞출 수 없음을 의미한다. 
  • * 특성 교차 : 비선형 문제를 모델링할 수 있는 접근 방식 

2. 더 어려운 비선형 분류 문제 

 

2번의 데이터 세트는 선형 모델로 해결할 수 없다.

신경망이 비선형 문제를 해결하는 데 어떤 도움이 될 수 있는지 알아보기 위해 선형 모델을 그래프로 표현해본다. 

 

 

3. 선형 모델로서 그래프

 

파란색 원 : 입력 특성
녹색 원 : 입력의 가중치 합계

> 비선형 문제를 처리하는 기능을 개선하기 위해 모델을 어떻게 변형시킬까?

 

 

히든 레이어

4. 2레이어 모델의 그래프 

 

다음 그래프에서 중개값의 히든 레이어를 추가했다.

히든 레이어의 각 노란색 노드는 파란색 입력 노드 값의 가중치 합계이다. 출력은 노란색 노드의 가중치 합계이다.

이 모델은 선형 모델이며 출력은 여전히 입력의 선형 조합이다. 

 

5. 3레이어 모델의 그래프 

 

가중치 합계의 두번째 히든 레이어가 추가되었다. > 여전히 선형 모델

출력을 입력의 함수로 표현하고 단순화하면 입력의 또 다른 가중치 합계를 얻게 된다. 

이 합계는 그림 2의 비선형 문제를 효과적으로 모델링하지 못한다.

 

 

 

활성화 함수

비선형 문제를 모델링하기 위해 비선형성을 직접 도입 > 각 히든 레이어 노드를 비선형 함수를 통해 파이핑 

6. 활성화 함수가 있는 3레이어 모델의 그래프

  • 히든 레이어 1의 각 노드 값은 비선형 함수로 변환된 후 다음 레이어의 가중치 합계에 전달된다.
  • 이 비선형 함수를 활성화 함수라고 한다. 
  • 각 레이어는 원시 입력에 대해 조금 더 복잡하고 상위 수준의 함수를 효과적으로 학습한다. 

일반적인 활성화 함수

7. 시그모이드 활성화 함수

시그모이드 활성화 함수는 가중치가 적용된 합계를 0과 1 사이의 값으로 변환한다. 

8. ReLU 활성화 함수

  • 정류 선형 유닛 활성화 함수(ReLU) : 시그모이드 함수보다 조금 더 효과적이지만 훨씬 쉽게 계산할 수 있다.
  • ReLU의 우월성은 경험적 결과를 바탕으로 하며, ReLU에 조금 더 유용한 응답성이 나올 수 있다. (시그모이드 응답성은 양쪽에서 상대적으로 빠르게 떨어진다.)

 

신경망 표준 구성 요소

  • 뉴런과 유사한 노드 집합을 레이어로 구성한다.
  • 각 신경망 레이어와 그 아래 레이어 사이의 연결을 나타내는 가중치 집합이다. 아래의 레이어는 다른 신경망 레이어 또는 다른 종류의 레이어일 수 있다.
  • 각 노드에 하나씩 편향되는 편향 집합
  • 레이어에 있는 각 노드의 출력을 변환하는 활성화 함수이다. 활성화 함수는 레이어마다 다를 수 있다. 

 

실습 - https://developers.google.com/machine-learning/crash-course/introduction-to-neural-networks/playground-exercises?hl=ko%EF%BB%BF

colab 실습 - https://colab.research.google.com/github/google/eng-edu/blob/main/ml/cc/exercises/intro_to_neural_nets.ipynb?utm_source=mlcc&utm_campaign=colab-external&utm_medium=referral&utm_content=intro_to_nn_tf2-colab0nn&hl=l

 

신경망 학습

 

역전파 : 신경망의 가장 일반적인 학습 알고리즘 

권장사항

실패 사례

  1. 경사소실 : 하위 레이어의 경사가 매우 작아짐 0으로 소실되면 학습 속도가 매우 느려지거나 전혀 학습되지 않음 > ReLU 활성화 함수를 통해 경사 소실 방지
  2. 그라데이션 발산 : 네트워크의 가중치가 크면 하위 레이어의 경사에 많은 큰 항의 곱이 포함됨 경사가 너무 커지면 수렴되지 않음 > 배치 정규화는 학습률을 낮추며 경사 발산을 방지하는 데 도움이 됨
  3. 불량 ReLU 유닛 : ReLU 유닛의 가중 합계가 0 미만으로 떨어지면 ReLU 유닛이 고착될 수 있음 경사 소스가 잘리면 가중 합이 다시 0보다 커지도록 하는 ReLU에 대한 입력이 변경되지 않을 수 있음 > 학습률 낮추기

 

드롭아웃 정규화 

  • 단일 경사 스텝에서 단위 활성화를 네트워크에서 무작위로 배제하는 방식 
  • 드롭아웃이 많을수록 정규화가 강력해진다.

 

다중 클래스 신경망

 

* 현실에서 발생하는 멀티클래스 문제에서는 수백만 개의 클래스 중 하나를 선택해야 한다. 거의 모든 것을 식별할 수 있는 다중 클래스 분류 모델에 대해 생각해본다. 

 

1 vs 모든 신경망

1:N 

  • 이진 분류 활용 방법 제공 
  • 가능한 각 결과에 하나씩 N개의 이진 분류자를 제공 
  • 학습 중에 모델은 일련의 이진 분류자를 통해 실행되며 각 분류기를 학습하여 별도의 분류 질문에 답한다. 
  • 장점 : 클래스 수가 작을 때 합리적
  • 단점 : 클래스 수가 늘어나면 비효율적 

각 출력 노드가 다른 클래스를 나타내는 심층 신경망을 사용하여 훨씬 효율적인 1:N 모델을 만들 수 있다. 

 

SoftMax

  • 다중 클래스 문제의 각 클래스에 소수 확률을 할당한다. 
  • 출력 레이어 직전의 신경망 레이어를 통해 구현된다. 
  • 소프트맥스 레이어의 노드 수는 출력 레이어와 동일해야 한다. 

 

후보 샘플링

  • 소프트맥스가 모든 양성 라벨의 확률을 계산하지만 음성 라벨의 무작위 샘플에 대해서만 확률을 계산한다. 
  • 장점 : 클래스가 많으면 효율성을 높일 수 있다. 

 

단일 라벨과 여러 라벨 비교

  • 소프트맥스에서는 각 예가 정확히 한 클래스의 멤버라고 가정한다. 
  • 그러나 일부 예는 동시에 여러 클래스의 구성원일 수 있다. 

 

실습 - https://colab.research.google.com/github/google/eng-edu/blob/main/ml/cc/exercises/multi-class_classification_with_MNIST.ipynb?utm_source=mlcc&utm_campaign=colab-external&utm_medium=referral&utm_content=multiclass_tf2-colab&hl=ko

 

임베딩

 

임베딩

  • 고차원 벡터를 변환할 수 있는 비교적 저차원의 공간
  • 단어를 나타내는 희소 벡터와 같은 큰 입력에 대해 더 쉽게 머신러닝을 수행할 수 있다. 
  • 의미론적으로 유사한 입력을 임베딩 공간에 가깝게 배치하여 입력의 일부 시맨틱을 캡쳐한다. 
  • 임베딩을 학습하고 여러 모델에서 재사용할 수 있다. 

 

협업 필터링의 동기

협업 필터링 : 다른 여러 사용자의 관심분야를 기반으로 특정 사용자의 관심분야를 예측하는 작업

예제) 50만 명의 사용자와 각 사용자가 본 영화 목록이 있을 때, 사용자에게 영화를 추천해준다. 
어떤 영화가 서로 비슷한지 판단하기 위해 유사한 영화가 가까이에 있도록 생성된 저차원 공간에 삽입한다. 

1차원 숫자 선으로 영화 정렬 : 영화를 1차원 수직선으로 정렬하여 서로 가장 가까운 영화가 가장 밀접하게 관련되도록 한다.

2차원 공간에서 영화 정렬하기 

  • 임베딩 공간에 매핑하며 각 단어는 2차원 좌표로 표현된다. 
    d차원 임베딩을 학습할 때 각 영화는 한 차원의 좌표를 나타내는 실수 값 d개로 표현된다.
  • 예시에서는 각 측정기준에 이름을 지정했다. 임베딩을 학습할 때 개별 차원은 이름으로 학습하지 않는다. 
    이러한 차원을 잠재 차원이라고 하며, 잠재 차원이 나타내는 특징은 데이터상에 명확하게 드러나는 것이 아니라 유추된다.  
  • 궁극적으로는 특정 차원에서 특정 영화의 값이 아닌 의미 있는 임베딩 공간의 영화 간 거리를 나타낸다. 

 

범주형 입력 데이터

범주형 데이터

  • 유한한 선택 집합에서 하나 이상의 개별 항목을 나타내는 입력 특성 
    ex) 사용자가 시청한 영화 세트, 문서에 사용된 단어 모음 등 
  • 희소 텐서를 통해 효율적으로 표현한다. 
    희소 텐서 : 0이 아닌 요소가 거의 없는 텐서 

각 영화에 고유 ID를 할당하고 시청한 영화의 희소 텐서로 각 사용자를 나타낸다.

  • 행렬의 각 행 : 사용자의 영화 시청 기록 
    각 사용자는 가능한 모든 영화의 일부만 시청하므로 희소텐서로 표현된다.
    마지막 행은 영화 아이콘 위에 표시된 어휘 색인을 사용하여 희소텐서[1,3,99999]에 해당한다.
  • 단어, 문장, 문서도 희소 벡터로 나타낼 수 있으며 어휘의 각 단어는 추천 예시의 영화와 비슷한 역할을 한다. 
  • 머신러닝에서 표현을 사용하려면 각 희소 벡터를 숫자 벡터로 표현해야 한다. > 원-핫 인코딩 사용 

희소 표현을 모델에 학습하기 어려운 이유

  • 네트워크 크기 : 입력데이터가 많은 만큼 가중치도 크다. 가중치가 많으면 많은 계산량이 필요하게 된다. 
  • 벡터 간의 의미 있는 관계 부족 

해결 방법 

  • 큰 희소 벡터를 시맨틱 관계를 보존하는 저차원 공간으로 변환하는 임베딩 사용 

 

저차원 공간으로 변환

  • 벡터 공간의 위치(거리 및 방향)는 좋은 임베딩으로 의미 체계를 인코딩할 수 있다. 
  • 의미 있는 공간은 머신러닝 학습에 도움이 되며 패턴을 감지할 기회를 제공한다. 

국가와 수도 간의 관계와 같은 시멘틱 관계를 캡쳐하는기하학적 관계

 

임베딩 얻는 방법

1. 표준 차원 축소 기법 : 저차원 공간에서 고차원 공간의 중요한 구조를 캡쳐하는 수학적 기법

2. Word2vec 

  • 단어 임베딩 학습을 위한 알고리즘으로, 분포 가설을 사용하여 의미론적으로 유사한 단어를 기하학적으로 가까운 임베딩 벡터에 매핑한다. 
  • 실제로 일치하는 단어 그룹을 무작위로 그룹화된 단어와 구분하도록 신경망을 학습시켜 컨텍스트 정보를 활용한다. 
    입력 레이어는 하나 이상의 문맥 단어와 함께 타겟 단어의 희소 표현을 취한다. 이 입력은 더 작은 단일 히든 레이어에 연결된다. 
  • 알고리즘의 한 버전에서 시스템은 타겟 단어에 임의의 노이즈 단어를 대체하여 부정적인 예를 만든다. 
    다른 버전의 알고리즘에서는 실제 타겟 단어를 무작위로 선택된 컨텍스트 단어와 페어링하여 부정적인 예를 만든다. 
  • 모델 학습이 끝나면 임베딩을 사용하게 된다.
    입력 레이어를 히든 레이어와 연결하는 가중치를 사용하여 단어의 희소 표현을 더 작은 벡터에 매핑할 수 있다.
    임베딩은 다른 분류기에서 재사용할 수 있다.

3. 더 큰 모델의 일부로 임베딩 학습

  •   임베딩을 대상 태스크 신경망의 일부로 사용한다.
  • 희소 데이터가 있는 경우 d 크기의 특수한 숨겨진 단위 유형인 임베딩 단위를 만들 수 있다. 
    이 임베딩 레이어는 다른 특성 및 히든 레이어와 결합할 수 있다. 
    다른 DNN과 마찬가지로 최종 레이어는 최적화 중인 손실이다. 

다른 사용자의 관심분야에서 사용자의 관심분야를 예측하는 것이 목표인 공동작업 필터링을 한다고 가정 - 사용자가 시청한 소수의 영화를 양성 라벨로 무작위로 제외 (또는 홀드)하여 지도 학습 문제로 모델링한 다음 소프트맥스 손실 최적화

  • d차원 임베딩을 학습할 때 각 항목은 d 차원 공간의 한 지점에 매핑되므로 유사한 항목이 이 공간 내에 배치된다.
  • 아래 그림에서 입력 노드와 d차원 임베딩 레이어의 노드 간 에지 가중치는 각 d 축의 좌표 값에 해당한다.

임베딩 레이어 가중치의 기하학적 보기

'Study > PBL' 카테고리의 다른 글

딥러닝 모델 경량화  (0) 2024.07.11
Deep Fake voice recognition  (0) 2024.07.11
Machine Learning 2  (0) 2024.05.27
Machine Learning 1 (~학습 및 테스트 세트)  (0) 2024.05.21
MFCC, STFT  (0) 2024.05.20