본문 바로가기
창의력, 사실 AI가 잘하는 일 챗GPT가 등장하자 알파고 이후 전 세계에서 다시 인공지능을 주목하고 있습니다. 현재의 인공지능은 2016년 알파고 등장과는 또 다른 위압감으로 다가옵니다. 챗GTP가 주는 충격은, 바둑에 한정하지 않고 Anyone, Anytime, Anywhere이기 때문입니다. 챗GPT는 누구나 어디에든 활용할 수 있는 대화형 인공지능 서비스입니다. ‘이거 알 방법 없나?’ 싶을 때 요즘은 너도나도 챗GPT에 물어보라고 합니다. 한마디로 흥미롭고 무섭다고 해야 할까요? 스테이플러의 역사, 중학생 회장선거 연설문, 크로아티아에서 이탈리아로 가는 페리 정보부터 시작해, 홈페이지에 들어갈 광고 배너 문구, MS Bing에서 기업 주소를 변경하는 방법까지 10초 안에 요구에 거의 근접한 정보를 줍니다. 『챗GPT-4 인공지.. 2023. 3. 30.
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-2. 시계열 데이터 전처리 Chapter 2-2. 시계열 데이터 전처리 앞서 Chapter 2에서는 numpy와 pandas를 이용하여 데이터 구조를 변형하는 방법에 대하여 알아보았다. 이번 챕터에서는 pandas에서 제공하는 시계열 도구와 가장 널리 쓰이는 타임스탬프(timestamp)라는 구조를 사용하여 설명할 것이다. 먼저, Datetime이라는 파이썬 라이브러리에서 제공하는 datetime을 사용하여 현재 날짜 및 시간을 알아보고, timedelta를 사용하여 시간적 차이를 표현해보자. In [1]: from datetime import datetime now = datetime.now() now Out[1]: datetime.datetime(2022, 5, 20, 11, 42, 5, 90657) Timedelta를 이용하.. 2022. 9. 28.
Chapter 2. Pandas 3편 : Time Series 머신러닝을 위한 Python 필수 라이브러리 2.2.10 데이터 로딩과 저장 2.2.10.1 파일 읽기 pandas에는 표 형식으로 되어있는 포맷으로 되어진 파일을 읽을 수 있도록 기능을 제공하고 있다. 그 중에서 주로 사용하는 read_csv와 read_table만 사용해보자. 해당 예제파일은 쉼표로 구분 되어있기 때문에 read_csv을 사용해서 dataframe으로 읽어올 수 있다. Read_table의 경우는 구분자를 쉼표로 지정해서 읽어올 수 있다. In [1]: !cat ex1.csv Out [2]: ,a,b,c,d 0,1,2,3,4 1,5,6,7,8 2,9,10,11,12 3,13,14,15,16 In [3]: df = pd.read_csv('ex1.csv', index_col = 0) In [4]: df Out [5]: abcd 01.. 2022. 8. 25.
Chapter 2. Pandas 2편 : Time Series 머신러닝을 위한 Python 필수 라이브러리 2.2 Time Series 머신러닝을 위한 Python 필수 라이브러리, Pandas 2편 2.2.3 원소선택, 인덱싱 2.2.3.1 series 인덱싱 인덱싱은 [위치] 또는 [‘인덱스명’]으로 인덱싱이 가능하다. In [1]: import pandas as pd import numpy as np In [2]: series_data = [2,4,6,8] In [3]: series_data = pd.Series(series_data) In [6]: series_data Out[6]: 0 2 1 4 2 6 3 8 dtype: int64 In [7]: series_data[1] Out[7]: 4 * 여러 값 인덱싱 및 슬라이싱 한 번에 여러 값을 인덱싱 하게 될 때는 위치나 인덱스명 둘 다 짝을 이루는 값.. 2022. 8. 25.
Chapter 2. Pandas 1편 : Time Series 머신러닝을 위한 Python 필수 라이브러리 2.2 Time Series 머신러닝을 위한 Python 필수 라이브러리, Pandas 1편 Pandas란? Python Data Analysis Library의 약어이며, R을 모티브로 하여 만들어진 파이썬 라이브러리이다. 쉽고 직관적인 관계형 또는 분류된 데이터로 작업할 수 있도록 설계된 빠르고 유연하며 표현이 풍부한 데이터 구조를 제공하고 있다. Pandas가 필요한 이유는 Numpy의 ndarray 데이터 구조는 산술 연산 작업에서 포맷이 잘 정리된 데이터 타입을 위한 기능들을 제공하고 있지만, 현실 데이터는 생각보다 정돈이 잘 되어있지 않기 때문이다. Pandas는 데이터를 표(table) 형태로 처리할 수 있어서 수집된 데이터의 전처리 등 각종 데이터 핸들링을 쉽고 편하게 할 수 있다. 그렇기.. 2022. 8. 25.