분류 전체보기 41

[데이터 전처리#3] 데이터 구조 전처리 - 집약

지난 포스팅에서 데이터 구조 전처리 중 추출에 대해 알아보았습니다. 열 추출, 행 추출에 관한 내용이었습니다. [데이터 전처리#2] 데이터 구조 전처리 - 추출 지난 시간 데이터 전처리의 전체적인 개요에 대해 설명드렸습니다. [데이터 전처리#1] 데이터 전처리 개요 최근 인터넷과 전자 기기들의 발달로 매일 엄청난 양의 데이터가 생성되고 있습니다. just-data.tistory.com 이번 시간에는 데이터 구조 전처리 중 집약에 대한 내용입니다. 집약 예를 들어 시험 과목별로 점수의 평균값을 계산하면 시험 과목의 난이도를, 각 학생이 받은 점수의 평균값을 계산하면 학생별 결과를 쉽게 파악할 수 있습니다. 이렇게 데이터의 가치를 되도록 손실 없이 압축하여 데이터의 단위(데이터 행의 의미)를 변환할 수 있도..

Data preprocessing 2023.07.04

[데이터 전처리#2] 데이터 구조 전처리 - 추출

지난 시간 데이터 전처리의 전체적인 개요에 대해 설명드렸습니다. [데이터 전처리#1] 데이터 전처리 개요 최근 인터넷과 전자 기기들의 발달로 매일 엄청난 양의 데이터가 생성되고 있습니다. 그리고 자연스럽게 관련 기술인 인공지능, 머신러닝, 딥러닝 등이 주목받게 되었습니다. 실제로 많은 조직 just-data.tistory.com 데이터 전처리는 크게 구조에 대한 전처리와 내용에 대한 전처리로 나눠지게 됩니다. 그중 구조에 대한 전처리는 주로 전체 전처리 과정 중 비교적 빠른 단계에 진행되게 됩니다. 오늘은 구조 전처리 중 추출에 대한 이야기를 해보려 합니다. 추출 적절한 데이터 추출 작업은 불필요한 처리를 없애줄 뿐만 아니라 다루어야 할 데이터의 크기도 줄여주는 중요한 과정입니다. 크게 네 종류로 나누어..

Data preprocessing 2023.07.02

[NLP#5] LSTM

만약 기본적인 RNN에 대한 배경지식이 없으시면 간단하게 앞의 포스팅을 보고 오시면 이번 글을 읽으실 때 도움이 되실 겁니다. [NLP#4] 순환 신경망(RNN) 지난 포스팅에서는 word2vec에 대해서 알아보았습니다. [NLP#3] 추론 기반(word2vec) 지난 시간에는 통계 기반을 통해 단어의 분산 표현을 얻어내는 방법에 대해서 알아보았습니다. [NLP#2] 통계 기반 저 just-data.tistory.com RNN은 순환 경로를 통해 과거의 정보를 기억할 수 있도록 설계되어 있었습니다 구조도 단순하여 구현도 쉽게 할 수 있습니다. 하지만 기울기 소실, 폭발 등으로 인해 장기 기억을 잘 학습할 수 없어 성능이 좋지 못하다는 큰 단점이 존재합니다. 그래서 장기 기억을 잘 학습할 수 있도록 Gat..

NLP 2023.07.02

[머신러닝 기본#2] 경사 하강법

저번 포스팅에서 분류에 대한 전반적인 시스템에 대해 알아보았습니다. 이번 글에서는 모델 학습 방법 중 경사하강법을 이용한 학습 방법에 대해 알아보도록 하겠습니다. 지난 포스팅에서 살펴봤던 KNN, SVM 등은 거리 기반 알고리즘으로 최적의 파라미터를 찾기 위해 GridSearch를 해야 한다는 특징이 있습니다. 하지만 이번에 알아볼 학습 방법은 데이터에 맞게 가중치를 갱신하는 방식으로 모델 최적화를 하게 됩니다. 먼저 해결해야할 상황에 대해 정의하고 시작하겠습니다. 아래와 같이 데이터가 분포되어 있습니다. 이때, 이 데이터셋을 가장 잘 설명할 수 있는 직선을 찾는 문제입니다. 즉, 아래의 식에서 $ \theta $를 찾는 선형 회귀 문제입니다. 이 문제를 크게 두 가지 방식으로 직선의 가중치를 찾아보도록..

Machine Learning 2023.06.30

[머신러닝 기본#1] 분류

이번 포스팅을 원래 가장 먼저 다루었어야 했는데 이제야 올리게 되었습니다. 지도 학습은 크게 회귀와 분류로 나눌 수 있습니다. 이때 대부분의 내용은 비슷하지만 학습 결과를 확인하는 과정 등 조금씩 다른 몇몇 부분이 존재합니다. 그래서 이번 포스팅에서는 분류 시스템에 집중적으로 다루어보도록 하겠습니다. 전체적인 과정과 결과를 해석하는 법을 알고 나면 이후 다른 모델을 적용하실 때 더 수월할 것입니다. 데이터 불러오기 아주 유명한 분류 데이터인 MNIST를 사용하도록 하겠습니다. from sklearn.datasets import fetch_openml mnist = fetch_openml("mnist_784", version = 1, as_frame = False) X, y = mnist["data"], ..

Machine Learning 2023.06.29

[데이터 전처리#1] 데이터 전처리 개요

최근 인터넷과 전자 기기들의 발달로 매일 엄청난 양의 데이터가 생성되고 있습니다. 그리고 자연스럽게 관련 기술인 인공지능, 머신러닝, 딥러닝 등이 주목받게 되었습니다. 실제로 많은 조직에서 이를 사용해서 큰 수익을 얻은 사례가 있는 만큼 더 이상 기업에서 무시할 수 없게 되면서 데이터 과학자, 엔지니어 등의 직업군을 채용하고 있습니다. 동시에 데이터 분석에 관한 강의, 수업, 책도 쏟아져 나오고 있습니다. 대부분의 매체에서 '데이터 분석의 8할은 전처리가 차지한다'라고 얘기할 만큼 데이터 전처리 과정에 대한 중요성을 언급하고 있습니다. 전처리가 충분히 이루어지지 않은 상태에서는 어떤 모델도 좋은 성능을 발휘하지 못합니다. 많은 머신러닝, 딥러닝 모델들이 패키지로 나와 사용하기 편하게 되었지만 유독 전처리..

Data preprocessing 2023.06.29

[머신러닝#3] 지도 학습 - 로지스틱 회귀(Logistic Regression)

이번 시간에 이야기해볼 지도 학습 머신러닝 모델은 로지스틱 회귀입니다. 로지스틱 회귀 로지스틱 회귀 모델은 분류에 사용될 수 있는 회귀 알고리즘입니다. 어떤 상황을 가정해 봅시다. 만약 종속변수의 값이 0과 1로만 이루어져 있는 이진분류 상황에서 회귀분석을 쓸 수 있을까? 일반적인 회귀분석으로는 No! 입니다. 만일 데이터를 넣어서 모델을 실행시키면 위와 같은 결과가 나올 것입니다. 따라서 분류의 목적에 맞게 회귀 모델을 변형시켜 줄 필요성이 있습니다. 여러분은 어떤 방식이 떠오르시나요?? ※ 간단한 답이니 잠시 멈추고 생각해 보세요. 답이 떠오르시지 않으셔도 됩니다^^ 답은 간단합니다. 회귀분석 값을 시그모이드 함수로 감싸주는 것입니다. 시그모이드 함수는 딥러닝의 활성화 함수로 다들 잘 알고 계시겠지만..

Machine Learning 2023.06.29

[NLP#4] 순환 신경망(RNN)

지난 포스팅에서는 word2vec에 대해서 알아보았습니다. [NLP#3] 추론 기반(word2vec) 지난 시간에는 통계 기반을 통해 단어의 분산 표현을 얻어내는 방법에 대해서 알아보았습니다. [NLP#2] 통계 기반 저번 포스팅에서는 thesaurus를 통해 컴퓨터에게 자연어의 의미 전달하는 방법에 just-data.tistory.com 이번 시간에는 드디어 RNN에 대해 이야기해보도록 하겠습니다. 잠시 지난 시간의 word2vec을 복습해 보도록 하겠습니다. word2vec에서는 앞뒤의 맥락을 통해 가운데 target 단어를 예측하는 방식으로 단어 분산 표현을 만들었습니다. 만약 앞뒤가 아니라 왼쪽 맥락만 고려한다면 어떻게 될까요? 사람이 말을 하는 관점으로 보면 두 번째 방식이 오히려 직관적인 것처..

NLP 2023.06.28

[NLP#3] 추론 기반(word2vec)

지난 시간에는 통계 기반을 통해 단어의 분산 표현을 얻어내는 방법에 대해서 알아보았습니다. [NLP#2] 통계 기반 저번 포스팅에서는 thesaurus를 통해 컴퓨터에게 자연어의 의미 전달하는 방법에 대해 알아보았습니다. 2023.05.12 - [Deep Learning] - [NLP#1] 자연어 처리란? - thesaurus 이번 글에서는 저번 시간에 이어서 just-data.tistory.com 이번 시간에는 추론 기반 방법의 방법 중 word2vec에 대해서 알아보도록 하겠습니다. 먼저 통계 기반의 문제점에 대해서 얘기해 보겠습니다. 간단하게 과정을 되새겨 보면, 동시발생행렬을 통해 PPMI 행렬을 얻게 되었고 SVD를 적용시켜 dense vector로 변환시켰습니다. 하지만 실제 자연어 처리에서 ..

NLP 2023.05.17

[딥러닝#1] 딥러닝 개요

2023.05.10 - [Machine Learning] - [머신러닝#1] 머신러닝 개요 [머신러닝#1] 머신러닝 개요 산업이 발달하기 시작하면서 대부분의 기술들이 인간의 편의를 줄이기 위해 발전되었습니다. 그중 하나가 머신러닝이라고 할 수 있는데요. 예를 한번 들어봅시다. 우리가 흔히 아는 '스팸 메일' just-data.tistory.com 위의 글에서 지도학습 알고리즘 중에 Neural Network가 있다는 것을 알려드렸습니다. 딥러닝 카테고리에서는 이러한 Neural Network에 대해서 다루도록 하겠습니다. DNN에서 출발해서 CNN, RNN을 지나 LSTM까지 글을 올리도록 하겠습니다. 딥러닝(Deep Learning) 딥러닝을 설명하기 위해서 이해를 돕기 위해 많은 책들에서 논리 게이트..

Deep Learning 2023.05.15