ML in Python/Knowledge(19)
-
[Data Analysis 개념] 인공신경망(Artificial Neural Network) 모형의 원리와 구성 - Perceptron / Activation function / Gradient descent / Backpropagation
1. 인공 신경망 모형의 배경 인공 신경망 모형은 인간의 뉴련의 자극전달 과정에 아이디어를 착안하여 발생한 머신러닝 알고리즘이다. 인간의 뉴런은 시냅스를 통하여 다른 뉴런으로부터 자극을 전달받고 시냅스를 통하여 다른 뉴런에게 자극을 전달하는 과정을 통해서 학습을 진행한다. 이 자극 전달의 과정을 알고리즘에서 layer와 perceptron으로 뉴런과 시냅스를 구성하여 연결지은 것이 바로 인공신경망 모형이다. 하나의 뉴런은 Neural Network 모형에서 하나의 perceptron과 대응되며, 시냅스의 역할은 여러 layer를 잇는 weight/bias(error)가 한다. 위의 그림에서 A는 인간의 뉴런을 형상화 한 것이다. 그리고 C는 이 뉴런들의 연결을 보여주는 것이다. B그림을 보면 X1~Xn의..
2020.07.23 -
[Data Analysis 개념] Decision Tree(의사결정나무) 모형 - Classification/Regression Tree의 직관적/수학적 이해
이 게시글에서는 Decision Tree의 개념만 다룰 것이다. Python으로 구현하고자 한다면 아래 실습링크를 통해서 학습하길 바란다. https://todayisbetterthanyesterday.tistory.com/38 [Python] 의사결정나무(DecisionTree) 구현 - 분류(Classifier)/회귀(Regressor)/가지치기(Pruning) *아래 학습은 Fastcampus의 "머신러닝 A-Z까지"라는 인터넷 강의에서 실습한 내용을 복습하며 학습과정을 공유하고자 복기한 내용입니다. 의사결정 나무는 간단하게 말해서 if~else와 같이 특정 조�� todayisbetterthanyesterday.tistory.com 1. 요약 의사결정 나무는 간단하게 말해서 if~else와 같이 ..
2020.07.19 -
[Data Analysis 개념] 시계열 분석 - AR/MA/ARIMA/분해시계열 의미
1. 비정상/정상 시계열 자료 시계열 자료란 시간의 흐름에 따라 관측된 데이터를 말한다. 시계열 분석을 하기 위해서는 기본적으로 정상성(Stationary)를 만족해야한다. 정상성을 만족하는 것은 다음과 같은 것들을 만족하는 것이다. 1. 평균이 일정하다. 2. 분산이 시점에 의존하지 않는다. 3. 공분산은 단지 시차에만 의존하고, 시점 자체에는 의존하지 않는다. 이 3가지의 정상성 조건 중 하나라도 만족하지 못한다면 비정상 시계열이라고 부른다. 실제 대부분의 시계열 데이터는 비정상 시계열자료이다. 이러한 비정상성을 확인하기 위해서, 1. 가장 먼저 시계열 자료의 그림을 통해 이상점(Outlier)과 개입(Intervention)이 있는지 판단하고. 2. 정상성 만족 여부와 개략적인 추세 유무를 관찰한다..
2020.07.18 -
[Data Analysis 개념] (kernel)SVM - Support Vector Machine의 직관적 이해와 수학적 개념
이번 게시글은 SVM에 대한 원리와 이해에 집중한다. Python을 통해 구현하는 과정은 아래 링크를 통해서 학습하길 바란다. https://todayisbetterthanyesterday.tistory.com/32 [Python] SVM(Support Vector Machine)구현 실습 *아래 학습은 Fastcampus의 "머신러닝 A-Z까지"라는 인터넷 강의에서 실습한 내용을 복습하며 학습과정을 공유하고자 복기한 내용입니다. SVM은 다른 분류모형처럼 Decision Boundary를 형성하는 것에 �� todayisbetterthanyesterday.tistory.com 1. SVM의 직관적 이해 1) SVM의 직관적 이해 SVM은 다른 분류모형처럼 Decision Boundary를 체계적인 방법..
2020.07.16 -
[Data Analysis 개념] LDA와 QDA의 이해
LDA는 간단하게 말해서 집단간의 분산대비 평균의 차이는 최대로 하는 Dicision Boundary를 찾아내는 방법이다. 그리고, QDA를 알기 위해서는 LDA에 대해서 먼저 알아볼 필요가 있다. LDA의 직관적 이해 다음 그림을 먼저 봐보자. 위에 나타난 1,2,3 데이터를 잘 구분하기 위해서 어떤 선을 그어야 하는가? 여러 방법이 있지만, 그 중 하나가 바로 LDA이다. LDA는 기본적으로 두 가지 가정을 한다. 1. 각 집단은 정규분포형태의 확률분포를 갖는다 2. 각 집단은 비슷한 형태의 공분산 구조를 갖는다 이 두 가지 가정하에서 LDA를 보통 적용한다. 위의 선은 가상으로 각 집단들을 나눈 Decision Boundary를 나타낸 것이다. LDA는 분산대비 평균의 차이를 최대화하는 직선을 찾는..
2020.07.09 -
[Data Analysis 개념] 차원 축소법 - PCA(주성분 분석)
이 게시글은 PCA의 이해와 수학적 과정만을 다룬다. Python 실습코드를 따라가보면 훨씬 이해가 잘 될 것이다. 아래 링크를 남겨놓겠다. https://todayisbetterthanyesterday.tistory.com/16 [Python] - PCA(주성분분석) 실습 *아래 학습은 Fastcampus의 "머신러닝 A-Z까지"라는 인터넷 강의에서 실습한 내용을 복습하며 학습과정을 공유하고자 복기한 내용입니다. PCA는 Principal component analysis의 약자로 차원의 저주를 해결� todayisbetterthanyesterday.tistory.com 데이터 분석을 진행할 때 발생할 가능성이 높은 문제(특히, KNN에서) "차원의 저주". 이를 해결하려면 어떻게 해야하나? 차원의 저..
2020.07.07