AI & Data를 활용하는 기술경영자

CS스터디 1주차 질문 본문

Statistics_Math

CS스터디 1주차 질문

Data_Lover 2022. 4. 24. 15:43
728x90

기간:2022.04.19 ~ 2022.04.26

 

Question 1: 고유값(eigen value)와 고유벡터(eigen vector)이 무엇이고 왜 중요한지 설명해주세요.

 

고유값, 고유 벡터에서 "벡터의 평행" 과 "선형변환"이라는 단어가 자주 나옵니다. 그래서 고유값과 고유벡터를 이야기하기 전에 벡터의 평행과 선형 변환에 대한 정의를 잡고 가겠습니다.

 

벡터의 평행: 영벡터가 아닌 두 벡터 가 같은 방향이거나 반대 방향일 때, 와 는 서로 평행하다고합니다.

 

선형변환: 벡터에서 사칙연산을 하는 개념으로, 이를 통해서 위치나 방향이 바뀌게 되는 것을 의미합니다.

 

이제 고유벡터와 값에 대한 설명을 드리겠습니다.

정방행렬 A에 벡터 x를 곱하면 기존의 방향과 평행하지 않은 벡터가 생성이 됩니다. 그러나 고유벡터는 특이하게도 Ax의 벡터의 방향이 평행한 것을 말합니다.

 

추가적으로, 방향은 평행할지라도 크기는 같을 수도 다를 수도 있겠죠? 그것이 바로 람다인 고유값을 의미합니다.

 

개인적 질문) 왜 다른 벡터들보다 잘 나오지 않는 고유값, 고유벡터가 중요한가?

 

그 이유를 세 가지를 통해서 말씀드리겠습니다.

()의 내용은 뒤에 더 자세히 나눌 것입니다.

 

첫번째, 행렬의 제곱을 빠른 속도로 가능하게 하여 시간복잡도를 줄입니다.(고유값 분해의 활용)

두번째, 이미지 압축, 평점을 통해서 유저 찾기(특이값 분해의 활용)

세번째, 데이터 차원 축소 시 원래 의미릴 가장 잘 보존하게 해준다.(PCA의 활용)

 

Question 2: 샘플링(Sampling)과 리샘플링(Resampling)이 무엇이고 리샘플링의 장점을 말씀해주세요.

 

확률에 관한 이야기이기에 모집단, 추정치, sample에 대한 개념들이 나올 것이기에 간단한 정의를 하고 샘플링과 리샘플링을 설명하겠습니다.

 

모집단:정보를 얻고자 하는 대상이 되는 집단 전체를 말한다

 

추정치: 모집단이 띄고있는 성질에 대한 관측값

 

Sample:우리가 익히 하는 원본과 유사한 제품 혹은 그 자체를 말합니다.

 

샘플링(Sampling)은 모집단 전체에 대한 조사를 하는 것은 시간과 돈이 많이 들기에 모집단 전체에서 임의의 sample을 뽑아서 모집단에 대한 추론을 하는 방법이지만, 모집단의 그 자체는 아니기에 놓친 부분이 생길 것입니다. 그러므로, noise가 존재한다는 사실은 갖고 가야한다. 즉, 나는 부모의 자식이기에 유전적으로 유사한 점을 갖고 있지만 부모 자체는 아닌 것과 같다.

 

리샘플링(Resampling)은 모집단에서 뽑은 샘플에서 다시 샘플의 부분집합을 뽑은 후에 여러 번  사용해서 성능을 측정하는 것입니다.

 

이 방식을 사용하는 것은 모집단의 분포가 어떻게 된 상태인지 몰라서 새롭게 샘플의 부분집합을 이용하여 비슷할 것 같은 분포를 만드는 방법입니다.

 

장점은 원래 데이터셋을 복원하려는 과정이 있기에 모집단의 분포를 가정하는 스트레스를 받지 않고 표본만으로  추론이 가능합니다.

 

개인적인 질문) 리샘플링의 예시는 무엇인가요?

 

리샘플링 예시로는 K-fold 교차검증, 부트스트래핑이 있습니다. 이 두 가지 훈련 데이터/테스트 데이터의 활용 및 설정에 유용하게 쓰입니다.

 

간단하게 설명드리면, K-fold는 k-1개의 부분집합은 훈련세트로 사용하고 나머지는 하나의 부분집합으로 테스트 데이터를 사용하는 것입니다.

 

부트스트래핑은 m개의 샘플이 있는 데이터 세트 D가 있고, 샘플링을 통해서 D'를 만듭니다.

그리고, D ->sample ->D'복사->D 위의 과정을 m번 반복하여 m개의 샘플이 들어있는D'만드는 과정입니다.

 

재미있는 건, D의 샘플이 D'으로 들어갈 확률이 약 65%정도 밖에 되지 않아서 D'을 훈련데이터 D-D'를 테스트 데이터를 사용하는 Out of Bag테스트를 활용합니다. 즉, D'의 데이터만 사용하지 않습니다.

 

Question 3: 확률 모형과 확률 변수는 무엇인가요?

 

확률 변수는 시행의 결과에 따라 값이 결정되는 변수로 특정 확률로 발생하는 각각의 결과를 수치적 값으로 표현합니다.

쉽게 말하면, 결과값이다.라고 정의할 수 있습니다.

 

확률 변수의 종류로는 1,2,3 처럼 셀 수 있다면 이산확률변수이고 구간으로 정의해야하면 연속확률변수입니다.

 

확률 모형은 집합의 벤다이그램처럼 수집 및 관측된 데이터의 발생확률이나 분포를 나타내는 모형입니다.

 

주로, 확률 분포 함수(대표적으로 가우시안 정규분포) 혹은 확률 밀도 함수를 사용합니다.

이때, 함수의 계수를 분포의 모수라고 합니다.

 

개인적인 질문) 모수란? 모집단의 특성을 나타내는 수치 혹은 값을 말합니다.

 

확률 분포함수는 확률변수의 값 혹은 영역에 대해 확률로 표현이 된 것을 말하고 대표적으로 가우시안 정규분포가 있습니다.

 

Question 4: 누적 분포 함수와 확률 밀도 함수는 무엇인가요?

누적 분포 함수는 주어진 확률 변수가 특정한 값보다 작거나 같은 확률을 나타내는 함수입니다.

사건에서 구간 하나를 정의할 때 숫자가 하나로만 구간을 정의하면 편하지 않을까?라는 질문에서 출발해서 나오게 된 개념이기에 시작점은 갖고 끝점만 다릅니다.

 

예시,  동전 던지기, 로지스틱 회귀 함수

수식 정의

 

코드정의

t = np.linspace(-100, 500, 100)
F = t / 360
F[t < 0] = 0
F[t > 360] = 1
plt.plot(t, F)
plt.ylim(-0.1, 1.1)
plt.xticks([0, 180, 360])
plt.title("누적분포함수")
plt.xlabel("$x$ (도)")
plt.ylabel("$F(x)$")
plt.show()

 

 

확률 밀도 함수는 확률 변수의 분포를 나타내는 함수입니다.

등장 배경은 누적 분포 함수가 음수부터 시작을 하기에 분포의 형상을 직관적으로 보기 어려웠습니다. 그래서 어떤 확률 변수가 자주 나오는지 정보를 알기 위해서 생긴 것이 이 함수입니다. 

 

그래서, 전체 구간 중 특정 구간을 나눠서 그 확률만 보는 개념인 확률 밀도 함수가 등장하게 된 것입니다.

 

확률 밀도 함수는 적분을 통해서 값이 도출되는데 이 값은 확률 값이 아닌, 특정 값이 이 구간에 있을 거라는 분포도의 값이라는 것을 명시해야합니다.

 

수식 정의

코드 정의

t = np.linspace(-100, 500, 1000)
F = t / 360
F[t < 0] = 0
F[t > 360] = 1
p = np.gradient(F, 600/1000)  # 수치미분
plt.plot(t, p)
plt.ylim(-0.0001, p.max()*1.1)
plt.xticks([0, 180, 360])
plt.title("확률밀도함수")
plt.xlabel("$x$ (도)")
plt.ylabel("$p(x)$")
plt.show()

개인적인 질문) 왜 누적 분포 함수와 확률 밀도 함수는 미적분 관계인가 

 

Question 5:조건부 확률은 무엇인가요?

조건부 확률의 정의는 다소 이해가 안 될 수 있기에 벤다이어그램과 함께 설명하겠습니다.

보통 확률은 원하는 부분/전체이지만 조건부 확률은 아래의 사진과 같습니다.

이러한 이유로 조건부 확률의 정의는 어떤 사건이 일어나는 경우에 다른 사건이 일어날 확률입니다.

수식

개인적인 질문) 조건부 확률과 베이즈 정리의 유사성

 

참고사이트:공돌이

 

베이즈 정리는 데이터라는 조건이 주어졌을 때의 조건부 확률을 구하는 공식으로 이 정리를 쓰면 데이터가 주어지기 전의 확률 값을 알게 되어서 변화도를 계산할 수 있습니다.

 

그래서, 예측된 사전확률값 + 새로 수집한 데이터를 통해서 최종 결과에 반영하는 프로세스로 데이터의 개수가 부족한 경우에도 유용합니다.

 

게다가, 데이터를 매일 추가적으로 얻는 상황에서 분류작업없이 어제 분석결과과 들어온 데이터 합쳐서 업데이트만 하면 되는 프로세스 간소화 또한 가능합니다.

 

공식

728x90

'Statistics_Math' 카테고리의 다른 글

가설검증  (0) 2022.05.22
CS스터디 3주차 질문  (0) 2022.05.07
CS스터디 2주차 질문  (0) 2022.05.02