빅데이타 & 머신러닝/머신러닝 71

수학포기자를 위한 딥러닝-#4 로지스틱 회귀를 이용한 분류 모델

수포자를 위한 딥러닝#4 - 로지스틱 회귀를 이용한 이항 분류 문제의 해결조대협 (http://bcho.tistory.com) 1장에서 머신러닝의 종류는 결과값의 타입이 연속형인 Regression (회귀) 문제와, 몇가지 정해진 분류로 결과(이산형)가 나오는 Classification(분류) 문제가 있다고 하였다. 2,3장에 걸쳐서 회귀 문제에 대해서 알아보았고, 이번장에서는 로지스틱 회귀를 이용한 분류 문제에 대해서 알아보자. 이 글의 내용은 Sung.Kim 교수님의 “모두를 위한 딥러닝”(http://hunkim.github.io/ml/) 을 참고하였다. 여러 자료들을 찾아봤는데, 이 강의 처럼 쉽게 설명해놓은 강의는 없는것 같다. 분류 문제(Classification)의 정의분류 문제란 학습된 모..

수학포기자를 위한 딥러닝-#3 텐서플로우로 선형회귀 학습을 구현해보자

수포자를 위한 딥러닝 #3 - 텐서플로우로 선형회귀 학습을 구현해보자 조대협 (http://bcho.tistory.com) 앞에서 살펴본 선형 회귀(Linear regression) 머신 러닝 모델을 실제 프로그래밍 코드를 만들어서 학습을 시켜보자. 여러가지 언어를 사용할 수 있지만, 이 글에서는 텐서플로우를 기반으로 설명한다. 텐서플로우 개발 환경 셋업텐서 플로우 개발 환경을 설정하는 방법은 여러가지가 있지만, 구글 클라우드의 데이타랩 (datalab)환경을 사용하기로 한다. 텐서플로우 환경을 설정하려면 파이썬 설치 및 연관된 수학 라이브러리를 설치해야 하는 등 설치가 까다롭기 때문에, 구글 클라우드에서 제공하는 파이썬 노트북 (Jupyter 노트북 : http://jupyter.org/ ) 이 패키징..

수학포기자를 위한 딥러닝-#2 머신러닝 개념 이해

수포자를 위한 딥러닝 #2 - 선형회귀분석을 통한 머신러닝의 기본 개념 이해 조대협 (http://bcho.tistory.com) Linear Regression을 통한 머신 러닝의 개념 이해거리에 따른 택시 요금 문제머신러닝이란 무엇일까? 개념 이해를 돕기 위해서 선형 회귀 (Linear Regression)이라는 머신러닝 모델을 보자. 먼저 선형 회귀 (Linear regression)이 무엇인지 부터 이해를 해야 하는데, 쉽게 설명하자면 결과값 (output value)이 있고 그 결과값을 결정할 것이라고 추정되는 입력값 (input value)과 결과 값의 연관관계를 찾는 것이고 이를 선형 관계를 통해 찾는 방법이 선형 회귀 (Linear regression)이다. 예를 들어서 설명해보자, 택시 ..

수학포기자를 위한 딥러닝-#1 머신러닝과 딥러닝 개요

수포자를 위한 딥러닝#1 - 머신러닝의 개요조대협(http://bcho.tistory.com)들어가기에 앞서서 몇년전부터 빅데이타와 머신러닝이 유행하면서 이분야를 공부해야겠다고 생각을 하고 코세라의 Andrew.NG 교수님의 강의도 듣고, 통계학 책도 보고, 수학적인 지식이 부족해서 고등학교 수학 참고서도 봤지만, 도저히 답이 나오지 않는다. 머신 러닝에 사용되는 알고리즘은 복잡도가 높고 일반적인 수학 지식으로 이해조차 어려운데, 실제 운영 시스템에 적용할 수 있는 수준의 알고리즘은 석박사급의 전문가적인 지식이 아니면 쉽게 만들 수 없는 것으로 보였다. 예를 들어 인공지능망(뉴럴네트워크:Neural Network) 알고리즘에 대한 원리는 이해할 수 있지만, 실제로 서비스에 사용되는 알고르즘을 보니 보통 ..

나이브 베이즈 분류 (Naive Bayesian classification) #1 - 소개

나이브 베이즈 분류 (Naive Bayesian classification) #1 - 소개조대협 (http://bcho.tistory.com) 지금 부터 소개할 알고리즘은, 머신러닝 알고리즘 중에서 분류 알고리즘으로 많이 사용되는 나이브 베이스 알고리즘이다. 배경 지식나이브 베이스 알고리즘을 이해하려면 몇가지 배경 지식이 필요하다. 베이스 정리먼저 베이스 정리를 보면, 매개 변수, x,y가 있을때, 분류 1에 속할 확률이 p1(x,y)이고, 분류 2에 속할 확률이 p2(x,y)일때, p1(x,y) > p2(x,y) 이면, 이 값은 분류 1에 속한다.p1(x,y) < p2(x,y) 이면, 이 값은 분류 2에 속한다.나이브 베이스 알고리즘은 이 베이스의 정리를 이용하여, 분류하고자 하는 대상의 각 분류별 확..

머신러닝 프레임웍에 대한 간단 메모

머신 러닝 프레임웍에 대한 간단 정리 머신 러닝을 다시 시작해서 보다 보니 어떤 언어로 개발을 해야 하는지 의문이 들어서 페이스북 Server Side architecture 그룹에 올렸더니, 좋은 정보가 많이 들어왔다.Matalab이나 R과 같은 언어는 수학 라이브러리가 풍부해서, 주로 모델을 만들어서 시뮬레이션 하는데 많이 사용되고Python이 수학 라이브러리가 풍부해서 그런지 ML 부분에서 많이 사용되는데, Production 까지 올라가는 경우는 잘 못본거 같고, 주로 Python으로 모델을 프로토타이핑 하는 수준으로 사용되는 것으로 보인다. 아직까지 자세히는 보지 못했지만, 자바의 Spark이나 Mahout과 같은 분산 환경 지원성이 약하고, 언어의 특성상 다른 언어보다 성능이 떨어져서, 실제 ..

Numpy Install

NumPy 설치 하기 파이썬으로 머신 러닝을 구현하기 위해서는 수학 라이브러리인 numpy가 필요하다 설치는 http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy 에서 *.whl 파일을 다운로드 받은후pip install numpy-1.9.2rc1+mkl-cp27-none-win_amd64.whl (64 비트 기준)으로 설치 하면 된다. 설치후 확인을 위해서는 위와 같이 from numpy import * 를 한후에, random.rand(4,4)가 제대로 실행되는지 확인하자 참고머신러닝이나 빅데이타 분석을 위해서는 NumPy 뿐만 아니라 matplot등 다양한 수학 모듈을 깔아야 하는데, 방화벽등이 있거나 하면 깔기가 매우 까다롭다. (의존성 관계도 복잡하고). 그래서..

맨땅에 해딩 머신러닝 #2 - 선형 회귀 모델 (1)

Linear Regression (선형 회귀 문제)선형 회귀 문제란, 데이타의 분포를 분석하였을때, y=a1+a2x와 같은 선형 그래프 형태로 정의될 수 있는 문제를 이야기 한다.“집 평수에 따른 가격” 문제로 다시 돌아와보자.다음과 같은 트레이닝 셋(Training Set)데이터가 있다고 하자 평수 (x) 가격 (y) 2104 460 1416 232 1534 315 예를 들면, 이 트레이닝 셋에서 x1 = 2104가 되고,x3=1534가 된다. 그리고 y^2=232가 된다.그러면 머신러닝은 아래 그림을 이해하면 전체 개념을 잡을 수 있다. 그러면 머신 러닝이 어떤 흐름으로 작동하는지를 살펴보자. Hypothesis(추론)는 추론 알고리즘의 집합으로, Hypothesis h는 Feature를 넣으면 Ta..

맨땅에 해딩 머신러닝 #1-기본 개념 잡기

맨땅에 해딩 머신러닝 #1 어떻게 강의도 보고 이야기를 듣다 보니, 빅데이타 분석등에서 중요한 것은 데이타 저장/통계뿐만 아니라 데이타 분석을 기반으로 예측등과 같은 의미를 찾아내는 것이 중요하다는 것을 알게 되었는데, 후배가 DEVIEW 컨퍼런스에서 딥러닝 강의등을 듣고 대략적인 원리를 듣고 감명 받은 소감을 이야기 해줘서 관심을 가지고 있던 중, 아프리카 TV의 추천 시스템 등의 강의를 접하게 되었습니다.모든게 기본적으로 머신러닝이라는 것을 기본으로하고 있었는데, 이 분야를 공부하려고 봤더니, 수학(선형대수), 통계학 그리고 빅데이타 분석 시스템, 대용량 분산 처리 시스템등 여러가지 학문이 엮어 있더군요.지금까지 기술 흐름을 봤을때, 이 부분이 중요한 부분이 될것 같기도 해서 막상 공부를 시작하려고 ..