상세 컨텐츠

본문 제목

[ADsP] 시험 요약본

DEVELOPMENT/Machine Learning

by 김도훈 2020. 11. 22. 02:42

본문

반응형

OLTP(Online Transaction Processing)

온라인 트랜잭션 처리
복잡하게 말하면 복수의 사용자 PC에서 발생되는 트랜잭션(Transaction)을 DB서버가 처리하고, 그 결과를 요청한 사용자PC에 결과값을 되돌려주는 과정
쉽게 이야기하면 1개의 요청작업을 처리하는 과정

무수히 많이 발생되는 각각의 작업요청을 오류없이 처리하고, 그 결과값을 실시간으로 확인시켜줘야 함을 의미
조금 복잡하게 말하면 1개의 트랜잭션에서 발생되는 INSERT, UPDATE, DELETE의 과정을 무결성을 보장하여 처리하고 그 결과를 SELECT 하는 과정을 우리는 OLTP라고 부릅니다.

OLAP(Online Analytical Processing)

온라인 분석 처리 정도.
OLTP가 데이터 자체의 처리에 중점이 된 용어라면, OLAP는 이미 저장된 데이터를 기반하여 분석하는데 중점이 된 용어

OLAP는 데이터웨어하우스(DW), 쉽게 말해 DB에 저장되어 있는 데이터를 분석하고, 데이터 분석을 통해 사용자에게 유의미한 정보를 제공해주는 처리방법을 의미
나아가 이런 유의미한 정보를 바탕으로 보다 복잡한 모델링을 가능하게 합니다.

즉, OLAP는 기존에 저장되어 있는 데이터를 사용자의 요구와 목적에 맞게 분석하여 정보를 제공하는 개념을 의미합니다.

OLTP와 OLAP의 차이점

위의 2가지의 개념에 대해 읽어보셨으면 눈치채셨겠지만 2개의 용어는 전혀 다른 의미로 사용하고 있는데요.
(알파벳상으로는 T와 A의 차이일뿐 그 의미는 많이 다르죠?)

OLTP는 현재의 데이터 처리가 얼마나 정확하고, 무결한지가 중요합니다. 그렇기 때문에 주로 데이터의 저장, 삭제, 수정 등의 실질적인 데이터를 수정하는 작업을 의미하는 용어입니다.

OLAP는 이미 저장된 데이터를 바탕으로 어떤 정보를 제공하는지가 중요합니다. 따라서 OLAP는 데이터가 무결하고, 정확하다는 전재를 바탕으로 고객 또는 사용자가 원하는 정보를 어떤식으로 표현하고 제공하는지를 의미하는 용어입니다.

이 2가지 용어를 보면 아시겠지만, 가장 선행되어야할 부분은 바로 OLTP입니다.
위의 예를 바탕으로 설명을 하면 통장에 돈을 입금하는 행위가 오류가 없고, 무결해야만 OLAP에서 예를 들었던 1년간의 수입과 지출 분석이 유의미 합니다. 만약 OLTP작업이 비정상적이었다면 OLAP로 아무리 멋진 자료를 만들어봤자, 그 자료는 자료로서의 가치를 상실하게 될것입니다.

OLTP는 보다 컴퓨터와 가까운 용어이고, OLAP는 보다 사용자에 가까운 용어라는 생각을 가지고 계시다면 2가지 용어에 대한 이해는 충분하리라 생각됩니다.

 

최빈값,중앙값,평균

최빈값 : 표본에서 가장 자주 발생한 값

중앙값 : 표본에서 중앙에 위치하는 값 혹은 그 이하가 표본의 절반을 차지하는 값

평균 : 표본을 모두 더한 후 표본의 수로 나눈 값

 

0'. 최빈값은 한마디로 확률밀도함수 f(x) 의 값이 최대가 되도록 하는 x 로써 구해진다.
1'. 중앙값은 적분해서 정확히 그 값이 0.5 가 되도록 하는 x 로써 구해진다.
2'. 평균은 분포의 기대값으로 구해진다.

 

정규분포와 z점수, z검정

cshlife.tistory.com/217

 

정규분포와 z점수, z검정에 대해서 알아보자.

정규분포는 통계에서 가장 중요한 것으로서, 여러분이 이 단계에서 배우는 모든 확률분포는 모두 이 정규분포를 따른다. 유명한 수학자 가우스가 제안했다고 해서 가우스 분포(Gaussian Distribution)

opinion.krsocsci.org

 

T-검정 (T-test)

https://bioinformaticsandme.tistory.com/80

 

T-검정 (T-test)

T-검정 (T-test) Start. BioinformaticsAndMe 1. T검정(T-test) ? 통계학자 윌리엄 고셋(가명 'Student')이 기네스 양조 공장에서 일하고 있었는데, 적은 샘플에 대한 통계적 추정치가 잘 맞지 않은 점을 착..

bioinformaticsandme.tistory.com

 

다중공선성(Multicollinearity)

다중공선성은 입력변수들 간의 상관정도가 높은 상태를 말한다. 좀 더 자세히 설명하면,
데이터가 (p+1)개의 수치형(양적) 변수를 가지며,
x1, x2, ... , xp의 p개의 입력(독립)변수와 Y 라는 1개의 종속변수로 구성되어 있다고 하자.
다중공선성이란 위의 데이터에서 p개의 입력변수들 사이에 상관관계가 존재하는 상태를 의미한다.

그럼, 이런 의문이 들지 않는가?

다중공선성(multicollinearity)과 상관성(Correlation)이 같은 것 아닌가?
(여기서 상관성이란 피어슨 상관계수와 같이 두 변수 간의 관계를 의미한다.)

정확한 이해를 위하여 다중공선성과 상관성의 차이를 구분해보자.

상관성은 (피어슨 상관계수 등에 의해 계산되는) (1) 두 변수 간의 상관정도를 계산하고 (2) 독립변수와 종속변수를 구분하지 않는다. 반면, 다중공선성은 (1) 두개 이상의 변수들 간의 상관정도를 계산하고 (2) 독립변수들 간의 관계 만을 고려한다.

KNN ( K -Nearest Neighbor) 개요

KNN은 K - 최근접 이웃법으로 분류 문제에 사용하는 알고리즘입니다.

새로운 데이터가 들어왔을 때 기존 데이터의 그룹 중 어떤 그룹에 속하는지 분류하는 문제를 말합니다.

실제 문제를 풀 때 자주 사용되지는 않지만, 이미지 분류 문제(딥러닝)에 대한 기본적인 접근방법입니다.

KNN의 하이퍼 파라미터는 탐색할 이웃 수(k), 거리 측정 방법 두가지 입니다.

k와, 거리 측정 방법에 따라 분류 경계면이 달라 진다는 이야기 입니다.

 

K 개수 선택
또 다시 고려할 중요한 문제는 “k를 몇으로 정할 것인가”이다. 이건 모든 값을 실제로 테스트하면서 분류 정확도(Accuracy)를 계산하는 과정에서 단서를 찾을 수 있다.

 

k가 너무 작을 때 : Overfitting
일단 k가 너무 작은 경우를 생각해보자. 극단적으로 k=1이라고 하자. 그러면 분류 정확도가 상당히 낮을 수밖에 없다. 시야가 좁아지는 거고, 아주 근처에 있는 점 하나에 민감하게 영향을 받기 때문이다. 이를 overfitting(과적합)이라고 한다. (overfitting은 머신러닝 알고리즘에서 정말정말 중요한 개념이니 꼭 알고 넘어가야 한다. 아래 글을 참고하자.)

아무튼 K-Nearest Neighbors 알고리즘에서는 주변 다른 이웃들까지 충분히 고려하지 않았을 때 오버피팅이 발생한다. 그래서 하나의 이상치(outlier)가 있을 경우 근처에 있는 점의 레이블이 그 이상치에 의해 결정될 수 있다.

 

k가 너무 클 때 : Underfitting
반면에 k가 너무 큰 경우에는 underfitting(과소적합)이 발생한다. underfitting은 분류기가 학습 세트의 세세한 부분에 충분히 주의를 기울이지 않았기 때문에 나타난다. 예를 들어 학습 세트에 100개의 점이 있고 k=100으로 설정했다고 극단적으로 가정해보자. 그러면 모든 점이 결국 동일한 방식으로 분류될 거다. 점 사이의 거리는 의미가 없어진다. 물론 이건 극단적인 예이지만… 아무튼 k가 너무 그면 분류기가 학습 데이터를 충분히 세세하게 살펴보지 못한다는 뜻이다.

분류 모델을 생성할 때 일부 데이터는 검증에 활용되도록 떼어놓고 학습 데이터로만 모델을 생성해서 검증 데이터를 넣어 분류 정확도(Accuray) 확인할 수 있는데, (참고 글: 머신러닝에서 학습세트, 검증세트, 평가세트를 나누는 이유와 방법) 너무 k가 작으면 과적합이 발생하여 정확도가 상대적으로 낮다. 반면 k가 너무 커져도 언더 피팅이 발생해서 정확도가 떨어지기 시작하는 걸 알 수 있다. 결국 75 언저리에서 가장 높은 정확도를 보여준다.

 

hleecaster.com/ml-knn-concept/

 

K-최근접 이웃(K-Nearest Neighbor) 쉽게 이해하기 - 아무튼 워라밸

본 포스팅에서는 머신러닝에서 사용할 K-최근접 이웃(K-Nearest Neighbor)에 대한 개념 설명을 최대한 쉽게 설명한다. 정규화(normalization), k개수에 따른 과적합(overfitting), 과소적합(underfitting)에 대한

hleecaster.com

정분류율(Accuracy)

Accuracy =(TP+TN)/(P+N)

Accuracy=(TP+TN)/(P+N)

위 표에서 P는 양성, N은 음성을 나타낸다. TP는 양성으로 예측되었고 실제로 양성인 경우, TN은 음성으로 예측되었고 실제로 음성인 경우다. 이 TP와 TN이 상대적으로 높은 모형을 좋은 모형이라고 평가하는 것은 상식적이고 타당하다. 


오분류율(Error Rate)

Error Rate
=1−Accuracy
=(FP+FN)/(N+P)

'정'이 있으면 당연히 '오'도 있다. 


정확도(Precision)

=TP/(TP+FP)

정확도란 참으로 예측된 것 중 실제로 참인 것들의 비율이다. Accuracy와 헷갈리지 않도록 하자. 


민감도(Sensitivity)

=True Positive Rate

=Recall
=TP/P

민감도란 양성인 것 중 참으로 예측된 것들의 비율로, 재현도Recall 혹은 True Positive Rate라고도 불린다. 


특이도(Specificity)

=1−False Positive Rate
=1−(FP/N)
=TN/N
특이도란 거짓인 것 중 거짓으로 예측된 것들의 비율이다.

여기서 False Positive Rate와 True Positive Rate를 각각 축으로 두고 그린 그림을 ROC 곡선이라고 한다.

 

반응형

관련글 더보기

댓글 영역