목록기초 노트 (51)
플로라도의 data workout
Stacking Stacking은 단일 모델의 예측값을 조합하여 최종적인 예측을 함으로써, 개별 모델의 강점을 활용하고 약점을 상쇄시키는 방법이다. 트리기반 모델은 데이터의 비선형 관계를 잘 포착하고, 선형 모델들은 데이터의 선형관계를 잘 포착한다. 이러한 모델의 예측 결과를 조합함으로써, 단일 모델이 놓칠 수 있는 정보를 포착하고자 하는 것이다. 먼저 Stacking은 위의 그림과 같이 진행된다. 각 level0에 위차한 각기의 learner(모델)들은 예측값을 생성하고, 이러한 예측값들을 결합하여 Stacked Dataset을 만든다. 이러한 Stacked Dataset을 Meta model이라고하는 level1에 있는 최종 모델이 다시 한번 예측을 수행하고, 이러한 예측의 결과를 최종적인 outpu..
샘플링, 표본추출이 무엇인가? 샘플링(Sampling)은 전체 모집단에 대해서 표본 추출하는 것인데, 이러한 모집단으로부터의 데이터 수집은 비용이 발생할 뿐만 아니라 Sampling Bias가 발생하며, 뽑힌 표본은 어떠한 모집단도 정확히 대변한다는 보장이 없다. 그럼에도 불구하고, 표본을 통하여 데이터를 살펴보는 이유는 무엇일까? 이것은 마치 우리가 요리할때 음식의 간을 보는 것과 같다. 예를 들어, 국을 끓이는 상황에서 우리는 단지 국자로 한스푼 뜬 후 맛을 본뒤 '잘 되었네!' 라며 , 마치 전체 국의 맛이 괜찮을거라고 장담한다. 국자 한스푼에 담긴것이 표본과 같다. 표본(한 스푼)이 전체 모집단(국)의 성질인 맛(통계량)을 대변하는 것이다. 앞서 말했듯이, 국자 한스푼이 정확히 전체 국의 맛을 대..
CNN은 translation invariance하다.traslation-invariance / equivariance는 이미지 처리의 다양한 CNN Architecture 소개에 자주 등장하는 개념이다.CNN(Convolution Neural Networks)는 translation-invariance하여, 고양이가 오른쪽에 있는지 혹은 왼쪽에 있는지를 구분하지 못한다. translation-invariance란 아래의 사진처럼 이미지 내에 고양이가 어디에 있든이동에 불변하게, 동일하게 "cat"이라고 classification할 수 있는 특징을 말한다. 원본 input 이미지에 비해 픽셀이 이동된 이미지에 대해서도 'Cat detector'는 여전히 동일하게 'Cat'이라고 판단한다. 이것이 tr..
범주형 변수의 인코딩 정형데이터를 다룰때, 머신러닝 알고리즘에 수치형 변수가 아닌 카테고리형 변수(범주형 변수)를 적용시키려면 반드시 범주형 변수를 숫자값으로 변환시키는 작업이 필요하다. 이 작업에서는 사이킷런에서 제공하는 아래와 같은 Encoder클래스를 사용한다. 그 중 범주형 변수의 인코딩의 가장 대표격인 원-핫 인코딩에 대해서 알아보자. 1. 원핫 인코딩이란? 원-핫 인코딩은 위의 그림과 같이 'color' 칼럼에 해당하는 'red,blue,green'을 다음과 같이 'color_red, color_blue, color_green'의 각 고유한 피쳐로 나누고 값 칼럼에 해당하는 값을 0 또는 1의 binary 값으로 매핑한다. 0의 값은 관찰 데이터에 해당 피쳐가 속하지 않는다는 뜻이고 1은 관찰..
어떠한 정방 행렬 $A$ $(n \times n)$ 에 의해 특정 벡터 $x$ $(n \times 1)$은 선형변환이 된 이후에도 여전히 그 방향이 평행한 경우가 있다. 이 때, 그 특정 벡터 $x$를 고유 벡터$(eigen vector)$라고 하고, 변하는 크기의 정도를 고윳값 $(eigen value)$라고 한다. 주성분 분석(PCA), 선형판별분석(LDA), 시계열분석의 주요 추세와 패턴, 고전적인 이미지 처리, 추천시스템 등에서 행렬을 분해하는 기법으로써 널리 사용되고 있다. Reference) 데이터 사이언스 인터뷰 질문 : https://github.com/zzsza/Datascience-Interview-Questions GitHub - zzsza/Datascience-Interview-Qu..
3강에서는 Linear Classifier에 대해서 다룬다. Linear Classifier는 심플하지만 Neural Network를 만들때 중요하다. Neural Net은 블럭을 쌓아 만드는 것과 같은데, 이러한 레고 블럭의 가장 기본이 Linear Classifier이다. CIFAR10 데이터셋을 다시 떠올려보자 이전 강의 및 K-NN Classifier와 달라진 점은 Learnable parameter인 W가 추가되었다는 점이다. 이것이 Parametric Approach이다. parameter 혹은 weight(가중치)라고 불리는 이 W에 우리의 training data의 모든 정보를 요약하여 담길 원한다. f(x,W)의 함수의 형태는 input x와 W를 통해 여전히 10개 클래스 스코어를 뱉어..
Image Classification은 컴퓨터 비전에서 가장 핵심적인 task이다. 그러나 그것이 쉽지는 않다. 컴퓨터는 고양이 이미지를 보고 단박에 고양이('cat')라고 알 수 없다. (Computer can't get holistic idea of cat) 컴퓨터가 보는 것은 단순히 [0,255] 픽셀 값으로 이루어진 숫자 그리드 형태이다. 이것을 "고양이"라는 의미론과 대비되는 "Semantic Gap"이라고 한다. 심지어 고양이가 조금 움직인다면, 고양이가 서있다가 앉아있게 된다면, 픽셀값은 전부 변하게 된다. 이러한 변화에도 사람은 여전히 고양이라고 알 수 있지만, 컴퓨터가 이것을 여전히 같은 고양이라고 말하는 것은 쉬운일이 아니다. (-> 이러한 변화에 robust한 모델을 만드는 것이 목표..
여러분들은 아마도 여러번 "확률(Probability)"이 무엇인가에 대해서 질문을 받거나, 간혹 생각해볼 기회가 있었을 것이다. 그럴때마다 아마 적당히 무어라고 대답하고 넘어갔던 기억은 나는데 그 내용 자체는 잘 기억이 나지 않을 것 같다. 일전에 수학적 확률의 정의와 근원사건 그리고 표본공간에 대한 이야기를 하였는데 이번에는 좀 더 철학적인 접근에 대해서 이야기 해보려고 한다. https://ploradoaa.tistory.com/4 수학적 확률의 정의와 근원사건 : 주사위의 눈이 1이 나올 확률은 정말 1/6인가? 보통 우리가 확률을 이야기 할때, 주사위 던지기 게임, 동전던지기 게임을 예시로 많이 든다. 가장 명료하면서도 확률의 여러 개념들을 포괄하는 예시이기 때문이다. 가장 처음에, 누구에게나 ..
첫 시간에는 강좌에 대한 소개와 컴퓨터 비전 그리고 딥러닝에 대한 전반적인 overview를 제공한다. 개론적인 역사에 관한 부분이니 가볍게 훑고 지나가도 될 것 같다. 키워드 : 컴퓨터 비전, 딥러닝, 인공신경망(Neural Net)의 역사 "Deep Learning for Computer Vision" 이라는 강좌의 제목이기도 한 철자에서, 각 Deep Learning과 Computer Vision이 의미하는 바가 뭘까? 컴퓨터 비전은 비주얼 데이터(visual data)에 대해 가공하고, 인식하고, 추론하는 인공적인 시스템을 만드는 것이라고 할 수 있다. 시간이 지날 수록 visual data의 양은 기하 급수적으로 증가하고 있으며, 강의실에는 학생 수보다 대게 더 많은 카메라가 존재하기 마련이다...
inductive bias는 딥러닝을 공부하다 보면 종종 마주치는 개념어다. 필자는 ViT(Vision Transformer)를 공부하면서 처음 접하게 되었는데, 당시 정확한 의미를 알지 못하고, 각 뉴럴넷의 아키텍쳐상의 특징 정도로 이해하였으나, ViT 논문에서 inductive bias의 등장 횟수를 세어보니 8번이나 되는걸로 보아 간단히 넘어갈만한 녀석은 아닌듯 하다. ViT paper : AN IMAGE IS WORTH 16X16 WORDS: TRANSFORMERS FOR IMAGE RECOGNITION AT SCALE (https://arxiv.org/abs/2010.11929) Inductive bias는 한국말로 직역하면 "귀납적 편향"이라고 하는데, 단어의 뜻만으로는 그 의미가 크게 와닿지..