딥러닝
-
SVM(Support Vector Machine) 모델이란?딥러닝 2023. 8. 20. 19:36
SVM(Support Vector Machine)은 기계 학습 및 패턴 인식 분야에서 널리 사용되는 지도 학습 알고리즘 중 하나이다. SVM은 주로 분류 및 회귀 문제에 적용되며, 주어진 데이터를 두 개 또는 그 이상의 클래스로 분류하는 데 사용된다. SVM의 주요 개념은 데이터 포인트를 고차원 공간으로 매핑하여 클래스를 분리하는 최적의 Decision Boundary을 찾는 것으로, 이때 Decision Boundary은 데이터 포인트 간의 거리를 최대화하는 원리에 기반하며, SVM은 다음과 같은 특징을 갖는다. 1. 최적 분리: SVM은 최대 마진(Maximum Margin) 분류를 지향합니다. 이는 Decision Boundary 주변에 가장 가까운 데이터 포인트들을 서포트 벡터라고 하며, 이들과의..
-
NB (Naive Bayes) 알고리즘딥러닝 2023. 8. 5. 15:12
NB(Naive Bayes) 알고리즘은 지도 학습(Supervised Learning)에서 분류(Classification) 문제를 해결하는 데 사용되는 확률기반의 알고리즘이다. NB 알고리즘은 Bayes 정리를 기반으로 하는데, Bayes 정리는 사건 A가 발생한 조건에서 사건 B가 발생할 확률을 계산하는 데 사용되는 확률적인 방법입니다. 이를 수식으로 나타내면 다음과 같다. P(B|A) = (P(A|B) * P(B)) / P(A) NB 알고리즘은 분류할 클래스(라벨)를 y, 입력 변수를 x1, x2, ..., xn이라고 할 때, 주어진 데이터에 대한 각 클래스의 확률을 계산하여 새로운 데이터 포인트를 분류하는 방식으로 작동한다. 이 때, 각 feature들은 서로 조건부로 독립이라는 가정을 한다. 이..
-
KNN (K-Nearest Neighbors) 알고리즘딥러닝 2023. 8. 4. 23:55
KNN 알고리즘이란 머신러닝 알고리즘 중 하나로, 주위 데이터를 보고 해당 데이터의 값을 유추하는 알고리즘이다. 예측하고자 하는 데이터의 가장 가까운 직선거리에 어떤 데이터가 있는지를 계산하여 예측하게 된다. 따라서 KNN 알고리즘은 실제로는 훈련되는 게 없이 데이터 저장하는 것이 전부라고 할 수 있다. 따라서 KNN 알고리즘의 단점은 데이터가 많은 경우 메모리 용량이 늘어나게 되고, 직선거리 계산 시간이 늘어나게 된다. 그렇다면 KNN 은 몇 개의 데이터를 참고하여 예측하는 것일까? 이것은 사실 정하기 나름이다. 사이킷런에서 KNN 을 import해서 사용하는 경우 기본값은 5이다. 즉, 5개의 데이터를 참고해서 예측한다. "혼자 공부하는 머신러닝 + 딥러닝" 책에 나와있는 예시를 보면, KNN cla..
-
구글 코랩을 이용해 딥러닝/머신러닝 하기딥러닝 2023. 7. 28. 23:07
딥러닝 또는 머신러닝을 하기 위해선 몇가지 환경들이 필요하다. GPU 사양이 큰 영향을 미치는데, 용량이 큰 데이터를 학습시키기 위해서는 더더욱 중요하다. 하지만 혼자서 실습하거나 공부하는 사람들에게는 고사양의 GPU를 갖춰서 하기에는 부담이 크기 마련이다. 하지만 구글에서 제공하는 "코랩(colab)"을 이용한다면 말이 달라진다. 코랩을 이용하기 위해서는 구글 아이디만 있으면 된다. 거기다가 무료서비스이다. (물론 좀 더 나은 환경에서 구현하고자 한다면 유료결제를 할 수도 있다) 구글 드라이브와 연동하여 여러 데이터를 학습하고 실습할 수 있어서 너무나 좋은 서비스이다. 아래 사이트에 접속하여 구글계정으로 로그인해서 이용하면 되고, 로그인하지 않아도 코랩에 접속할 수는 있으나, 코드를 실행하는 것은 불가..
-
머신러닝이란?딥러닝 2023. 7. 24. 20:36
머신러닝 즉, 기계학습이란 프로그래머가 일일이 프로그래밍할 필요 없이 자동으로 데이터 안의 규칙을 학습하는 알고리즘을 연구하는 것으로, 인공지능의 하위 분야 중 하나이다. 머신러닝은 통계학과 밀접하며, 통계학과 컴퓨터과학이 함께 융합하여 발전하고 있다. 이 머신러닝의 하위분야로 딥러닝이 있는데, 딥러닝 관련해서는 모두의 딥러닝 강의 정리로 다루었지만, 한번 또 따로 다루도록 한다. 보통 머신러닝, 딥러닝을 구현하는데 있어서 기본이 되는 프로그래밍 언어는 파이썬인데, 대표적인 머신러닝 라이브러리인 사이킷런 또한 파이썬 API를 사용한다. 이 사이킷런 라이브러리에서 제공하는 머신러닝 알고리즘들은 성능이 검증되어 있으며, 무료로 사용가능하여, 더욱더 머신러닝 발전에 도움을 주고 있다. 앞으로 "혼자 공부하는 ..
-
인공지능이란?딥러닝 2023. 7. 20. 22:32
인공지능(Artificial intelligence)은 인간처럼 학습하고 추론하는 컴퓨터 시스템을 말한다. 인공지능은 크게 강인공지능(Strong AI)와 약인공지능(Weak AI)으로 나뉘게 되는데, 먼저 강인공지능은 영화속에서 흔히 볼 수 있는, 인간과 구분하기 어려울 정도의 지능을 가진 컴퓨터 시스템을 말한다. 하지만 현재 우리가 보고 경험하고 있는 인공지능은 약인공지능이다. 컴퓨터 시스템 혼자 단독으로 특정 분야의 일을 수행하기엔 어려움이 있지만, 인간이 하는 업무를 도와주는 보조 역할을 하는 인공지능을 말한다. 인공지능의 기술은 인간이 하는 거의 모든 업무에 도입할 수 있다고 해도 과언이 아닌데, 그만큼 단순히 컴퓨터공학 지식이 아닌 여러 분야의 학문들이 복합적으로 얽혀 있으며, 그만큼 기술을 ..
-
자연어처리를 위한 언어학적 단계 (NLP Levels)딥러닝 2023. 7. 19. 23:47
자연어처리를 하는 목적에 따라 조금씩 달라질 수 있겠지만, 기본적으로 자연어처리를 하기 위해 필요한 언어학적인 단계들이 있다. 1. Tokenization - 문장을 token 단위로 자르는 단계이다. token의 단위는 보통 띄어쓰기를 기준으로 나뉘게 된다. 2. Morphological analysis (형태소 분석) - tokenization 단계를 거친 token의 정체를 알아보는 단계이다. 형태소란 의미를 가지는 가장 작은 단위를 말하는 것으로, 이 단계에서는 말 그대로 문장을 형태소 단위로 분석하는 단계이다. 예를 들어서 'took', 'taken' 과 같은 token은 'take' 라는 type 의 활용형으로 쓰이는데, 이런 부분을 분석하는 단계로 볼 수 있다. 3. Syntactic ana..
-
CBOW 모델의 개념딥러닝 2023. 7. 18. 21:00
CBOW 모델은 주변의 단어로 현재 단어를 추정하는 방법이다. 예를 들어 "I want great food for" 이라는 문장이 있다고 하자. 여기서 I, want, food, for을 통해서 great이라는 단어를 추정하는 것이다. (이 예시에서 Window size=2) 위 그래프에서도 볼 수 있듯 CBOW 모델은 크게 Projection layer와 Output layer로 이루어져있다. Input -> Projection -> Output 순으로 sparse -> dense -> sparse하게 표현이 되고 Input에서 Projection으로 값을 원핫 인코딩 형태로 넣어주게 되어, Projection layer는 원핫 벡터의 특성상, LUT(Look-up Table)형태로 구현된다. CB..