STICKY-AI

Artificial Intelligence / Machine Learning / Deep Learning


  • Home

  • About

  • Archives

  • Tags

  • Sitemap

Python. itertools.takewhile()

Posted on 2020-03-15 | In Python

itertools.takewhile([Predicate, Iterable])

Read more »

Python. itertools.dropwhile()

Posted on 2020-03-14 | In Python

itertools.dropwhile([Predicate, Iterable])

Read more »

Python. itertools.cycle()

Posted on 2020-03-13 | In Python

itertools.cycle([Iterable])

Read more »

Python. collections.Counter()

Posted on 2020-03-13 | In Python

collections.Counter([Iterable-or-mapping])

Read more »

ML4NLP. PART 1. Text Classification & Sentence Representation 2

Posted on 2020-02-19 | In Natural Language Processing

앞선 포스팅 ML4NLP. Part 1. Text Classification & Sentence Representation에서 Text Classification을 진행하기 위한 사전 작업에 대해 살펴보았습니다. 원-핫 인코딩 방식이 단어간의 의미를 전혀 표현할 수 없다는 한계점을 해결하기 위해 Word Embedding 방법을 사용했었습니다. Word Embedding 방법은 문장을 수치화 하는 데 성공했지만, 단어간 유사도를 나타내기에는 적절하지 않다는 한계점이 드러났습니다. 따라서, 이번 포스팅에서는 문장의 의미를 파악하기 위한 여러가지 방법 중 Word2Vec 모델 중 CBoW 방법과 Relation Network(Skip-Gram) 모델을 살펴보겠습니다.

Read more »

ML4NLP. PART 1. Text Classification & Sentence Representation 1

Posted on 2020-02-18 | In Natural Language Processing

자연어 처리(Natural Language Processing) 는 일상생활 속에서 사용하는 언어를 분석하여 분류하는 것을 목표로 합니다. 그 과정에서 자연스럽게 텍스트 분류(Text Classification) 과정을 진행합니다. 텍스트 분류는 문장, 문단 또는 글을 어떤 카테고리에 분류하는 작업입니다. Input으로 문장(Sentence) 혹은 문단(Paragraph)가 입력되고, Output으로 특정 카테고리를 출력합니다. 텍스트 분류의 예시는 다음과 같습니다.

Read more »

ML-BASIC. PART 5-1. Gradient-based Optimization

Posted on 2020-02-14 | In Machine Learning

이전 포스팅에서 설명했던 것과 같이, 모델의 Loss값을 구하기 위한 방법들은 여러가지가 (i.e. Gradient Descent, L-BFGS, Conjugate Gradient $\cdots$) 있었습니다. 다만, 이러한 방법들은 데이터의 개수가 많아지고, Parameter가 많아질 수록 훈련 샘플 전체의 Loss를 구하기 위해 엄청난 시간과 리소스를 필요로 한다는 단점이 존재합니다. 훈련 샘플 전체의 Loss는 곧 각 Example들의 Loss의 합으로 구해지기 때문입니다. 이러한 한계점을 해결하기 위해, Stochastic Gradient Descent 방법이 고안되었습니다.

Read more »

ML-BASIC. PART 6. Backpropagation

Posted on 2020-02-11 | In Machine Learning

Backpropagation은 네트워크 전체에 대해 반복적인 연쇄 법칙(Chain Rule)을 적용하여 Gradient를 계산하는 방법 중 하나입니다. 이번 포스팅에서는 주어진 함수 $f(x)$가 존재할 경우, 주어진 입력 $x$에 대해 함수 $f$의 Gradient($\nabla f(x)$)를 계산하는 것이 목표입니다. 신경망 관점에서 $f$는 손실 함수($L$)에 해당하고, 입력 $x$는 학습 데이터, 가중치(Weight), 바이어스(Bias) 등이 될 수 있습니다.

Read more »

ML-BASIC. PART 5. Optimization Methods

Posted on 2020-02-10 | In Machine Learning

앞선 포스팅에서 비순환그래프(DAG)를 설계하고, 각 Example들의 Loss값을 산출하기 위해 Loss Function을 정의하는 방법까지 알아보았습니다. 앞서 정의한 두 단계는 순차적으로 진행되며, 각 Example에 대한 Loss는 비순환그래프(DAG)를 거쳐 계산됩니다. 우리의 궁극적인 목표는 Loss를 최소화하는 모델을 찾는 것입니다. 다만, Loss를 구하기 위한 가설집합(Hypothesis Set)의 개수가 너무나 많기 때문에 모든 가설들을 전부 검증할 수 없다는 한계점이 존재합니다. 그렇다면, 주어진 랜덤 파라미터($\theta$)를 기반으로 어떻게 Loss($L$)를 최소화 할 수 있을까요?

Read more »

ML-BASIC. PART 4. Distributions & Loss Function

Posted on 2020-02-07 | In Machine Learning

지도학습(Superviesed Learning)은 Input $x$를 넣었을 때 Output $y$값을 산출하는 것입니다. 다른 관점에서 생각해보면, $x$가 주어졌을 때 $y$ 값이 $y\prime$일 확률을 구하는 것으로 바꾸어 생각할 수 있습니다.

Read more »
1 2 3 4
Jinhyeok Park (STICKY-AI)

Jinhyeok Park (STICKY-AI)

STICKY-AI Github Page

33 posts
6 categories
80 tags
RSS
© 2020 Jinhyeok Park (STICKY-AI)
Powered by Jekyll
Theme - NexT.Muse