전체 글
[인공지능][개념&실습] 인공 신경망(ANN)에 대해 알아보고 패션 MNIST 데이터셋으로 패션 아이템을 분류해보자
이번 포스팅에서는 딥러닝(Deep Learning)이라고도 불리는 인공 신경망(ANN)에 대해 알아보고, 패션 MNIST 데이터셋으로 모델을 훈련시켜 패션 아이템을 분류해보는 실습을 해보도록 하자. 인공 신경망(ANN)은 우리가 흔히 이야기하는 딥러닝(Deep Laerning)과 거의 동의어로 사용되며, 위 그림처럼 층(layer)이라는 개념이 여러 개씩 쌓인 구조로 이루어져 있다. 층은 크게 '입력층 - 은닉층 - 출력층'으로 총 3종류로 구성되어 있다. 이 층(layer)에 대해 하나씩 알아보도록 하자. 입력층(Input Layer)은 단순히 값을 입력받는 역할만 수행하며, 특별히 계산을 하지는 않는다. 예를 들어, 지난 글에서 K-평균 모델로 3 종류의 과일을 분류할 때 사용했던 이미지를 떠올려보자..
[인공지능][개념&실습] 차원 축소 알고리즘 - 주성분 분석(PCA)을 알아보고 사진의 크기를 줄여보자
차원 축소 우리는 지난 포스팅에서 K-Means(++) 알고리즘을 사용하여 이미지를 비지도 학습으로 분류해보는 시간을 가져 보았다. 하지만 여기에는 한 가지 문제점이 존재한다. 우리가 이전 시간에 사용했던 이미지는 100px * 100px로, 총 10,000개의 픽셀로 이루어진 이미지였다. 즉, 하나의 이미지에는 10,000개의 차원(특성)이 존재한다는 것이다. (머신러닝에서는 특성을 차원(Dimension)이라고도 부른다.) 이게 정확히 무슨 뜻인지 사진을 통해 알아보자. 예시를 위해 가져온 자몽 이미지이다. 🍊 그냥 봤을 땐 그냥 이미지이지만 이 이미지를 확대해보면 . . . 이제는 이미지에서 자잘자잘한 픽셀들이 눈에 들어올 것이다. 학습을 하는 모델에게는 이런 픽셀 하나하나가 각각의 특성이 되며, ..
[인공지능][개념] K-Means 알고리즘의 문제점과 'K-Means++ 클러스터링'을 통해 개선하기
K-평균(K-Means)에 대한 이론이 필요하신 분들은 아래 링크를 참조해주시기 바랍니다. [인공지능][개념] K-평균(K-means) 알고리즘과 군집화(Clustering) + 이너셔(Inertia) 이해하기 : https://itstory1592.tistory.com/17 [인공지능][실습] K-평균(K-Means) 알고리즘으로 과일(fruits) 사진을 분류해보고 엘보우(Elbow) 방법을 통해 최적의 k값을 찾아보자 : https://itstory1592.tistory.com/18 이번 포스팅에서는 지난 시간에 이어 K-Means++ 알고리즘에 대해 알아보도록 하자! K-Means++ 알고리즘은 기존 K-Means 알고리즘을 개선한 분류 알고리즘이다. 그런데 왜 K-Means++ 알고리즘이 생겨나..
[인공지능][실습] K-평균(K-Means) 알고리즘으로 과일(fruits) 사진을 분류해보고 엘보우(Elbow) 방법을 통해 최적의 k값을 찾아보자
K-평균(K-Means)에 대한 이론이 필요하신 분들은 아래 링크를 참조해주시기 바랍니다. [인공지능][개념] K-평균(K-means) 알고리즘과 군집화(Clustering) + 이너셔(Inertia) 이해하기 : https://itstory1592.tistory.com/17 이번 글에서는 K-평균(K-means) 알고리즘을 사용하여 과일 사진을 비지도 학습으로 분류해보고 엘보우(Elbow) 방법을 통해 최적의 k값을 찾아보자. !wget https://bit.ly/fruits_300_data -O fruits_300.npy 우선, 과일 사진을 다운로드하기 위해서 위의 코드를 입력해준다. 파이썬에서는 !(느낌표)를 사용하고 리눅스 명령어를 입력하면 해당 명령어를 사용할 수 있다. 여기서는 웹 서버로부터 ..
[인공지능][개념] K-평균(K-means) 알고리즘과 군집화(Clustering) + 이너셔(Inertia) 이해하기
K-평균 (K-means) K-평균(K-means) 알고리즘은 데이터를 k개의 클러스터로 묶는 알고리즘이다. K-평균 알고리즘의 목적은 각 클러스터와의 거리 차이 분산을 최소화하여 데이터를 분류(Classification)하는 데에 있다. 클러스터(Cluster)라는 명칭이 생소하게 느껴질 수 있지만, 그룹이라는 단어같이 어떠한 요소들을 묶어놓은 단위체라는 뜻이며, 추가적으로 어떠한 요소들을 묶는 행위를 클러스터링(Clustering)이라고 부른다. K-평균 군집 알고리즘은 특정 데이터에서 평균값을 자동으로 찾아주는데, 이 평균값이 클러스터의 중심에 위치하기 때문에 클러스터 중심 또는 센트로이드(Centroid)라고도 부른다. 특히, 데이터 특징(feature)을 분석했을 때, 정답 역할을 하는 타겟(t..
[인공지능][개념&실습] 트리의 앙상블(Ensemble)[2] - 엑스트라 트리(Random Forest)와 (+ 히스토그램 기반) 그레이디언트 부스팅
결정 트리(Decision Tree)와 앙상블(Ensemble)에 대한 이론이 필요하신 분들은 아래 링크를 참조해주시기 바랍니다. [인공지능][개념] 분류(Classification) - 결정 트리(Decisioin Tree)와 가지치기(Pruning) : https://itstory1592.tistory.com/12 [인공지능][실습] 결정 트리(Decision Tree) 모델로 와인(Wine) 데이터셋을 분류하고 교차 검증(Cross Validation)과 그리드 서치(Grid Search)로 최적의 하이퍼 파라미터를 찾아보자! : https://itstory1592.tistory.com/13 [인공지능][개념&실습] 트리의 앙상블(Ensemble)[1] - 랜덤 포레스트(Random Forest) ..
[인공지능][개념&실습] 트리의 앙상블(Ensemble)[1] - 랜덤 포레스트(Random Forest)
결정 트리(Decistion Tree)와 가지치기(Pruning)에 대한 이론이 필요하신 분들은 아래 링크를 참조해주시기 바랍니다. [인공지능][개념] 분류(Classification) - 결정 트리(Decisioin Tree)와 가지치기(Pruning) : https://itstory1592.tistory.com/12 [인공지능][실습] 결정 트리(Decision Tree) 모델로 와인(Wine) 데이터셋을 분류하고 교차 검증(Cross Validation)과 그리드 서치(Grid Search)로 최적의 하이퍼 파라미터를 찾아보자! : https://itstory1592.tistory.com/13 앙상블 (Ensemble) 앙상블(Ensemble)은 통계역학에서, 어떤 계와 동등한 계의 모음을 말한다...
[인공지능][실습] 결정 트리(Decision Tree) 모델로 와인(Wine) 데이터셋을 분류하고 교차 검증(Cross Validation)과 그리드 서치(Grid Search)로 최적의 하이퍼 파라미터를 찾아보자!
결정 트리(Decistion Tree)와 가지치기(Pruning)에 대한 이론이 필요하신 분들은 아래 링크를 참조해주시기 바랍니다. [인공지능][개념] 분류(Classification) - 결정 트리(Decisioin Tree)와 가지치기(Pruning) : https://itstory1592.tistory.com/12 이번 글에서는 결정 트리(Decision Tree)와 가지치기(Pruning)를 사용하여 모델의 과대 적합(Overfitting)을 줄이면서 와인 데이터셋을 화이트 와인과 레드 와인으로 분류하는 모델을 구현해볼 예정이다. 더불어 교차 검증(Cross Validation)을 통해 테스트 데이터 한 묶음만 사용하는 것이 아닌, 훈련용 데이터의 모든 부분을 테스트 데이터로 활용하는 방법과, 그..
[인공지능][개념] 분류(Classification) - 결정 트리(Decisioin Tree)와 가지치기(Pruning)
의사 결정 트리 (Decision Tree) 의사 결정트리(Decision Tree)란 모델에게 질문을 던지고 YES or NO 를 판단하여 결과의 대상을 좁혀나가는 인공지능의 분류 기법 중 하나이다. (의사 결정트리 모델을 거꾸로 뒤집어 보면 나무와 비슷한 모양이 보이기 때문에 나무(Tree)라는 이름이 붙게 되었다.) 다소 복잡해 보일 수 있는 결정 트리를 하나하나 함께 살펴보도록 하자. 오른쪽 이미지는 실습에서 진행할 레드 와인(음성 클래스)과 화이트 와인(양성 클래스)을 맞추는 이진 분류(Binary Classification) 모델이다. 결정 트리 모델을 보면 '노드(Node)'라고 부르는 네모난 질문 박스가 보일 것이다. 설명을 위해 트리의 맨 최상위에 위치한 루트 노드(Root Node)를 ..
[인공지능][실습] 로지스틱 회귀(Logistic Regression) - 붓꽃 데이터(Iris Data)를 사용하여 3종류의 꽃을 분류해보자
로지스틱 회귀(Logistic Regression)에 대한 이론이 필요하신 분들은 아래 링크를 참조해주시기 바랍니다. [인공지능][개념] 로지스틱 회귀(Logistic Regression)는 무엇이며, 시그모이드(Sigmoid) 함수는 왜 사용하는 것일까? : https://itstory1592.tistory.com/8 [인공지능][실습] 로지스틱 회귀(Logistic Regression) - 나는 과연 타이타닉 침몰에서 살아남을 수 있었을까? : https://itstory1592.tistory.com/10 이번 시간에는 붓꽃 데이터(Iris Data)를 사용하여 로지스틱 회귀(Logistic Regression) 모델을 훈련하고, 꽃의 종류를 분류하는 실습을 진행해보도록 하자. 지난 글과는 다르게 이..