2023년도 서울특별시 부동산 가격의 속성 상관관계 분석과 이를 이용한 회귀 분석


프로젝트 개요 본 프로젝트에서는 2023년의 부동산 매매 가격 데이터를 활용하여 본 데이터 내에서 각 속성간의 상관관계를 측정해보고, 이 데이터셋을 시각화 및 선형회귀 모델을 이용하여 가격 추정 모델을 만들어 보았다. 데이터 분석에는 자치구 별 매물 갯수, 매물 가격대 별 갯수 그리고 건물의 종류(아파드, 단독, 연립 등)의 각 항목 별 갯수를 확인해보았다. 또한 “서울 열린데이터 광장”에서 제공하는 데이터는 위도와 경도에 대한 데이터가 없어 추가로 Google Map API를 이용하여 위도, 경도 데이터를 추가하였다. 마지막으로 선형회귀 분석에서는 일반 Linear Regression과 Logistic Regression을 사용하여 회귀 분석을 시도하였다.…
Read more ⟶

Bag-of-Words


Bag-of-Words 단어를 분류하여 Bayes’ Rule를 이용해 문서의 특징을 알아내는것이다. 단계 문장을 단어별로 구분한다. 다음과 같은 문장이 있다 하자. “John really really loves this movie”, “Jane really likes this song” 이때 두 문장에서 단어만 뽑게되면 다음과 같다. {“John” “really” “loves” “this” “movie” “Jane” “likes” “song”} 단어들을 one-hot vetor로 변환한다. 가령, John은 [1 0 0 0 0 0 0 0], Jane은 [0 0 0 0 0 1 0 0]으로 변환한다. 이때 각 단어는 거리는 $\sqrt 2$, 유사도는 0인 모두 동일한 조건을 가지고 있다.…
Read more ⟶

Natural Language Processing


Natural Language Processing NLP는 기계가 사람의 언어를 알아듣고 의미 파악을 하는 것을 말한다. 분야별로 작업이 나누어져 있는데, 다음과 같이 나뉜다. 보면 된다. Low-level parsing 이는 문장을 단위별로 쪼게는 것을 말한다. Tokenization: 문장을 단어 단위로 쪼개는것이다. Stemming: 어미를 제거한 어근만 추출하는것이다. Word and pharase level Named Entity Recognition(NER): 단순한 단어별 인식이 아닌 고유명사를 인식하는것이다. Part-of-Speech(POS) tagging: 문장 내의 단어를 인식하는것이다. Sentence level 감정분석 기계번역 Multi-sentence and paragraph level Entailment prediction: 문장간의 모순 혹은 포함관계를 예측하는 것이다.…
Read more ⟶

Basic of Data Visualization


데이터 시각화란? 데이터를 시각적으로 맵핑하는것을 말한다. 이를 조금 더 자세히 보면 다음과 같다. 목적 : 왜 시각화 하나요? 데이터 : 어떤 데이터를 시각화할 것인가요? 독자 : 시각화 결과는 누구를 대상으로 하나요? 스토리 : 어떤 흐름으로 인사이트를 전달할 것인가요? 방법 : 전달하고자 하는 내용에 맞게 효과적인 방법을 사용하고 있나요? 디자인 : 내에서 만족스러운 디자인을 가지고 있나요? 데이터 시각화는 산업분야와 연구분야에서 각각 다르게 적용될수 있다. 서로의 needs가 다르기 때문이다. 데이터의 형태와 종류 먼저 dataset의 관점에서 볼것인가 아니면 data의 관점에서 볼것이냐를 정해야 한다.…
Read more ⟶

Generative Model


Generative Model? 쉽게 말하면, 무언가를 학습해서 model이 다시 만드는 것을 말한다. 조금 더 엄밀히 말하면, 데이터의 distribution에 대해 학습한다는 것이다. 이때, $p(x)$를 만들게 되는데, 이 함수는 예시로, 강아지 사진을 구별하는 함수인데 사진을 넣게 되면 확률이 나오게 되는 함수다. 예시 MNIST 데이터를 이용하여 예시를 들어보자. 먼저 MNIST의 각 픽셀을 모두 $X_1, …, X_n$ 이라 한다. 이때 경우의 수는 $2^n$개, 특정하기 위한 파라미터는 $2^n-1$개이다. 이때 각 픽셀은 서로 독립적인 요소기 때문에 $P(X_1,…,X_n)$과 같은 방법으로 유의미한 값을 얻을 수 없다.…
Read more ⟶

집중! - Transformer


기존 Sequential data 처리의 문제점 사람의 말을 예시로 들어보면 다음과 같이 구성이 될수 있다. 철수야 밥 먹었니? 밥 먹었니, 철수야? 밥 먹었니? 철수, 밥 먹음? 위의 예시와 같이 언어는 생략이 될수도, 어순이 바뀔수도 그리고 같은 의미지만 다르게 쓰일 수도 있다. 위와 같은 사례를 처리하기 위해 나온것이 Tranformer(Attention is All You Need, 2017)이다. Transformer 여기서 예시로 들것은 불어 문장을 영어로 바꾸는 것이다. 먼저 번역 작업의 경우 단어 배열(Sequential Data)를 목적언어의 단어 배열로 바꾸는 작업이다.…
Read more ⟶

Batch와 Grdient Discent


Gradient Descent Methods의 batch-size 구성 방식 Stochastix Gradient Decent: Single Sample Mini-batch Gradient Descent: Subset of data Batch Gradient Descent: Whole data Batch-size 위의 방식에서 batch 크기를 정해주어야 하는데 이는 중요한 요소 중 하나다. Batch-size를 작게 할 수록 flat minimized 되고, 반대로 크게 할 수록 sharp minimized 된다고 한다. 이 뜻은 generalization이 잘 된 즉, generalization gap 작게 된다는 뜻 이다. 이를 아래의 그래프 참고해보자. 위의 그래프에서 점선은 Testing Function, 실선은 Training Function 즉 학습된 결과를 말한다.…
Read more ⟶

Multi Layer Perceptron


Linear Neural Networks 먼저, Neural network는 다은과 같은 특징을 가지고 있다. 행렬 곱으로 구성된다. 비선형의 데이터가 처리 가능하다. 위 두개를 이용한 근사함수 형태이다. 식은 아래와 같다. $$ \hat y=wx+b $$ MSE를 이용해 loss 값을 알아내는 경우, 이를 backpropagation 한 경우는 다음과 같다. weight에 대해 계산 $$ \frac {\partial loss}{\partial w}=\frac \partial {\partial w} \frac 1 N \sum^N_{i=1}(y_i-\hat{y_i})^2 $$ $$ =\frac \partial {\partial w} \frac 1 N \sum^N_{i=1}(y_i-wx_i-b)^2 $$ $$ = \frac 1 N \sum^N_{i=1}-2(y_i-wx_i-b)x_i $$…
Read more ⟶

Rcurenent Neural Network


수업 방향 시계열 데이터를 처리하기 위한 Vanilla RNN을 알아보고 이의 한계점을 알아보자. 수업 내용 RNN의 존재 이유 시계열 데이터의 경우 데이터의 크기가 정해지지 않음. 물론 다른 데이터 타입(이미지 등)과 비교 했을 때 말이다. 이를 해결하기 위해 연속적인 데이터를 처리하기 위해 생긴 것이다. RNN의 수학적인 접근 - 기초 먼저 데이터의 순서나 과거 정보의 수정이 생기는 경우 데이터의 확률분포가 바뀜을 알아야 한다. 수식으로 보게되면 다음과 같다. $\Pi^t_{s=1}=P(X_s|X_{s-1},…,X_1)$그 그러나 위와 같은 식으로는 가변적인 데이터를 다룰수 없는 상황이다.…
Read more ⟶

Convolution Neural Network


수업 방향 CNN에 대해 배우기에 앞서 Convolution 계산 방식과 역전파 방식에 대해 알아보자. 수업 내용 Convolution 연산 Convolution 연산은 kernel을 통해 연산이 되게 된다. kernel은 정해진 길이($k\times k$)로 정해져 있다. 이는 선형변환 중 하나로 param의 갯수를 줄이기 위한 방법 중 하나이다. 커널을 이용해 국소적으로 증가 또는 감소시킬 수 있다. 덧셈을 사용하기 때문에 원래는 cross-correlation이라 명해야 하지만 관용적으로 convolution 연산이라 명한다. 아래의 이미지는 convolution 연산의 진행 방식을 애니메이션화 한것이다. 위의 그림에서 노란색 부분이 연산 영역, 검은선이 실 결과이다.…
Read more ⟶