본문 바로가기
인공지능과정 이론 수업

생성형 AI Day12_머신러닝 IV / 앙상블 기법, 추천 알고리즘, RL, hyper parameter tuning, ML&윤리

by eun5098 2024. 7. 17.
728x90
<목차>
1. 앙상블 기법
2. 추천 알고리즘
3. 강화 학습
4. 하이퍼 파라미터 튜닝
   1. 그리드 서치
   2. 랜덤 서치
5. 머신러닝과 윤리

 


1. 앙상블 기법

 

앙상블 기법?

: 여러 개의 예측 모델 결합하여 단일 모델보다 더 나은 성능 얻는 방법

 

◈ 앙상블 기법의 목적?

     1. 예측 성능 향상

     2. 과적합 감소

     3. 안정성 향상: 모델의 변동성 줄이고, 예측의 일관성 향상

앙상블 기법의 종류?

     - 배깅(Bagging)

     - 부스팅(Boosting)

     - 스태킹(Stacking)

▒ 배깅(Bagging)

: 여러 모델 병렬적으로 학습, 예측을 평균, 다수결 투표 통해 결정하는 방법

[배깅의 원리]

1. 부트스트랩 샘플링

: 원본 데이터셋에서 중복 허용하여 여러 개의 샘플 무작위로 추출

2. 개별 모델 학습

: 각 부트스트랩 샘플 사용하여 개별 모델 학습

3. 예측 결합

: 모든 모델의 예측 평균내거나, 다수결 투표 통해 최종 예측 결정

[대표 알고리즘]

ex. 랜덤 포레스트

 

▒ 부스팅(Boosting)

: 순차적으로 모델 학습, 이전 모델이 잘못 예측한 샘플에 더 큰 가중치 부여하여 오류 보정하는 방법

[부스팅의 원리]

1. 초기 모델 학습

: 첫 번째 모델 학습

2. 오류 샘플 가중치 증가

: 첫 번째 모델이 잘못 예측한 샘플의 가중치 증가

3. 순차적 모델 학습

: 가중치가 조정된 샘플 사용하여 다음 모델 학습

4. 예측 결합

: 모든 모델의 예측 가중 평균하여 최종 예측

[대표 알고리즘]

ex. AdaBoost, Gradient Boosting, XGBoost

 

▒ 스태킹(Stacking)

: 여러 모델의 예측 결과를 입력으로 사용하여 메타 모델 학습시키는 방법

[스태킹의 원리]

1. 기본 모델 학습

: 여러 개의 기본 모델 학습

2. 메타 모델 학습

: 기본 모델의 예측 결과를 입력으로 사용하여 메타 모델 학습

3. 최종 예측

: 메타 모델의 예측 결과를 최종 예측으로 사용

[대표 알고리즘]

ex. 다층 퍼셉트론(MLP)을 메타 모델로 사용하는 스태킹 방법

 

앙상블 기법 장점 앙상블 기법 단점
1) 예측 성능 향상: 여러 모델의 예측 결합하여 더 높은 정확도
2) 과적합 감소: 다양한 모델의 결과 결합하여 개별 모델의 과적합 방지
3) 안정성 향상: 모델의 변동성 줄이고, 예측의 일관성 향상
1) 복잡성 증가: 여러 모델 학습시키고 결합하는 과정 복잡
2) 해석 어려움: 단일 모델에 비해 해석 어려움
3) 계산 비용: 여러 모델 학습시키야 하기 때문에 계산 비용 증가

 


2. 추천 알고리즘

 

추천 시스템?

: 사용자와 아이템 간의 관계 분석하여 사용자에게 적합한 아이템 추천하는 시스템

 

◈ 추천 시스템의 목적?

     1. 사용자 만족도 향상: 사용자가 선호할 만한 아이템 추천하여 만족도 향상

     2. 판매 증대: 적절한 제품 추천 통해 구매 촉진

     3. 사용자 참여 증대: 맞춤형 콘텐츠 제공하여 사용자 참여 유도

추천 시스템의 종류?

     - 협업 필터링 (Collaborative Filtering)

     - 콘텐츠 기반 필터링 (Content-Based Filtering)

 

▒ 협업 필터링 (Collaborative Filtering)

: 사용자 간의 유사성 또는 아이템 간의 유사성을 이용하여 추천을 수행하는 방법

[협업 필터링 원리]

1. 사용자 기반 협업 필터링 (User-Based Collaborative Filtering)

- 유사한 취향을 가진 사용자들이 선호하는 아이템을 추천

ex. A와 B가 비슷한 영화를 좋아하면, A가 좋아하는 영화를 B에게 추천

2. 아이템 기반 협업 필터링 (Item-Based Collaborative Filtering)

- 유사한 아이템을 선호하는 사용자들에게 그 아이템을 추천

ex. A가 좋아하는 영화와 비슷한 영화를 A에게 추천

장점 단점
1) 개인화된 추천: 사용자의 과거 행동 기반으로 추천
2) 데이터 활용: 대규모 사용자 데이터 활용하여 추천 정확도 향상
1) 콜드 스타트 문제: 신규 사용자, 신규 아이템 정보 부족할 경우 추천 어려움
2) 데이터 희소성 문제: 사용자-아이템 매트릭스 희소할 때 추천의 정확도 저하

 

콘텐츠 기반 필터링 (Content-Based Filtering)

: 아이템의 특징을 분석하여 사용자가 선호할 만한 유사한 아이템을 추천하는 방법

[콘텐츠 기반 필터링의 원리]

1. 아이템 특징 추출

- 각 아이템의 특징(장르, 배우, 저자 등) 추출

ex. 영화의 장르, 출연 배우, 감독 등

2. 사용자 프로필 생성

- 사용자가 선호하는 아이템의 특징 기반 사용자 프로필 생성

ex. 사용자가 좋아하는 영화의 장르와 출연 배우를 분석하여 사용자 프로필 생성

3. 유사한 아이템 추천

- 사용자 프로필과 유사한 특징 가진 아이템 추천

ex. 사용자가 좋아하는 장르의 영화를 추천

장점 단점
1) 콜드 스타트 문제 해결: 용자 또는 아이템의 특징만으로 추천 가능
2) 투명성: 추천 이유 설명 용이
1) 특징 선택의 어려움: 적절한 특징 선택 어려움
2) 다양성 부족: 사용자가 이미 알고 있는 유사한 아이템만 추천할 가능성

 

하이브리드 방법 (Hybrid Methods)

: 협업 필터링과 콘텐츠 기반 필터링 결합(추천 성능을 향상 방법)

[하이브리드 방법의 원리]

1. 결합 방법

- 협업 필터링과 콘텐츠 기반 필터링의 결과 결합하여 최종 추천 생성

ex. 두 방법의 추천 결과를 가중 평균하여 결합

2. 단계적 방법

- 첫 번째 단계에서 협업 필터링 사용, 두 번째 단계에서 콘텐츠 기반 필터링 사용하여 추천

ex. 협업 필터링으로 초기 후보를 선정하고, 콘텐츠 기반 필터링으로 최종 추천

장점 단점
- 성능 향상: 두 방법의 장점 결합하여 추천 성능 극대화
- 유연성: 다양한 방법 조합하여 최적의 추천 시스템 구축 가능
- 복잡성 증가: 여러 방법 결합하여 복잡성 증가
- 구현 어려움: 다양한 방법 효과적으로 결합하기 위한 구현 어려울 가능성

 

[추천 시스템의 주요 구성 요소]

사용자-아이템 매트릭스 특징 벡터 유사도 계산 모델 학습 및 평가
: 사용자와 아이템 간의 상호작용(평점, 클릭 등) 기록한 매트릭스 : 사용자와 아이템의 특징 나타내는 벡터 : 사용자 간 또는 아이템 간의 유사도 계산 방법 : 추천 모델 학습, 성능 평가 방법
  추천 시스템 구성, 목적에 따라 다양한 평가 방법 존재
ex. 영화 평점 매트릭스 ex. 영화 장르, 감독, 출연 배우 등 ex. 코사인 유사도, 피어슨 상관계수 ex. RMSE(Root Mean Squared Error)
MAE(Mean Absolute Error)
Precision, Recall

 

[추천 시스템의 평가 방법]

1. 정확도 (Accuracy)

: 추천 시스템이 얼마나 정확하게 아이템 추천하는지 평가

ex. Precision, Recall, F1 Score

2. 다양성 (Diversity)

: 추천된 아이템이 얼마나 다양한지 평가

ex. 사용자에게 새로운 아이템을 추천할 수 있는 능력

3. 신뢰성 (Trustworthiness)

: 추천된 아이템이 사용자에게 얼마나 신뢰성을 가지는지 평가

ex. 추천된 아이템의 설명 가능성

4. 사용자 만족도 (User Satisfaction)

: 추천 시스템 사용 후 사용자의 만족도 평가

ex. 사용자 피드백, 설문 조사


3. 강화 학습

 

강화 학습?

: 에이전트가 환경과 상호작용, 보상 최대화하는 행동 정책 학습 방법

강화 학습의 목적?

- 주어진 환경에서 최적의 행동 정책 학습하여 누적 보상 최대화

 

 

 

 

Q-learning

: 상태-행동 가치 함수(Q-함수) 학습하여 최적의 정책 찾는 방법

[Q-learning 원리]

1. 초기화

: 모든 상태-행동 쌍의 Q-값 초기화 (보통 0으로 초기화)

2. 에이전트-환경 상호작용

: 에이전트는 현재 상태에서 행동 선택, 환경으로부터 보상과 다음 상태 관찰

3. Q-함수 업데이트

: Q-함수 업데이트

(α는 학습률(Learning Rate), γ할인 인자(Discount Factor))

4. 정책 업데이트

 

: Q-함수가 업데이트된 후, 에이전트는 새로운 정책에 따라 행동 선택

5. 반복

: 위 과정을 에피소드 또는 시간 단계마다 반복하여 Q-함수 수렴

 

[Q-learning의 주요 구성 요소]

학습률 (Learning Rate, α) 할인 인자 (Discount Factor, γ) 탐험과 활용 (Exploration vs. Exploitation)
- Q-값 업데이트의 비율 결정 (0<α≤1)
(학습률이 높을수록 Q-값이 빠르게 업데이트)
- 미래 보상의 현재 가치 결정 (0≤γ≤1)
- 할인 인자가 클수록 미래 보상 더 중요하게 고려
- 탐험(Exploration): 새로운 행동 시도하여 더 많은 정보 얻는 과정
- 활용(Exploitation): 현재 알고 있는 최적의 행동 선택
-ϵ-탐욕정책 ( -greedy policy): 확률ϵ로 탐험하고, 1-ϵ의 확률로 최적의 행동 선택

 

[Q-learning의 장단점]

장점 단점
1) 단순성: 알고리즘 단순, 구현 용이
2) 오프라인 학습: 환경의 모델 필요 없으며, 오프라인으로 학습 가능
3) 보편성: 다양한 강화학습 문제에 적용 가능
1) 큰 상태 공간: 상태 공간이 크면 Q-테이블의 크기가 커져서 메모리와 계산 비용 증가
2) 연속적인 상태 및 행동 공간: Q-learning은 이산적인 상태 및 행동 공간에 적합, 연속적인 공간에서는 비효율적
3) 탐험-활용 균형: 적절한 값 선택 중요

4. 하이퍼 파라미터 튜닝

 

하이퍼 파라미터 (Hyperparameter)?

: 모델 학습 전에 설정하는 값, 학습 과정 중 변경되지 않음

ex. 결정 트리의 최대 깊이, SVM의 커널 종류, 신경망의 학습률

 

하이퍼 파라미터 튜닝 (Hyperparameter Tuning)?

: 머신러닝 모델의 성능 최적화하기 위해 하이퍼 파라미터의 최적값 찾는 과정

 

◈ 하이퍼 파라미터 튜닝의 목적?

- 모델 성능 최적화: 하이퍼 파라미터의 최적값 찾아 모델의 예측 성능 극대화

- 과적합 방지: 적절한 하이퍼 파라미터 설정으로 과적합 방지, 일반화 성능 향상

- 계산 비용 최적화: 효율적인 하이퍼 파라미터 설정으로 모델 학습에 소요되는 시간 절약

◈ 하이퍼 파라미터 튜닝과 모델 성능

- 하이퍼 파라미터 값에 따라 모델의 학습 속도, 성능 크게 달라질 수 있음

- 잘못된 하이퍼 파라미터 설정은 과적합 또는 과소적합 초래

하이퍼 파라미터 튜닝 방법

1. 그리드 서치 (Grid Search)

2. 랜덤 서치 (Random Search)

 

4-1. 그리드 서치

그리드 서치 (Grid Search)

: 하이퍼 파라미터의 가능한 값들 모두 탐색하여 최적의 조합 찾는 방법

[그리드 서치 원리]

1. 하이퍼 파라미터 공간 정의

: 각 하이퍼 파라미터에 대해 탐색할 값들의 범위 정의

2. 조합 탐색

: 가능한 모든 하이퍼 파라미터 조합에 대해 모델 학습, 평가

3. 최적 조합 선택

: 평가 성능 가장 좋은 하이퍼 파라미터 조합 선택

장점 단점
모든 조합을 탐색하므로 최적의 하이퍼 파라미터 찾을 가능성 높음 높음 계산 비용, 많은 시간 소모

 

 

4-2. 랜덤 서치

랜덤 서치 (Random Search)

: 하이퍼 파라미터 공간에서 무작위로 조합 선택하여 탐색하는 방법

[랜덤 서치 원리]

1. 하이퍼 파라미터 공간 정의

: 각 하이퍼 파라미터에 대해 탐색할 값들의 범위 정의

2. 무작위 조합 선택

: 정의된 하이퍼 파라미터 공간에서 무작위로 조합 선택

3. 최적 조합 선택

: 무작위로 선택된 조합들 중에서 평가 성능 가장 좋은 조합 선택

장점 단점
계산 비용이 그리드 서치보다 적고, 빠르게 탐색 가능 무작위 선택이므로 최적의 하이퍼 파라미터 찾지 못할 수도 있음

5. 머신러닝과 윤리

 

1. 공정성

- 특정 그룹이나 개인에게 불공정한 결과 초래하지 않도록 보장

- 다양한 출처에서 데이터 수집하여 데이터 다양성 확보

2. 투명성

- 모델의 의사결정 과정 이해, 설명할 수 있어야함

3. 프라이버시

- 개인의 데이터 보호하고, 무단 사용 방지

- 데이터 비식별화 필요

4. 책임성

- 모델의 결과와 사용에 대한 책임

- 모델의 성능과 윤리적 문제 지속적으로 모니터링, 개선할 수 있는 피드백 메커니즘 마련

 

머신러닝 시스템 설계

    1. 요구사항 명확히 하기

    2. 요구사항을 머신러닝 작업으로 구조화하기

    3. 데이터 준비

    4. 모델 개발

    5. 평가 및 피드백

    6. 배포 및 운영

    7. 모니터링 및 서비스 피드백

 

1. 요구사항 명확히 하기
- 우리 비즈니스의 목표가 무엇인가?
: 비즈니스의 수익상승? 서비스 이용자의 상승?
- 데이터 상태는 어떤가?
: 데이터소스? 데이터의 크기? 라벨 유무?
- 가용가능한 리소스는 얼마나 되나?
: 클라우드 환경? 모바일 환경? GPU 리소스 유무?
- 시스템의 규모는 얼마나 되나?
: 서비스 이용자 수? 입 출력 컨텐츠 종류? 컨텐츠 크기?
- 기대하는 성능은?
: 목표 정확도? 실시간 서비스?

2. 요구사항을 머신러닝 작업으로 구조화하기
- 머신러닝 목표 정의
: 비즈니스 목표와 연관지어 머신러닝의 목표 정의, 비즈니스 목표 이끌어 낼수 있는 것
- 시스템의 입출력 지정
: 이 목표를 수행하는 머신러닝 시스템의 입력, 출력값 지정
- 적절한 머신러닝 선택
: 학습 유형, 모델 유형

3. 데이터 준비
- 데이터 소스
: 누가 제공하는 데이터인가? 신뢰할 만한가?
  어떻게 만들어졌나? 라벨링은 어떻게 처리?
- 데이터 저장소
: RDBMS, NoSQL
- 데이터 유형
: 텍스트? 정형데이터?
- 데이터 전처리
: 결측치 처리, 이상치 처리, 스케일링?

4. 모델 개발
- 간단한 모델부터 시작
: 빠르게 개발, 테스트 가능한 모델
- 점차 복잡한 모델로 전환
: 복잡도가 높은 모델, 하이퍼 파라미터 조정
- 원한다면 여러 모델 조합
: 앙상블

5. 평가 및 피드백
- 오프라인 평가
: confusion matrix, MSE
- 온라인 평가
: 클릭율, 체류시간 등
- 피드백
: 파라미터 조정 등

6. 배포 및 운영
- 클라우드? 온디바이스?
: 배포위치, 서비스 제공 방법
- 모델 압축
: 지식증류, 가지치기, 양자화

7. 모니터링 및 서비스 피드백
- 운영환경에서 테스트
: 셰도배포, A/B테스트
- 예측값 파이프라인 구성
: 배치예측, 온라인 예측
- 모니터링 대상
: 운영서버(평균 서빙시간, 처리량, CPU/GPU사용률),
  머신러닝관련(입출력 데이터 모니터링, 정확도)