본문 바로가기
Chapter 3-3. 결정 트리 Chapter 3-3. 결정 트리 결정 트리는 트리 구조를 기반으로 데이터에서 규칙을 학습하여 분류(Classification) 문제와 회귀(Regression) 문제, 그리고 다중출력 문제까지도 해결할 수 있는 지도학습 계열의 머신러닝 알고리즘이다. 결정 트리 모델은 나무가 가지를 엮은 것과 같은 구조로 (마치 스무고개 처럼) 복잡한 데이터에서도 빠르게 동작하는 것이 큰 특징이며, 널리 알려진 머신러닝 알고리즘 중 하나인 랜덤 포레스트(Random Forest)의 기본 구성이 되는 모델이다. 결정 트리(Decision Tree) 결정 트리는 특정 기준(질문) 을 따라 데이터를 구분 짓는다. 결정 트리의 가장 첫 번째 기준은 트리에서 최초 깊이인 루트 노드(Root node) 에서 시작한다. Python.. 2023. 2. 22.
Chapter 3-2. 모델 훈련 Chapter 3-2. 모델 훈련 머신러닝 모델을 블랙박스로 취급하여도 모델을 훈련시키는 것은 가능하다. 하지만 훈련이 이루어지는 원리를 이해한다면 적절한 기법을 선택하여 훈련시간은 단축시키거나 모델의 성능을 높이는 것이 가능하다. 이번 장에서는 Chapter 3. 머신러닝에서 소개한 학습률, 비용 함수 등에 이어서 모델훈련에 필요한 몇 가지 개념을 다룬다. 경사 하강법 이전 장에서 언급한 것과 같이 비용 함수(Cost function)는 입력 데이터에 대한 오차를 계산하는 함수이다. 머신러닝에서는 오차를 줄이기 위해 다양한 최적화 알고리즘이 이용된다. 그 중에서 경사 하강법(Gradient Descent)은 가장 일반적인 최적화 알고리즘이다. 그림과 같이 비용 함수가 주어진 경우 경사 하강법은 파라미터.. 2023. 1. 19.
Chapter 3. 머신러닝 Chapter 3. 머신러닝 머신러닝의 정의와 활용 머신러닝이란 무엇인가? 머신러닝(Machine Learning)은 인공지능(Artificial Intelligence)의 한 부분으로, 입력된 데이터로부터 컴퓨터가 학습하도록 프로그래밍하는 것을 말한다. 이 챕터에서는 머신러닝을 분류하는 두 가지의 방법에 대해 알아볼 것이다. * 머신러닝을 분류하는 첫 번째 방법: 지도 학습, 비지도 학습, 준지도 학습, 강화 학습 지도 학습(Supervised Learning)은 훈련 데이터에 레이블(정답)이 있는 학습 방법이며, 대표적으로 K-nearest neighbors(K-최근접 이웃), Linear regression(선형 회귀), Logistic regression(로지스틱 회귀), Support vecto.. 2022. 11. 23.
Chapter 2-3. 기초 시계열 분석 Chapter 2-3. 기초 시계열 분석 이번 장에서는 시계열 분석에서 자주 나오는 용어 및 알아야 할 개념들을 간단하게 정리해보고자 한다. 확률과정(Stochastic Process) 확률과정은 확률변수들의 수열이다. 즉, {Y(t), t = 0, ±1, ±2, ...} 형태로 나타낼 수 있으며, 시계열 데이터를 이해하려면 Y(t) 들의 결합 확률 분포를 분석해야 한다. 왜냐하면, 일반적인 시계열 데이터는 독립이 아니기 때문에, 결합 확률 분포를 각 확률 변수의 분포들로 분해할 수 없기 때문이다. 하지만, 평균과 분산을 분석하면 결합 확률 분포의 많은 부분을 이해할 수 있다. 평균, 분산, 공분산, 상관계수 앞서 Chapter 1. 기초 선형대수 및 통계학에서 간단하게 소개한 개념들을 수식으로 알아보자.. 2022. 10. 26.
Chapter 2. Numpy 2편 : Time Series 머신러닝을 위한 Python 필수 라이브러리 1편에서는 array의 생성 방법과 타입 확인, 텐서 차원 등을 실습해 보았다면, 2편에서는 array를 직접 적용하여 실습해 보고자 한다. 2-4. numpy 인덱싱, 슬라이싱, 전치행렬 2-4-1. 인덱싱 인덱싱은 Python 리스트와 동일한 개념으로 사용되고, ‘,’(쉼표)를 통해 각 차원의 인덱스에 접근이 가능하다. 그리고 Ndarray에서 원하는 좌표 또는 특정 데이터만을 선택하는데 유용하게 사용된다. 이때 인덱싱을 할 때 0번부터 인덱스가 시작하는 것을 주의하고, 원하는 축을 지정하려면 axis를 통해 선택할 수 있다. 인덱싱 종류로는 '특정 데이터만 추출', '슬라이싱', '팬시 인덱싱', '불리언 인덱싱' 등이 있다. 인덱싱 및 슬라이싱 '특정 데이터만 추출'은 말 그대로 원하는 위치의 인.. 2022. 7. 27.
Chapter 2. Numpy 1편 : Time Series 머신러닝을 위한 Python 필수 라이브러리 Time Series 머신러닝을 위한 Python 필수 라이브러리, Numpy 1편 머신러닝 알고리즘을 공부하기 앞서, 시계열 데이터를 다루기 위해서 Python 언어의 라이브러리 사용법에 익숙해져야 할 필요가 있다. 이번 챕터에서는 라이브러리를 중점적으로 살펴보며, 여러 실습 예제를 다뤄볼 것이다. Numpy와 Pandas는 큰 규모의 데이터를 탄력적으로 작업할 수 있도록 많은 고성능 도구들을 제공한다. Numpy와 Pandas가 무엇인지 살펴보고, 그 핵심 기능들에 대해 알아보자. 실습을 위한 환경으로는 크게 Jupyter notebook을 직접 구축하여 로컬에서 사용하는 방법과 Google Colab을 사용하는 방법이 있다. 빠른 실습 환경 구축을 위해 Colab을 활용하기를 권장한다. * Nump.. 2022. 7. 27.
Chapter 1. 기초 선형대수 및 통계학 : Time Series 머신러닝을 위한 Python 필수 라이브러리 Time Series 머신러닝을 위한 기초 선형대수 및 통계학 머신러닝과 딥러닝 공부를 시작하고 싶은 분들을 위해, 여러 분야 중 시계열 데이터를 활용한 데이터 처리 및 머신러닝, 딥러닝 알고리즘을 소개하고자 한다. 이는 엑셈의 AI 기반 IT 운영 지능화 솔루션인 XAIOps의 알고리즘 모델들에 대해 이해할 수 있는 첫 걸음이기도 하다. 학습이 모두 끝난 후에는 머신러닝과 딥러닝이 무엇이며, XAIOps의 알고리즘들이 어떤 방식으로 모델링 되는지에 대한 기초적 이해에 도움이 될 것이다. 이에 앞서 데이터 처리 및 AI 알고리즘을 이해하기 위해 사전 지식으로 요구되는 기초 선형대수 및 통계학에 대해 알아보자. 우리는 왜 행렬을 공부해야 할까? 많은 양의 데이터(행렬) 구조를 변환할 때, 알고리즘(모델)의.. 2022. 6. 27.