Scikit-learn: 회귀를 이용한 주택 가격 예상

회귀 한번 돌아(일주하여) 원래로 돌아오는 것. 회귀의 개념을 처음 통계에 도입한 사람은 영국의 유전학자 갤톤(Galton. F.)이다. 그는 부모와 자식간의 신장을 조사하여, 일반적으로 장신인 부모의 아이는 장신이지만, 그 평균신장은 부모만큼 크지 않다는 것을 밝혀냈다. 다시 말하면 아이의 신장은 항상 일반적인 평균으로 되돌아가는 경향이 있다고 하여, 이것을 평균의 회귀현상이라 하였다. <fn>http://terms.naver.com/entry.nhn?docId=369855&cid=42413&categoryId=42413</fn> 회귀의 개념은 […]

Scikit-learn의 CountVectorizer를 이용한 “뉴스 그룹 분류”

이 포스트는 이전 포스트(Scikit-learn의 CountVectorizer를 이용한 “관련 게시물 찾기”)에서 이어집니다. 군집화 우리는 이전 포스트에서 “관련 게시물 찾기”를 하였습니다. 새로운 게시물이 들어왔을 때 Label이 붙어있지 않은 데이터 집합 중 가장 가까운 게시물을 찾는 작업을 알아보았습니다. 기존의 데이터가 그리 많지 않다면 이런 식으로 새로운 게시물과 기존 데이터 전체를 비교를 하면 되겠지만 만약 […]

Scikit-learn의 CountVectorizer를 이용한 “관련 게시물 찾기”

비지도학습 머신러닝에는 크게 지도학습과 비지도학습이 있습니다. 데이터 자체 뿐만 아니라 데이터가 가리키는 정보(Label)를 함께 입력하여 학습시키는 것을 지도학습이라고 합니다. 이와 반대로 비지도학습에는 Label이 없습니다. 데이터 자체만을 전달할 뿐이죠. 비지도학습은 스스로 Label을 찾아냅니다. 데이터 자체에서 패턴을 찾아내어 일종의 Label을 만드는 것입니다. 이번 포스트에서는 ‘관련된 게시물 찾기’를 통해 비지도학습이 어떻게 이루어지는지 알아보겠습니다. […]

Scikit-learn을 활용한 최근접 이웃 분류: 씨앗 데이터셋

최근접 이웃 분류 이번 포스트에서는 최근접 이웃 분류(일명 knn)에 관해 간단하게 알아보도록 하겠습니다. 최근접 이웃 분류란 해당 데이터 포인트에서 가장 가까운 곳에 위치한 데이터 포인트의 라벨을 예상값으로 하는 알고리즘입니다. Scikit-learn을 이용하여 교차 검증을 거쳐 최근접 이웃 분류를 해보도록 하겠습니다. 우선 import 부터 선언하겠습니다. import numpy as np from sklearn.neighbors import […]

Scikit-learn의 Iris 데이터셋 분류하기

Iris Dataset 분류하기 Scikit-learn의 기본적인 dataset 중에 4가지 특성으로 아이리스 꽃을 분류하는 예제가 있습니다, 01. 데이터 로드 #-*- coding: cp949 -*- #-*- coding: utf-8 -*- import math import matplotlib.pyplot as plt import numpy as np from sklearn.datasets import load_iris data = load_iris()   02. 데이터 구조 파악하기 data는 하나의 클래스 […]

large-icon

[Tensorflow] 10 Convolutional Neural Networks(CNN) 학습하기

  이론 01. Convoluted Neural Network(CNN) 이해하기 Convoluted Neural Network(CNN)의 핵심은 사진을 학습한다는 것입니다. Input으로 Label이 붙은 이미지 파일을 주고 수많은 이미지를 학습시켜 추후에 새로운 이미지가 입력되었을 때 정확히 Label을 붙이는 것을 목적으로 합니다. 예를 들어 강아지, 고양이, 새 등 여러 동물들의 이미지를 보여주고 새로운 강아지의 이미지를 입력하였을 때 학습된 […]

large-icon

[Tensorflow] 09 딥러닝에서 Vanishing gradient, Overfitting 해결하기

01. Geoffrey Hinton 이전 시간에도 보았듯이 딥러닝에서 깊이가 깊어질수록 Vanishing gradient로 인해 오히려 학습이 안되는 이유를 살펴보았습니다. 이에 덧붙여 그 해결방법으로 Sigmoid 함수였던 Activation function을 바꿔주면 된다고 언급하였습니다. Hinton 교수님은 이를 포함하여 딥러닝이 일시적으로 한계에 봉착한 이유 4가지를 정리하였습니다.  (1) Our labeled datasets were thousands of times too small. (2) […]

large-icon

[Tensorflow] 08 Deep Neural Nets의 기본 학습하기

01. Deep Neural Nets 이번 포스트에서는 Deep neural nets의 기본 개념을 알아보겠습니다. 위 그림은 우리 몸 속 곳곳에 있는 신경세포를 도식화 해놓은 것입니다. Cell body의 수많은 Dendrites로부터 Input을 받고 길게 뻗어있는 꼬리인 Axon을 통해 신호를 전달합니다. Axon terminal은 그 다음 신경세포 혹은 근육 등과 연결되어 있어 이후 단계에 Output 신호를 […]

large-icon

[Tensorflow] 07 MNIST data 학습하기

이론 위 그림이 MNIST Dataset입니다. 0~9 사이의 숫자를 손으로 쓴 데이터 집합입니다. 머신러닝을 통해 숫자를 구분시키는 학습을 시켜보려 합니다. 01) 어떻게…? MNIST data는 위와 같이 28×28 pixel의 이미지, 다시 말해 784 pixel의 정보를 담고 있습니다. 데이터를 직접 들여다보지는 않았지만 검은색은 1.0, 흰색은 0, 회색은 0.5로 정리해놓은 형태일 것이라고 추측됩니다. [06 […]

large-icon

[Tensorflow] 06 Softmax Classification: Multinomial classification

이론 01. 개요 Logistic classification이 데이터를 0과 1, 즉 이분법적으로 분류하는 것이라면 Multinomial classfication은 데이터를 더 많은 Label(혹은 Class)로 분류하는 것입니다. 성적을 줄 때 A, B, C 등으로 분류하는 것이 실생활 속의 대표적인 예입니다. Multinomial classification을 받아들이는 것은 어쩌면 Logistic classification을 처음 접할 때보다 쉬울지도 모릅니다. 그 이론을 그대로 끌고 […]