본문 바로가기

Tech

(556)
벡터의 Linear Independence(선형독립)와 Basis(기저벡터) 이번 포스팅에서는 벡터의 선형독립(Linear Independence)와 기저벡터(Basis)에 대해 알아보려고 한다. 선형독립과 기저벡터는 머신러닝의 PCA(주성분분석), SVD(Singular Value Decomposition), LDA(선형판별분석)을 배울 때 연관되어 있는 개념이다. 우선 본격 주제에 들어가기 앞서서 저번 포스팅에서 배웠던 Ax=0라는 Rectangular Matrix의 경우에 영벡터공간(Null Space)과 결부지어서 이제는 영벡터공간이 아닌 연립방정식인 Ax=b의 해집합을 어떻게 나타낼지에 대해서 살펴보자. 먼저 Ax=0이라는 연립방정식의 해집합을 구할 때 다음과 같은 수식으로 구해짐을 우리는 저번 포스팅에서 알게되었다. 위와 같은 식으로 영벡터공간의 해집합을 구하게 됬는데..
[ML] SVM(Support Vector Machine)서포트 벡터 머신 ※해당 게시물에 사용된 일부 자료는 순천향대학교 빅데이터공학과 정영섭 교수님의 머신러닝 전공수업 자료에 기반하였음을 알려드립니다. 이번 포스팅에서는 머신러닝 모델 중 Classification에 활용되며 Supervised Learning의 종류인 SVM(Support Vector Machine)에 대해 알아보려고 한다. 2019년 2학기에 DSC 활동을 하면서 SVM에 대해서 처음 알게되었고 그 때 당시에는 얕은 깊이의 공부를 했던 기억이 난다. 하지만 이번엔 SVM을 머신러닝 전공 수업에서 다루는 만큼 깊이 있게 공부하고 넘어가야 겠다. 목차는 다음과 같다. 1. SVM의 기원은 무엇일까? 2. Margin의 maximum을 구하는 방법 3. 비선형 분류를 하기 위한 Slack Variable 4. ..
영벡터공간(Null Space)과 해집합 이번 포스팅에서는 영벡터공간에서의 해집합에 대해서 알아보려고 한다. 우선 영벡터공간에 대해서 알아보자. 영벡터공간이란, Ax=0을 만족하는 'x'라는 벡터의 모든 해집합을 말한다. 그런데 우리가 여기서 체크하고 넘어가야 할 부분이 있다. 바로 Ax=0을 만족하는 'x라는 벡터의 모든 해집합이 공간(Space)라고 할 수 있는지 조건을 체크하는 것이다. Space가 될 수 있는 조건은 3가지가 있다. 벡터집합의 요소 중 임의의 두 개의 벡터의 합도 Null Space(영벡터공간)에 포함되어야 한다. 벡터집합의 요소에 임의의 Scala값을 곱해도 Null Space(영벡터공간)에 포함되어야 한다. 영벡터공간에서는 당연한 이야기지만 '원점을 포함'해야 한다. 이제 우리가 구하고자 하는 미지수 즉, 해집합을 어..
벡터공간(Vector space)과 열벡터공간 이번 포스팅에서는 벡터공간에 대한 개념과 특징, 그리고 열(Column)벡터공간에 대해서 알아보려고 한다. 본격적인 내용에 들어가기에 앞서 지금까지 배웠던 그리고 앞으로 배우게 될 내용의 큰 구조를 보고 들어가려고 한다. 우리는 그동안 연립방정식을 밑의 그림과 같이 나타낸 후 가우스 소거법을 이용해서 미지수를 구했고 특정 행렬의 역행렬을 구하기 위해서 가우스 소거법을 확장한 Gauss-Jordan Method를 알아보았다. 우리는 본질적으로 구하려고 하는 것이 x1,x2,x3에 해당하는 미지수였다. 미지수와 식의 개수 관계에 대한 경우의 수는 다음과 같이 세가지가 있다. 미지수 개수 = 식의 개수 미지수 개수 >= 식의 개수 미지수 개수 < 식의 개수 지금 작성하고 있는 포스팅 이전까지는 1번에 해당하는..
Inverse Matrix(역행렬)&Transpose Matrix(전치행렬) 이번 포스팅에서는 역행렬과 전치행렬의 정의와 특성에 대해서 알아보려고 한다. 먼저 역행렬의 정의와 여러가지 특성에 대해서 알아보자. 1. Inverse Matrix (역행렬) 우선 역행렬이 존재하려면 반드시 정방행렬(m by m)(Square Matrix)이어야 한다. 하지만 정방행렬이라고 해서 모든 행렬이 역행렬을 갖고 있는 것은 아니다. 특정 행렬 A의 Determinant가 0이 아닐 때만 역행렬이 존재한다. 결론부터 말하자면 여기서 Determinant란 우리가 가우스 소거법 포스팅에서 배웠던 Diagonal element(행렬의 대각요소들)인 Pivot값들을 말한다. 즉, Pivot값이 모두 Non-zero값이 되어야 역행렬을 가질 수 있다는 의미이다. 이제 역행렬의 특징에 대해서 알아보자. 방..
[ML] Class imbalance(클래스 불균형)이란? 이번 포스팅에서는 머신러닝 분류 문제에 있어서 '클래스 불균형' 에 대한 간단한 주제에 다룰 예정이다. 머신러닝 모델을 평가하는 하나의 지표로서 F1 score이란 것을 고려한다. F1 score은 Precision과 Recall의 조화평균으로부터 나오는 지표이다. F1 score은 그럼 언제 사용할까? 주로 데이터 Class(Lable)이 불균형 구조일 때 모델 성능을 정확히 평가한다고 한다. 필자는 '데이터 클래스 불균형' 이라는 개념에 대해 생소했고 이를 알아보기 위해 갓구글링의 도움을 받아보았다. 먼저 데이터 불균형 구조에 대한 정의부터 알아보자. 데이터 불균형이란 어떤 데이터에서 각 클래스(주로 범주형 변수)가 갖고 있는 데이터의 양에 차이가 큰 경우를 말한다. 예를 들어, 병원에서 질병이 있는..
[ML] ANN(Artificial Neural Network) 인공신경망 ※해당 게시물에 사용된 일부 자료는 순천향대학교 빅데이터공학과 정영섭 교수님의 머신러닝 전공수업 자료에 기반하였음을 알려드립니다. 이번 포스팅에서는 저번 포스팅에서 다루었던 주제인 Perceptron(퍼셉트론)의 종류 중 다층 퍼셉트론(MLP=Multi-Layer Perceptron)이라고 할 수 있는 ANN(Artificial Neural Network)인 '인공신경망'에 대해 다룰 예정이다. 목차는 다음과 같다. 0. 왜 ANN과 딥러닝을 쓰는가? 1. ANN의 특성 2. ANN의 활성함수(Activation Function) 3. ANN의 학습 4. ANN의 Parameter Optimization(학습방법) 5. ANN 전처리(초기값 부여) 6. ANN의 Overfitting을 막기위한 방법 0...
[ML] Perceptron(퍼셉트론)의 이해와 종류 ※해당 게시물에 사용된 일부 자료는 순천향대학교 빅데이터공학과 정영섭 교수님의 머신러닝 전공수업 자료에 기반하였음을 알려드립니다. 이번 포스팅에서는 인공신경망, 딥러닝의 근간이 되는 퍼셉트론의 개념에 대해 알아보고 퍼셉트론의 종류에는 무엇이 있는지에 대해 공부하려 한다. 목차는 다음과 같다. 1. 퍼셉트론(Perceptron)이란? 2. 퍼셉트론의 종류 3. 퍼셉트론의 학습 알고리즘 4. 퍼셉트론 정리 1. 퍼셉트론(Perceptron)이란? 우선 퍼셉트론은 인간의 뉴런으로부터 착안하여 생겨난 개념이다. 그렇다면 이러한 뉴런이라는 개념을 우리 실생활 문제를 해결하기 위해 어떻게 적용할 수 있을까? 밑의 그림을 보면서 퍼셉트론을 이해해보자. 간단하게 구성요소로 말하자면 '입력값 - 순입력함수 - 활성함수 ..
시계열 데이터(Time-Series) 분석, 예측방법 이번 포스팅에서는 시계열 데이터를 분석과 미래의 값을 예측하기 위해 사용하는 구체적인 방법들에 대해서 소개하겠다. 필자는 어떤 주제를 공부하기 전에 큰 숲이라는 개괄적인 부분보고 세부적인 부분으로 들어가는 이상한(?)습관이 있어서 우선 예측방법의 큰 틀이 어떻게 되어있는지 보고 넘어가자. 위 그림과 같이 예측방법이 여러가지로 분류된다. 우리는 앞으로 소개할 방법들은 위 그림에서 '고전적 방법-평활법-이동평균과 지수평활법' 의 여러가지 방법들에 대해서 소개하려 한다. 목차는 다음과 같다. 1. 단순이동평균법 2. 선형이동평균법 3. 가중이동평균법 4. 단순지수평활법 5. Holt 선형지수평활법 6. Holt winters 계절지수평활법 1. 단순이동평균법 단순이동평균법은 추세가 있는 경우의 데이터에 적합하..
[ML] 데이터 학습방법으로서 MLE, MAP ※해당 게시물에 사용된 일부 자료는 순천향대학교 빅데이터공학과 정영섭 교수님의 머신러닝 전공수업 자료에 기반하였음을 알려드립니다. 이번 포스팅에서는 간단한 주제를 다룰텐데, 바로 데이터들이 모델에서 학습하는 방법에 대한 내용이다. 학습방법으로서는 MLE(Maximum Likelihood Estimation)와 MAP(Maximum A Posteriori estimation)이 존재한다. 하나씩 알아보자. 1. MLE(Maximum Likelihood Estimation) 2. MAP(Maximum A Posteriori estimation) 1. MLE(Maximum Likelihood Estimation) 우선 MLE는 모델 파라미터를 Observation data(이미 관측된 데이터)에만 기반하여 추..
LU Decomposition(LU 분할) 이번 포스팅에서는 저번 시간에 계속적으로 배웠던 '가우스 소거법(Gauss Elimination)' (줄여서 'GE'라고 부르기도 한다.)에서 이끌어낼 수 있는 LU 분할에 대해서 알아보려고 한다. 기본적으로 가우스 소거법의 계산과정을 알아야 LU분할이라는 개념이 이해가 되기 때문에 가우스 소거법을 모른다면 이전 포스팅을 참고하자. (가우스 소거법을 알고 싶다면? https://techblog-history-younghunjo1.tistory.com/67) 앞으로 소개할 목차는 다음과 같다. 1. LU Decomposition (LU분할) 2. Triangular Factors 3. Pivoting을 고려한 LU분할 1. LU Decomposition 사람에 따라 LU Factorization이라고도 부..
시계열 데이터(Time-Series Data)의 특징과 모형 앞으로 게시할 포스팅은 주로 순천향대학교 빅데이터공학과 김영민 교수님의 '시계열 분석' 수업자료에 기반을 두었으며 포스팅 내용의 출처는 김영민 교수님의 수업자료에 있음을 우선적으로 알려드립니다. 데이터사이언스 분야에서도 데이터분석가가 되기 위해서는 통계적인 지식이 필수적이다. 통계라는 것은 시간과 무조건적으로 관련되어 있으며 이는 곧 시계열 자료 즉, Time-Series Data와도 밀접하게 연관되어 있음을 의미하기도 한다. 학교에서 '시계열 분석' 전공과목을 들으면서 이 학습시간을 효율적으로, 그리고 나의 머릿속에 오래도록 남기게 하기 위해서 시계열 분석 관련 포스팅을 남기려 한다. 블로그에서는 주로 이론적인 면을 다루며 R을 사용하여 시계열 분석을 실습해보는 코드는 해당 Github의 레포지토리에 ..
1차 연립방정식과 가우스 소거법(Gauss Elimination) 이번 포스팅에서는 Singular Case에 대해 알아보고 저번 포스팅에서 소개했었던 가우스 소거법의 구체적인 절차(방법)에 대해서 소개하려고 한다. 목차는 다음과 같다. 1. Singular Case란? 2. Gauss Elimination(가우스 소거법) 절차 1. Singular Case란? 우선 정의부터 하자면 Singular Case란 Unique한 해를 가지지 않을 때를 말하며 두 가지의 Case가 존재한다. No solution : 해가 존재하지 않아서 해결책이 없는 경우이다. Infinite solution : 해가 무수히 많아서 해결책이 무한한 개수인 경우이다. 다음 그림을 보면서 row form(도형, 직선)일 때와 Column form(벡터)일 때 두 가지 예시를 나누어서 살펴보자. ..
[ML] PCA(주성분분석), SVD, LDA by Fisher ※해당 게시물에 사용된 일부 자료는 순천향대학교 빅데이터공학과 정영섭 교수님의 머신러닝 전공수업 자료에 기반하였음을 알려드립니다. 이번 포스팅에서는 선형대수의 벡터를 기반으로 하는 모델들에 대해서 알아보려고 한다. 앞으로 소개할 모델들을 이해하기 위해서는 벡터공간에서의 기저(Basis)에 대한 개념 이해가 중요하다. 필자도 이 모델에 대한 수업을 들으면서 선형대수의 기초 개념 공부의 필요성을 느꼈고 개인적으로 오픈 소스 강의를 통해 학습을 진행하고 있다. 앞으로 소개할 목차는 다음과 같다. 1. 기본적으로 알고가야 할 개념 2. Eigen Value(고유값) Decomposition 3. SVD(Singular Value Decomposition) 4. PCA(Principal Component Anal..
선형성(Linearity) 정의 및 1차연립방정식의 의미 선형대수 카테고리에서는 한양대학교 KOCW 오픈강의 이상화 교수님의 선형대수 강의를 듣고 이에 대한 학습 포스팅을 남기려고 한다. 이번학기에 전공과목으로 배우기 시작한 머신러닝 과목에서 확률과 통계 개념도 등장했지만 모델에 따라 선형대수에 관한 개념도 많이 등장해서 개인적으로 선형대수학을 공부하려고 한다. 첫 포스팅은 선형대수의 '선형성'이라는 것에 대한 정의와 1차연립방정식의 의미에 대해 알아보자. 1. 선형성(Linearity) 우선 '선형'이라는 말은 "특정 함수나 Operation(연산)이 Linear(선형적)하다." 라는 말에 사용될 수 있다. "특정함수나 연산이 Linear하다"라고 하기 위해서는 두 가지 조건을 만족해야 한다. Superposition(중첩) : f(x1+x2) = f(x1)..
[ML] Linear Regression(선형회귀)& Logistic Regression ※해당 게시물에 사용된 일부 자료는 순천향대학교 빅데이터공학과 정영섭 교수님의 머신러닝 전공수업 자료에 기반하였음을 알려드립니다. 이번 포스팅에서는 가장 전형적인 머신러닝 모델이라고 할 수 있으며 연속적인 값을 예측할 수 있는 Linear Regression(선형회귀) 모델에 대해 알아보려고 한다. 또한 Linear Classification 이라고도 하며 Linear(선형)으로 Class(Label)을 분류할 수 있는 Logistic Regression에 대해 알아본다. 목차는 다음과 같다. 1. Linear Regrssion 2. Linear Regression의 Ridge Regression 3. Linear Regression의 Lasso Regression 4. Linear Classificat..
[그로스해킹] 고객유치 해킹방안 저번 포스팅에서는 그로스 해킹의 급속실험을 하기 위해 아이디어들 간에 우선순위를 설정하고 실험할 아이디어를 선정하는 방법까지 소개해보았다. 이번 포스팅에서는 아이디어를 선정했으니 구체적으로 어떻게 그로스 해킹을 하는지에 대한 방법에 대해서 설명하려고 한다. 그 중 첫 번째는 성장 깔때기의 첫 단계인 고객 유치 해킹방법이다. 1. 고객 유치 해킹 어느 기업에서나 새로운 고객들을 유치하는 것은 정말 중요할 것이다. 하지만 중요한 만큼 어려운 걸까? 오늘날의 많은 기업들이 새로운 고객을 유치하기 위해 들이는 비용이 새로운 고객을 유치함으로써 얻는 이득보다 큰 문제가 발생한다.배보다 배꼽이 더 커지는 셈이다. 그렇다면 어떤 방법으로 신규고객을 유치해야할까? 가장 효율적인 방법은 자사의 제품에 대해 강력한 입소문..
[ML] Bayesian Networks(베이즈 네트워크) ※해당 게시물에 사용된 일부 자료는 순천향대학교 빅데이터공학과 정영섭 교수님의 머신러닝 전공수업 자료에 기반하였음을 알려드립니다. 이번 포스팅에서는 Bayes Rule에 기반으로 하는 머신러닝 모델인 Bayesian Networks에 대해 알아보려고 한다. 그 전에 먼저 Bayesian Networks는 Bayes Classifier의 일반화 버전이다. 어찌됬든 두 개가 다른 모델이지만 Bayes에 관련된 머신러닝 모델들 여러가지를 포함하는 용어가 Bayesian Networks이다. 본격적인 머신러닝 모델들을 배우기 전에 가장 기반이 되는 Bayes Rule(베이즈 정리)를 알아보고 가자. 앞으로 전개해나갈 내용에 대한 목차는 다음과 같다. 1. Bayes Rule(베이즈 정리) 개념 2. Bayes ..
[ML] Decision Tree(의사결정나무) ※해당 게시물에 사용된 일부 자료는 순천향대학교 빅데이터공학과 정영섭 교수님의 머신러닝 전공수업 자료에 기반하였음을 알려드립니다. 이번 포스팅에서 머신러닝 모델 종류 중 가장 쉽고 단순한 Decision Tree(의사결정나무) 모델에 대해서 알아보려고 한다. 앞으로 전개할 컨텐츠 순서는 다음과 같다. 1. Decision Tree의 전체적인 구조 2. 좋은 Tree 란? 3. Decision Tree 생성 알고리즘인 'ID3 알고리즘' 4. Tree 생성 순서 5. Decision Tree의 기타 특징 1. Decision Tree의 전체적인 구조 의사결정나무의 전체적인 구조는 우리가 지금껏 살아오면서 쉽게 접했을 수 있는 모형이다. 다음 그림을 보면서 Tree를 구성하고 있는 여러 부분들의 용어를 알아..
[ML] 머신러닝의 종류와 용어개념 이번 학기에 머신러닝이라는 전공수업을 듣게 됬다. 저번학기 부터 관심이 간 분야지만 사실 이전에는 공부하면서 등장하는 개념을 알긴 아는 것 같은데 남에게 확실히 뭐라고 설명할 수 있을 정도로 지식의 깊이가 깊지 않았다. 이번학기 수업을 기반으로 해서 시험공부 뿐만 아니라 머신러닝의 기초를 다잡기 위해서 블로그 포스팅을 이용해보려고 한다. 개인적인 공부습관이 시험공부를 하기 위해서는 따로 연습장에 나만의 필기를 무조건 하는 스타일이라서 중간 중간 애매모호한 개념을 직관적으로 이해하기 위해서 필기 그림을 이용하는 것은 이해해 주길... 요즘 코로나로 인해서 아쉽게도 사이버강의로 진행하지만 최대한 따라가기 위해서 갓 구글링의 도움을 빌려가며 같이 공부하고 있다. 오늘은 첫 포스팅으로 머신러닝의 종류와 용어개념..