Upstage AI Lab 6기

프로젝트 수행을 위한 이론 1:Statistic 후기

jyun34 2024. 12. 3. 11:44

statistics란 통계학을 의미한다.

AI를 다루는데 왜 통계학을 배울까?

그건 AI를 다루는데에 있어서 사람이 데이터를 만져야하는 전처리 과정은 필수로 존재하는데,  그 전처리 과정에서 데이터가 올바른지 검증해서 잘못된 데이터를 넣지 않기 위해서이다.

 

간단하게 한 시골마을에 [28, 29, 60, 70, 70, 80]의 나이를 가진 사람들이 있을 때 이 마을의 평균 나이는 56세이다. 50대의 사람이 전혀 없는데 이 마을을 50대의 마을이라 하는 것은 얼토당토않는 이야기인 것이다.

이 밖에도 옛날엔 소아병 발병시기와 아이스크림 소비량이 여름에 같이 증가해서 아이스크림을 덜 먹으면 소아병이 발병하지 않을 거라는 말도 안되는 말도 있었다고 한다.

 

이번 통계학을 시작할 땐 기초지식으로 중, 고등학생 때 배우는 확률과 통계의 내용을 배웠다. 순열, 조합, 조건부 확률 등등.

그 이후엔 변수, 모집단, 표본, 확률분포, 정규분포, 신뢰구간, 귀무가설, 대립가설, t검정 등 대학 때부터 배우는 수학 전공생이 아니면 생소한 개념이 나온다. 특히 딥러닝 분야는 수학이 많이 나오다보니 수학 전공생들이 많이 있다고 한다.

 

이 다음 학습내용으로는 내가 몰랐던 내용을 위주로 정리하고자 한다.

3일동안 9시간씩 진행한 내용으로 진짜 많은 내용이 있지만 중요하다고 생각되는 부분만 정리하도록 한다.

 

 

변수란?

독립변수: 다른 변수에 영향을 주는 변수.

종속변수: 영향을 받는 변수, 독립변수에 의해 변화되는 변수.

 

예시: 농사를 지을 때 햇빛, 물(독립변수)와 수확량(종속변수)의 관계.

 

질적변수: 분류를 위한 용어로 정의되는 변수

비서열 질적변수: 서열이 정해질 수 없는 변수 (성별, 인종, 학력)

서열 질적변수: 서열적으로 구분할 수 있는 변수 (초졸, 중졸, 고졸)

 

양적변수: 양의 크기를 나타내기 위해 수량으로 표시되는 변수

연속변수: 주어진 범위 내에 어떤 값도 가질 수 있는 변수 (체중, 나이, 키)

비연속변수: 특정 수치만을 가질 수 있는 변수 (IQ, 가족구성원 수)

 

 

변수로 이뤄진 데이터를 성격에 따라 다음과 같이 구분할 수 있다.

 

범주형 척도: 데이터들을 구분지어 나눌 수 있는 척도.

명목척도: 수나 순서와 관계없이 이름만 붙여진 척도 (남/여,서울/세종/부산/대구/인천/광주/대전/울산)

서열척도: 숫자나 연산과는 관련없으나, 순서(서열)를 구분할 수 있는 척도 (1등, 2등, 3등)

 

연속형 척도: 연속하는 속성의 데이터를 연구나 조사의 목적에 맞게 구분한 척도

등간척도: 측정한 자료들을 대상으로 학ㅂ과 차가 가능한 척도 (온도, 수학 점수)

비율척도: 등간척도의 성질과 함께 '없다'의 개념인 0값도 가지는 척도 (길이)

 

 

 

모집단: 통계적 연구대상이 되는 전체 집합 (대한민국 국민 전체, 유튜브 회원 전체)

모수: 모집단을 분석하여 알아낸 결과수치, 모집단의 특성값 (모평균: μ, 모분산: σ^2, 모표준편차: σ)

 

표본: 과학적인 방법으로 모집단을 대표할 수 있는 일부를 추출하여 선택한 모집단의 일부

통계량: 표본을 분석하여 알아낸 결과수치 (표본평균: x, 표본분산: s^2, 표본표준편차: s) 

 

기술통계량: 통계량을 기술통계량이라고 한다. 기술하고자 하는 대상은 표본이며, 표본이 모집단에 대한 대표성을 가지고 있음을 설명한다.

표본의 중심을 설명하는 것이기에 대표값이라고 하며 중심경향도라고 부리기도 한다.

 

중심경향도의 예시: 평균, 중앙값, 최빈값

평균: 데이터의 모든 값을 합쳐, 데이터 개수만큼 나눈 값. 데이터의 중심값을 계산하기에 가장 흔한 방법으로 데이터가 대칭적일 때는 중앙값과 비슷하게 나오지만, 극단적으로 값이 낮거나 높은 이상치에 영향을 많이 받는다. 산술평균, 가중평균, 기하평균, 조화평균 등 다양하게 있다.

중앙값: 주어진 데이터를 정렬했을 때 가장 중앙에 위치한 값

최빈값: 데이터에서 가장 많이 나오는 값. 평균값으로 설명하기 어려울 때 잘 언급되는 값

([28, 29, 60, 70, 70, 80]의 나이를 가진 사람들이 있을 때 최빈값은 70이다.)

 

모분산: 표본의 분포 특성을 잘 드러내지 못하는 평균의 단점을 해소하기 위해 평균과 각 표본들이 얼마나 떨어져 있는지를 측정한 차이(편차)를 확인함.

표본분산: 모집단을 기준으로 하지 않고, 표본을 선정하여 표본의 개수를 (n-1)로 계산한 분산을 표본분산이라 하며, (n-1)을 자유도라고 부른다.

(자유도: 통계학에서 데이터를 분석할 때 독립적으로 변할 수 있는 값들의 수, n에서 1을 빼는 이유는 표본 평균을 계산할 때, 이미 하나의 제약조건을 사용하기 때문이다.)

 

 

정규분포: 통계학에서 가장 널리 사용되는 확률분포 중 하나로, 연속형 확률변수가 특정한 패턴을 따르는 분포를 의미.

연속형 확률변수: 특정 구간 내의 모든 실수 값을 가질 수 있는 변수

 

표본의 특성을 구체적으로 살펴보기 위해서는 표본이 최댓값이나 최솟값에 몰려 있는 정도를 파악해야하며 이를 비대칭도로 확인한다.

 

왜도: 분포의 비대칭도를 나타내는 통계량. 비대칭이 커질수록 왜도의 절대값은 증가하며 일반적으로 왜도가 -1~+1 범위는 치우침이 없는 데이터라고 한다.

첨도: 꼬리 부분의 길이가 뾰족함으로 데이터의 분포를 알 수있다.

 

 

 

뉴스에서 통계를 보면 히스토그램, 원그래프 등 다양하게 있다. 이런 것을 다루기 위해 우리는 파이썬의 pandas와 matplotlib, seaborn 등을 사용한다.

그 중 생소하고 어렵게 느껴질 부분은 상자수염그림이다.

상자수염그림: 데이터 분포와 중심 경향을 시각적으로 나타내는 통계학적 도구.

사분위수: 값을 같은 갯수로 4개로 나눈 각각의 값, describe() 함수로 봤을 때 나오는 25, 50, 75, 100의 내용으로 보면 된다.

1사분위(Q1): 누적백분율 25%

2사분위(Q2): 누적백분율 50%, Median(중앙값)

3사분위(Q3): 누적백분율 75%

4사분위: 누적백분율 100%

IQR: Q3 - Q1

Minimum: Q1 - 1.5*IQR

Maximum: Q3 - 1.5*IQR

Outliers: Minimum보다 작고 Maximum보다 큰 값. 관측된 데이터 범위에서 많이 벗어날 정도로 작은 값, 큰 값을 의미한다.

 

 

 

추리 통계: 분석된 자료를 근거로 모집단의 특성을 추론하는 것이 목적 (점추정, 구간추정, 가설, 검정 통계량 등)

점추정: 모수를 어떤 특정 수치로 표현하는 것  (정확하게 90점으로 표현)

 

추정량: 표본으로부터 관찰된 값을 토대로 특정 모수를 추정하기 위한 함수 또는 공식을 의미. (표본평균을 구하는 공식)

추정치: 추정량을 사용해 실제 표본 데이터에서 계산된 값을 의미함.  (특정 표본 데이터를 이용해 계산한 평균값)

 

바람직한 점추정량 조건

1. 평균 제곱 오차(MSE): 평균 제곱 오차가 최소화되어야 한다.

2. 일치성: 표본의 크기가 모집단의 규모에 근접해야한다.

3. 불편성: 추정량의 기댓값이 모수와 같아야한다.

 

 

구간추정: 모수를 최소값과 최대값의 범위로 표현하는 것  (80~90점으로 표현)

 

신뢰구간: 그 구간 안에 모수가 포함될 확률을 나타냄

모평균(µ)을 추정할 때, 표본 평균을 x바, 표준오차를 SE라 한다.

 

 

가설: 주어진 사실이나 연구나 조사하고자 하는 사실이 어떠할 것인지를 주장하거나 추측하는 것

귀무가설: 입증하고자 하는 가설로, 일반적으로 믿어온 사실을 가설로 설정한 것. 이 때의 표현은 '~와 차이가 없다', '~의 효과는 없다', '~와 같다'가 되어야 한다. 영가설이라고도 하며, H0로 표기함

대립가설: 귀무가설과 반대되는 가설로 연구의 목적이 된다.  이 때의 표현은 '~와 차이가 있다', '~의 효과는 있다', '~와 다르다'가 되어야 한다. 연구가설이라고도 하며, H1로 표기함

 

오류: 연구자나 조사자가 범할 수 있는 오류이다. 실제로도 많은 사람들이 범하는 오류.

1종오류: 귀무가설이 참임에도 불구하고, 귀무가설을 기각하는 오류. 실제로 효과가 없는데 효과가 있다고 하는 것.

2종오류: 대립가설이 참임에도 불구하고, 대립가설을 기각하는 오류. 실제로 효과가 있는데 효과가 없다고 하는 것.

 

유의수준: 귀무가설이 참일 때, 이를 잘못 기각할 확률을 유의수준이라고 한다.  α로 표기된다.

유의확률: p-value라고 하며, 귀무가설을 기각할 수 있는 최소한의 확률을 의미한다. 유의확률이 유의수준보다 높으면 귀무가설을 채택하고, 낮으면 기각한다.

 

유의수준은 일반적으로 0.05(통상), 0.01, 0.001(정밀함이 필요한 경우, ex: 의학)을 기준으로 한다.

p-value >= 0.5일 경우 귀무가설을 채택

p-value < 0.5일 경우 대립가설을 채택

 

단측검정: 귀무가설의 기각역이 한쪽 끝에 있는 검정.

 

양측검정: 귀무가설의 기각역이 양쪽 끝에 있는 검정

 

기본적으로 양측검정이 단측검정보다 위험도가 낮고, 프로그래밍 단계의 scipy 라이브러리에선 양측검정의 p-value가 기본으로 나옴.

 

 

 

z분포: 표본의 개수가 충분히 많을 때, 표준화 과정을 통해 만들어진 정규분포를 z분포라고 한다.

t분포: 표본이 적은 경우 t분포를 사용한다. 표본이 충분하지 않기 때문에 정규분포를 이루지 못할 가능성이 크고 모분산을 알지 못 할 수 있다.

 

등분산: 2개의 모집단에서 추출된 각 표본 간의 분산이 같음

이분산: 2개의 모집단에서 추출된 각 표본 간의 분산이 다름

 

 

단일표본 t검정: 모집단의 분산을 알지 못할 때 모집단에서 추출된 표본의 평균과 조사자가 이론적 배경이나 경험적 배경에 의해서 설정된 특정한 수를 비교하는 방법

 

두 종속표본 t검정: 각기 다른 두 모집단의 속성인 평균을 비교하기 위해, 두 모집단에서 표본들을 추출하여 표본의 평균들을 비교함으로써 모집단의 평균을 비교하는 방법. 이 때 각기 다른 모집단으로부터 추출된 두 표본은 서로 독립적인 것이 아니라 어떤 관계가 있는 종속적인 것이어야 한다. (신약 투약 전과 후의 효과. 광고 전과 후의 매출 효과)

 

독립표본 t검정: 각기 다른 두 모집단의 속성인 평균을 비교하기 위해,  두 모집단을 대표하는 표본들을 독립적으로 추출하여 표본의 평균들을 비교함으로써 모집단의 유사성을 검정하는 방법. (A회사의 건전지와 B회사의 건전의 작동시간 비교, A회사 광고와 B회사 광고에 대한 매출효과 비교)

 

 

분산분석(ANOVA): 분산의 원인이 어디에 있는가를 알아보는 통계적 방법. 3개 이상의 집단에 대한 평균의 차이를 검정하는 분석방법. 분산을 비교하여 평균의 차이를 검정한다.

 

일원 분산분석(one-way ANOVA): 한 가지 기준이 되는 요인으로 비교하고자 하는 변수의 평균 차이가 집단 간에 존재하는지를 조사하는 것. (사회계층에 따른 사회에 대한 만족도 차이, 교수법에 따른 학업성취의 차이)

이원 분산분석(two-way ANOVA): 두 가지 기준이 되는 요인으로 비교하고자 하는 변수의 평균 차이가 집단 간에 존재하는지를 조사하는 것. 요인이 두 개 이상으로 늘어난다면 각 요인들이 연관되어 변수에 영향을 미치는 상호작용 효과도 검정해야한다. (햇빛과 물에 따른 수확량의 차이)

 

사후분석: 실험이나 통계적 검정 후, 유의미한 결과가 발견되었을 때, 어떤 그룹 간 차이가 있는지를 추가적으로 하는 분석. Henry scheffe가 해결해서 sheffe 검정이라고 부른다.

 

 

상관 분석: 두 변수(특징 변수와 목표 변수) 간의 연관성을 파악하기 위해 상관분석을 한다. 예를 들어 수학 점수와 과학 점수 사이의 연관성을 알고 싶을 때, 밑의 그림의 4번째(0 < r < 1)이라 할 때 두 점수는 연관성이 있다고 할 수 있다.

상관 분석을 통해 높은 상관 관계를 가진 특징 변수들을 파악하면 다중 선형 회귀 모델에 쓰이기도 한다.

 

스칼라와 벡터: 통계에 분류되진 않지만 머신러닝을 익히는데 필요한 이론이다. 머신러닝 분야에서는 주로 pytorch를 이용한다고 한다.

Scalar: 하나의 숫자로 표현되는 양을 의미함. (값의 크기)

Vector: 순서가 지정된 여러 개의 숫자들이 일렬로 나열된 구조 (값의 크기와 방향)

Matrix: 동일한 크기를 가진 Vector들이 모여서 형성한, 행과 열로 구성된 사각형 구조

 

노름: 벡터가 원점에서 얼마나 떨어져 있는지를 의미함. 벡터의 크기 또는 길이를 측정하는 방법으로 사용되고 L1 노름, L2 노름, L ∞ 노름 등 다양하게 존재한다.

 

L1 노름: 벡터에 포함된 요소의 절대값의 합으로 정의할 수 있다. 뉴욕 맨해튼의 도로망과 유사하다고 해서 맨해튼 노름이라고도 불린다.

 

L2 노름: 벡터에 포함된 요소의 제곱합의 제곱근으로 정의할 수 있다. 고등학교 과정에서 나오는 벡터의 거리를 구하는 방법과 똑같고 피타고라스의 정리에 의한 유크리드 거리이다.

 

L ∞ 노름: 벡터에 포함된 요소의 절대값 중 최댓값으로 정의할 수 있다.

 

노름에 대해서 정리해서 원으로 표현하면 다음과 같이 나타낼 수 있다.

L1노름은 벡터의 합이 1일 경우를 기준으로 해서 원을 그리면 마름모 모양이 나오고, L2노름은 벡터의 거리가 1인 경우를 기준으로 해서 원을 그리면 원 모양이 나온다.

 

 

유사도: 두 벡터가 얼마나 유사한지에 대한 측정값을 의미한다. 0과 1 사이로 표현할 수 있으며, 1에 가까울수록 유사하다. 이러한 유사도는 군집화(Clustering) 알고리즘에서 데이터들이 얼마나 유사한지를 판단하는 중요한 기준으로 사용된다.

맨해튼 유사도: 두 벡터 사이의 맨해튼 거리를 역수로 변환하여 계산한 값

유클리드 유사도: 두 벡터 사이의 유클리드 거리를 역수로 변환하여 계산한 값

코사인 유사도: 두 벡터 사이의 각도를 측정하여 계산한 값. (cos 함수는 0도가 1이 되고 90도는 0이 되는 함수이다.)

 

벡터 사이의 각도를 측정하는 방법엔 벡터의 내적을 이용하면 되는데 머신러닝에선 그냥 코드를 입력하면 알아서 계산된다.

 

평균 벡터: 주어진 벡터들의 "중심"  또는 "평균 위치"를 나타내는 벡터를 의미함. 벡터의 합을 구하고 벡터의 개수만큼 나누면 된다.

(x1 = [1, 2, 3], x2 = [2, 4, 6], x3 = [ 3, 6, 9] -> µ = [2, 4, 6])

 

 

진짜 수많은 이론을 썼다. 글로 작성하기에는 너무 많은 내용이어서 넘긴 내용도 많고 scipy와 pingouin, scikit-posthocs를 활용한 실습도 있었지만 설명할 자신이 없어서 실습과정은 넘겼다.

그리고 AI는 코딩을 하는게 기본이지만 코딩 없이도 데이터 분석, AI 모델링도 할 수 있는 Orange3라는 툴을 소개받았다. 대신 화면에 그림을 표시하기 위해 GPU 자원을 많이 가져가는 모양이다.

 

마지막으로는 요슈아 벤지오라고 하는 세계적인 인지도를 가진 AI 연구원을 소개하는 ebs 영상을 보여줬다. 영상의 내용은 인공지능, 머신러닝이 무엇인가에 대한 내용인 것 같았다.

과거에 연구되었던 인공지능은 논리주의로, 사람이 컴퓨터에게 지식을 직접 알려주는 것이었다. 옛날에 스타크래프트에서 computer와 대전할 수 있었는데 이게 대표적 예시이지 않을까 싶다.

머신러닝은 데이터만 컴퓨터에게 제공해주고 스스로 알게하는 느낌이었다. 유튜브에서도 찾을 수 있는데 AI에게 슈퍼마리오를 깨는 방법만 알려주고 스스로 하게 만드니 몇 천회의 시도 끝에 게임을 클리어하고 더 빠르게 깨는 방법을 최적화까지 하는 모습을 보였다.

'Upstage AI Lab 6기' 카테고리의 다른 글

Upstage AI Lab 6기 Git 강의 후기  (1) 2024.12.16
컴퓨터 공학 개론 후기  (1) 2024.12.11
Upstage AI Lab 6기 Python 강의 후기  (0) 2024.11.26
크롤링 (API, json)  (0) 2024.11.25
웹크롤링 (selenium)  (0) 2024.11.23