목차
1. 강의정리
1-1. AI Math - chap7. 통계학 맛보기
1-2. AI Math - chap8. 베이즈 통계학 맛보기
2. 과제
2-1. GradientDescent
3. 피어세션 (+피어세션이 피었습니다) 정리
4. 데일리 회고
📜 강의 정리
[AI Math] Chapter7. 통계학 맛보기
통계적 모델링은 적절한 가장 위에서 확률분포를 추정하는 것이 목표인데, 유한한 개수의 데이터만 관찰해서 모집단의 분포를 정확하게 알아내는 것은 불가능하므로 근사적으로 확률분포를 추정할 수 밖에 없다.
예측모형의 목적은 분포를 정확하게 맞추는 것보다는 데이터와 추정 방법의 불확실성을 고려해서 위험을 최소화
- 모수
- 정의 : 특정 모집단 특성(예: 평균)에 대한 정보를 확인하려는 경우, 일반적으로 전체 모집단을 측정하는 것이 불가능하기 때문에 해당 모집단에서 랜덤 표본을 추출합니다. 이 표본을 사용하여 해당하는 표본 특성을 계산하며, 이 표본 특성이 알 수 없는 모집단 특성에 대한 정보를 요약하는 데 사용됩니다. 관심의 대상이 되는 모집단 특성을 모수라고 하며 해당하는 표본 특성을 표본 통계량 또는 모수 추정치라고 합니다. (출처 : https://support.minitab.com/ko-kr/minitab/18/help-and-how-to/statistics/basic-statistics/supporting-topics/data-concepts/what-are-parameters-parameter-estimates-and-sampling-distributions/ )
- 모수적(parametric) 방법론 : 데이터가 특정 확률분포를 따른다고 선험적으로 가정한 후 그 분포를 결정하는 모수를 추정하는 방법
- 비모수(nonparametric) 방법론 : 특정 확률분포를 가정하지 않고 데이터에 따라 모델의 구조 및 모수의 개수가 유연하게 바뀌는 방법. 기계학습의 많은 방법론이 여기에 속함. 비모수 방법론은 모수를 사용하지 않는게 아니라 모수가 바뀌거나 무수히 많은 경우.
- 정규분포의 모수 : 평균, 분산
- 확률분포 가정
- 확률분포 가정 방법 : 우선 히스토그램을 통해 모양을 관찰
- 데이터가 2개의 값(0 또는 1)만 가지는 경우 → 베르누이분포
- 데이터가 n개의 이산적인 값을 가지는 경우 → 카테고리분포
- 데이터가 [0,1] 사이에서 값을 가지는 경우 → 베타분포
- 데이터가 0 이상의 값을 가지는 경우 → 감마분포, 로그정규분포 등
- 데이터가 R(실수) 전체에서 값을 가지는 경우 → 정규분포, 라플라스분포 등
- 기계적으로 확률분포를 가정해서는 안 되며, 데이터를 생성하는 원리 먼저 고려
- 각 분포마다 검정하는 방법들이 있으므로 모수를 추정한 후에는 반드시 검정
- 확률분포 가정 방법 : 우선 히스토그램을 통해 모양을 관찰
- 데이터의 모수를 추정
- 데이터의 확률분포를 가정한 후 모수 추정
- 정규분포의 경우 모수는 평균 μ 과 분산 σ² 이고, 이를 추정하는 통계량은 아래와 같다
- 통계량(모수 추정치, 표본평균과 표본분산)의 확률분포는 표집분포(sampling distribution)라 부르며, 특히 표본평균의 표집분포는 N이 커질수록 정규분포 N(μ, σ²/N)를 따른다. 중심극한정리(Central Limit Theorem)이라 부르며, 모집단의 분포가 정규분포를 따르지 않아도 성립한다.
- 표집분포(sampling distribution)과 표본분표(sample distribution) 구분
- 중심극한정리 개념 : 모집단의 분포가 정규분포를 따르지 않아도, 표본평균의 확률분포는 정규분포를 따름. 주의 할 것은 표본분표의 확률분포가 정규분포 따르는 것 아님(용어 주의)
- 원래 확률분포는 이항분포이고, 이항분포의 표본분포는 정규분포가 될 수 없지만, 이항분포에서 추출한 통계량(표본평균)의 확률분포는 정규분포로 가고 이를 중심극한정리라고 한다.
- 최대가능도 추정법 - Maximum likelihood estimation, MLE
- 표본평균이나 표본분산은 중요한 통계량이지만 확률분포마다 사용하는 모수가 다르므로 적절한 통계량이 달라지게 된다.
- 이론적으로 가장 가능성이 높은 모수를 추정하는 방법 중 하나는 최대가능도 추정법(MLE)
- 가능도 함수 L(θ;x) 는 모수 θ를 따르는 분포가 x를 관찰할 가능성을 뜻하지만 확률로 해석하면 안됨! 데이터 X가 주어진 상황에서 θ(변수)를 변형시킴에 따라 값이 바뀌는 함수. θ에 대한 대소비교가 가능하도록 하는 함수로 이해
- 데이터 X가 독립적으로 추출되었을 경우 곱을 사용할 수 있고, 이에 로그함수를 적용하여 로그 가능도를 최적화
- 로그 가능도 함수 사용 이유
- 데이터의 숫자가 많아지면 컴퓨터의 정확도로는 가능도를 계산하는 것은 불가능
- 데이터 독립일 경우, 로그를 사용하면 곱셈을 로그성질에 의해 덧셈으로 바꿀 수 있어서 컴퓨터 연산 가능
- 경사하강법에서 가능도를 최적화할 때 미분 연산을 사용하게 되는데, 로그가능도를 사용하면 연산량을 O(n²)에서 O(n)으로 줄여줌
- 대게의 손실함수의 경우 경사하강법을 사용하므로 음의 로그가능도를 최적화
- 최대가능도 추정법 예제 1: 정규분포를 따르는 X로부터 독립적인 표본 {x1, x2, ..., x_n}을 얻었을 때 최대가능도 추정법으로 모수(평균과 분산) 구하기
- 최대가능도 추정법 예제 2 : 카테고리 분류 Multinoulli(x; p1, …, p_d)를 따르는 확률변수 X로부터 독립적인 표본 {x1, …, x_n}을 얻었을 때 최대가능도 추정법을 이용하여 모수를 추정
- 카테고리분포 : 0 또는 1 값만 가지는 K개 베르누이 분포 벡터를 가지는 다변수 확률 분포(다변수 확률 변수의 각 원소 중 하나만 1이 될 수 있다). K개의 값 중 하나가 나오는 확률 변수의 분포(ex. 주사위)
- 카테고리분포 모수의 제약식 :
- 카테고리분포에서의 모수 : 정규분포는 분산과 평균이 모수였는데, 카테고리분포의 경우 각 차원(1~d)에서 어떤 값이 0 또는 1이 될 확률을 의미한다.
- 카테고리분포의 likelihood 함수
- 라그랑주승수법으로 위의 식 풀기
- 딥러닝에서 최대가능도 추정법
- 최대가능도 추정법을 이용해서 기계학습 모델을 학습할 수 있다
- 딥러닝 모델의 가중치 θ = (W(1), …, W(L))라 표기했을 때 분류 문제에서 소프트맥스 벡터는 카테고리분포의 모수(p1, …, p_k)를 모델링
- 원핫벡터로 표현한 정답레이블 y = (y1, …, y_k)을 관찰데이터로 이용해 확률분포인 소프트맥스 벡터의 로그가능도를 최적화
- 확률분포의 거리 구하기
- 기계학습에서 사용되는 손실함수들은 모델이 학습하는 확률분포와 데이터에서 관찰되는 확률분포의 거리를 통해 유도
- 두 확률분포 사이의 거리 계산 함수
- 총변동 거리(Total Variation Distance, TV)
- 쿨백-라이블러 발산(Kullback-Leibler Divergence, KL)
- 바슈타인 거리(Wasserstein Distance)
- 쿨백-라이블러 발산
- 분류 문제에서 정답레이블을 P, 모델 예측을 Q라 두면 최대가능도 추정법은 쿨백-라이블러 발산을 최소화하는 것과 같다
예제에 해당하는 뒷 부분 강의 다시 보고 참고 자료 찾아보면서 추가 공부 필요
👩💻 과제 수행 과정
[선택과제] 1. Gradient Descent
경사하강법은 x - f'(x) 가 기본식이다. 그래디언트를 구하고 미분값이 0에 가까워질 때까지 x 값에 그래디언트를 반영해주면 된다. 그래디언트를 구하는 방법은 두가지가 있는데, 하나는 도함수에 값을 대입하는 것이고, 다른 하나는 미분 정의에 h값을 0에 가까운 수를 대입 하는 것이다. 간단한 도함수 구하는 것까지 했고 이 뒤로는 linear regession 과 조금 더 복잡한 함수들이 나왔는데 할 수 있는 것가지만 완료했다.
방법 1. 도함수
# 식 미분
diff = sym.diff(f, x)
# 값 대입
diff.subs(x, val), diff
방법 2. 미분 정의
# h에 1e-9 대입
result = (f(x+h) - f(x)) / h
🙋♀️피어세션
1. 강의 질문
- 6강 15p 조건부기대값을 최소화하는 것에 대해
- 경사하강법 매운맛에서 X@beta 에서 @의 의미에 대해
- CNN에서 영상처리 Convolution 커널에 대해
- 최대가능도 의미와 소프트맥스와의 관계에 대해
- 확률과 가능도의 차이(further question)
2. 오늘 함께 선택과제 풀 계획이었는데, 강의와 필수과제에 대한 질문이 많아서 시간이 부족했다
- 선택과제는 금요일 피어세션 시간에 함께 풀어보기로 했다.
🌼 피어세션이 피었습니다
조별로 캠퍼와 피어세션 소개를 하고, 다른 조의 팀원과 랜덤하게 소회의실에서 이야기를 나누는 시간을 가졌다.
다른 조에서는 피어세션 시간에 한 명이 오늘 들은 강의를 리뷰하고 정리하며, 다른 팀원들이 정리 자료에 내용을 추가하는 것이 좋아보였다. 다른 조를 참고하여 우리조는 피어세션 시간에 무엇을 더 할 수 있을지 살펴보는 시간이었다.
소회의실에서 다른 팀원들과 10분 동안 이야기를 나누게 되었는데, 알차고 활기찼다. 10분이라는 시간이 너무 짧게 느껴졌고 마지막 1분 카운트다운이 시작되었을 때는 다들 빠르게 말하기 시작하며 단톡 파자고 약속 하는 모습이 재미있었다. 결국 그 날 한 캠퍼님이 슬랙에 단톡을 파주셔서 서로 질문하는 시간을 더 가질 수 있었다.
250명의 많은 캠퍼분들을 모두 알아 갈 수는 없겠지만, 운이 좋게 만나게 된 캠퍼님들과의 인연을 소중하게 생각하며 앞으로도 좋은 관계를 이어가고 싶다👩🏻🤝👩🏻
💌 데일리 회고
오늘은 강의를 많이 듣지 못했다. 확률과 통계에 어려움을 느끼고 새로운 용어마다 구글링을 하며 이해를 하느라 힘들었다. 오늘 밀린 강의는 목요일과 금요일에 나눠서 들어야겠다. MLE에 대해서 감이 안 잡혀서 강의 정리를 하는 것도 어려웠고, 피어세션 시간에 질문을 하기도 어려웠다. 이 부분은 다른 참고자료를 더 찾아보며 공부를 해야 할 것 같다
피어세션이 피었습니다 시간에 각자 자기소개를 1~2줄로 한 것을 봤는데, 다들 열정이 넘쳐서 좋아보였다. 그 중에 모두가 원하는 사람이 되고 싶다는 말을 봤는데, 정말 공감이 됐다. 인간관계에 해당하는 의미였을 수도 있지만, 나는 취업 시장에 접목하게 되었다. 유능한 개발자로 성장해서 많은 회사가 탐내는 인재가 되고 싶다💎
'TIL > Boostcamp AI tech' 카테고리의 다른 글
[Boostcamp] Week2 - Day6. Neural network :: seoftware (0) | 2021.08.09 |
---|---|
[Boostcamp] Week1 - Day5. 하루 정리 :: seoftware (0) | 2021.08.06 |
[Boostcamp] Week1 - Day4. 하루 정리 :: seoftware (0) | 2021.08.05 |
[Boostcamp] Week1 - Day2. 하루 정리 :: seoftware (0) | 2021.08.05 |
[Boostcamp] Week 1 - Day 1. 하루 정리 :: seoftware (0) | 2021.08.03 |
댓글