본문 바로가기

Challenge/엘리스 AI 트랙 2기

엘리스 AI 트랙 2기 - 16, 17주차 모히또 레이서의 학습일지

728x90
반응형

 

 

팀 프로젝트가 끝나고 바로 쉴 여유도 없이 본격적인 인공지능 수업이 시작되었다.(살려줘...

 

이번 과목부터는 쏟아지는 고오급 수학 개념 때문에(내 기준에서..)

수포자이자 뼛속까지 문과인 나에겐 수업을 듣는 행위 자체가 솔직히 말하자면 죽을 맛이었다.

 

많은 양의 고오난도 수학이...

 

예전부터 인공지능에 관심이 많았지만... 많이 부족한 내 수학 실력 때문에 수업 듣기가 요즘 많이 무섭다. ㅋㅋㅋ

 

 

그래도 어쩌겠는가 내가 선택한 길... 그래도 포기 안 하고 열심히 하려고 노력 중이다.

 


 

Numpy 소개 및 실습

 

 

넘파이란?

 

Python에서 사용되는 과학 컴퓨팅용 라이브러리이다.

 

더 자세히 말하자면 파이썬에서 기본으로 지원하지 않는 행렬과 같은 데이터 구조 지원 및 수학/과학 계산 함수를 포함한 라이브러리이다.

 


 

그럼 왜 넘파이의 사용이 중요할까?

 

머신러닝에서 대부분의 데이터는 행렬로 표현되기 때문!

 

 


 

 

행렬 만들기

 

import numpy as np

A = np.array(([1, 2],[3, 4]])
print(A)

결과: [[1 2]

           [3 4]]

 

 

 

이렇게 만든 행렬은 곱셈, 덧셈, 뺄셈 등 사칙연산과 산술 연산이 가능하다.

 

 

 

 


 

 

이 외로 기계학습을 위한 다양한 알고리즘을 학습했다.

 

 

 


 

 

1. 회귀분석

 

가장 기초적인 선형 회귀분석인 단순 선형 회귀분석(Simple Linear Regression)에 대해 배웠다.

 

 

결국 선형 회귀분석의 목표는 주어진 모델을 통해 값의 오차를 최소화하여 예측(위의 그림에서는 예상 몸무게 구하기)을 하는 것이다.

 

 


 

2. 분류

 

 

분류는 주어진 데이터가 어떤 클래스에 속하는지 알아내는 작업

 

확률 기초와 나이브 베이즈 분류에 대해서 배웠다.

 

 


 

 

확률이란?

 

어떤 사건이 일어날 것인지 혹은 일어났는지에 대한 지식 혹은 믿음을 표현하는 방법

 

 

 

 

 

흥미롭게도 확률론은 도박과 함께 이론이 발전되었다고 한다.

 

 

보통 단순하게 생각하면 A가 50만 원 B가 30만 원을 각각 나눠갖는 것이 합리적인 판단으로 보이지만,

 

결국 이 문제는 확률로 봤을 때 A는 한 번만 승리해도 돈을 전부 가질 수 있지만,

B는 3번을 내리 승리하여야지 전부를 가질 수 있기 때문에 

 

A가 승리할 확률 7/8, B가 승리할 확률 1/8각 7:1 비율로 나눠갖는 것이 확률론 적으로 이상적이다.

 

 


 

 

나이브 베이즈 분류

 

 

 

들어 있는 사탕의 비율이 각각 다른 두 개의 사탕 기계 A, B가 있다.

 

 

 

 

사탕 10개를 뽑았을 때, 비율이 빨간색 4개, 노란색 5개, 초록색 1개인 상황에 놓였다.

과연 이 사탕의 조합은 어느 기계에서 뽑은 것일까?

 

 

 

X는 사탕 10개를 뽑아 그 결과를 관측한 사건, A는 사탕 기계 A에서 사탕을 뽑은 사건,

B는 사탕 기계 B에서 사탕을 뽑은 사건이다.

 

이를 나이브 베이즈 분류법으로 계산하면 A에서 나왔을 확률이 두 배 더 높은 것을 확인할 수 있다.

 

 

 



 

3. 비지도 학습

 

 

비지도 학습은 답이 정해져 있지 않은 데이터에서 숨겨진 구조를 파악하는 것이다.

 

 

반대로 지도 학습은?

지도 학습 = 얻고자 하는 답으로 구성된 데이터

 


 

비지도 학습에서는 클러스터링에 대해 배웠다.

 

 

 


 

 

K-means 클러스터링: 반복을 이용한 클러스터링 알고리즘

 

 

 

 

K-means 클러스터링의 중요한 두 가지 개념

 

 

 


 

 

준비 단계

 

K-means는 중심(Centroid)의 위치에 의해 클러스터링을 진행한다. 알고리즘을 수행할 때, 초기 중심값은 데이터 중 임의로 선정한다.

 

그다음 중심값이 정해지면, 각각의 데이터 포인트에 대해 한 기준에서 가장 가까운 중심점은 어디인지 계산을 실행한다.

 


 

 

 

위의 그림과 같이 주황색 점에서 가장 가까운 중심점은 중심 B이기 때문에

우선 데이터 포인트를 클러스터 B에 할당한다.

 

나머지 데이터 포인트에 대해서도 동일한 작업을 반복해서 수행한다.

 

 

그러고 나서 정해진 클러스터에서 중심점을 다시 계산한다.

 

 


 

 

 


 

 

계속해서 중심점을 업데이트한다.

 

 

 


 

 

 

마지막으로 모든 데이터 포인트에 대해 가장 가까운 중심의 클러스터로 할당시키고 중심을 업데이트한다.

그리고 어떠한 데이터 포인트의 할당도 변하지 않았으므로, 알고리즘을 종료시킨다.

 

 


 

느낀 점

 

 

 

728x90
반응형