본문 바로가기

Big Data

(8)
[머신러닝] Hellow World 머신러닝 프롤로그 (글쓰기에 앞서서...) 안녕하세요? 처음으로 글을 쓰게 되었네요... 무엇을 쓸까 고민을 많이 하다가 그냥 흰종이만 쳐다보고 있었네요 ^^.. 우연하게 지난주에 Tensorflow 교육을 받게 되었고 그 후 머신러닝, 딥러닝, 빅데이터 , 데이터 분석 등.... 해보고 싶다라는 생각이 강하게 밀려와서 이렇게 글을 쓰게 되 었습니다. 근데 이미 이분야는 명동교자님이 쓰고 계셔서 겹치긴 하지만... 아무것도 모르는 입장에서 여기저기 부딪쳐가면 써내려가다보면서.. ^^ 많은 의견들도 있을 것이고 저도 많은 것을 배우지 않을까라는 조그마한 생각을 가지고 적으려 합니다. 기초적인 기술 부터 고차원 적인 기술까지 차근 차근 배우고 이해한 내용을 글로써 쓸 예정 이라 혹시나 잘못 이해한 점이나 이해 못하고 있는 부분은 같이 이야기 나눴으면..
(머신러닝-7) 텐서플로우 Basic 지금까지 파이썬에 대해서 알아보았다.파이썬과 텐서플로우는 궁합이 잘 맞는다.이제부터는 텐서플로우에 대해서 알아본다.텐서플로우는 모든 프로그램이 계산 그래프 (computational graph)를 통해 구성되며, 이 계산 그래프가 CPU, GPU 등의 연산장치에서 작동된다.계산 그래프란 프로그램의 계산 구조를 정의하는 방향성 그래프 (directional graph)를 말한다. 계산 그래프는 노드 (node)와 엣지 (edge)로 구성된다. 노드는 계산 그래프에서 값들의 계산하는 등의 작업을 나타낸다.텐서플로우에서 노드는 오퍼레이션(OP)라고 부른다. 그리고 실제 값을 전달하는 것이 엣지이다. 엣지는 화살표로 표현된다. 텐서플로우의 계산 그래프는 엣지를 따라 텐서(tensor)라는 형태로 값이 다른 오퍼..
(머신러닝-6) 머신러닝을 위한 파이썬 Advanced Data Analytics에서 파이썬은 상당히 유용한 패키지들을 많이 제공한다.지금부터 파이썬과 함께 쓰면 유용한 패키지들에 대해서 알아본다.앞으로 진행하게 될 텐서플로우도 마찬가지다.이번 장에서 살펴 볼 패키지들은 텐서플로우를 사용하면서도 많이 활용될 것들이다. NUMPYNumerical Python의 줄임말로 다차원 배열인 ndarray(N-dimensional array)와 선형대수, 난수 발생 등의 수학적 계산에 많이 사용된다.파이썬의 리스트 자료구조는 다양한 자료형을 저장할 수 있어 매유 유연하지만 메모리 점유 공간이 많고 속도가 느려지고, 프로그램 오류를 발생시키는 경우가 많다.이러한 문제를 해결하기 위해 numpy의 ndarray를 사용한다. numpy의 ndarray 사용하기import n..
(머신러닝-5) 머신러닝을 위한 파이썬 Basic 현재 공개된 텐서플로우의 예제들이 파이썬 언어로 작성되어 있기 때문에 파이썬을 이용해서 머신러닝을 공부하는 것이 좋다. 파이썬은 네덜란드의 개발자 Guido Van Rossum이 개발한 언어로 다른 언어와 비교해서 문법이 쉽고 간결하다. 동적언어이며 인터프리터 언어이다. Hello World a = "Hello World" print(a) print("Hello World!") 자료형은 다른 언어와 같다. int, float, bool, str 등 그러나 파이썬은 선언 과정이 없기 때문에 입력된 값에 맞춰 자료형을 판단한다. a = 1 b = 1.0 sum = a + b print(a) print(b) print(sum) 또한 파이썬은 데이터 자료형이 다를 때 자동 형 변환이 된다. 자료구조 분류자료형설..
(머신러닝-4) 첫번째 모형 - 선형회귀 본격적인 머신러닝을 수행하기 전에 가장 단순하면서도 파워풀한 모형을 살펴보자. 바로 선형회귀분석 모형이다. 회사에 월별 매출액 및 광고비 데이터가 있다고 가정하자.데이터를 분석해 보니 결과가 다음과 같다. 년 평균 매출액: 400억년 평균 광고비: 5억 그런데 갑자기 여러 분에게 사장님이 다음과 같이 물어본다. "OO 과장! 올해 광고비 얼마써야 할까?" 선형회귀분석 (Linear Regression Model)은 위와 같은 질문에 답할 수 있게 데이터를 설명하는 선(Line)을 찾는 모형이다. 데이터를 나타내는 식은 다음과 같다.여기에서 데이터를 설명하는 선에 대한 식은 Y가 매출액, X가 광고비로 놓으면매출액 = 300 + 20 * 광고비와 같은 식을 얻을 수 있다. 저 공식이 바로 데이터를 설명하는..
(머신러닝-3) 머신러닝 환경 구성 Data Analytics를 위한 환경으로 먼저 텐서플로우(Tensorflow)를 설치합니다. 텐서플로우는 구글 브레인팀에서 머신 러닝 및 딥러닝 개발을 목적으로 만든 오픈 소스 라이브러리입니다. 텐서플로우는 기본적으로 Python과 C++ 언어로 프로그램을 작성한다. 하지만 SWIG 인터페이스를 통해 JAVA, Ruby 등 다른 언어를 사용하는 것도 가능합니다. 텐서플로우는 다음과 같은 순서로 설치합니다. 1. 아나콘다 설치 프로그램 다운로드 URL: https://repo.continuum.io/archive/ URL에서 자신의 OS에 맞는 프로그램을 다운로드 받아 설치합니다. 현재 이 글을 작성하고 있는 PC는 Window10 64bit이므로 Anaconda3-4.4.0-Windows-x86_64...
(머신러닝-2) Data Analytics란? 이번 포스팅에서는 Data Analytics가 무엇인지 생각해 보겠습니다. 다음 그림은 Data Lake Reference Architecture 입니다. 호수와 같이 데이터를 한 곳에 모아 놓고 참조하고 싶을때 꺼내쓴다는 개념입니다. 다양한 데이터 소스로 부터 데이터를 취합하고 특징에 맞게 데이터를 처리하고 저장합니다. 그리고나서 Data Analytics 즉 분석작업을 하는 것이지요. 마지막으로 분석 결과를 시각화하는 것까지 데이터 처리의 흐름을 한 눈에 알 수 있는 아키텍처 입니다. Flume, Sqoop, Spark, Storm 등 다양한 기술들이 통합되어 해당 아키텍처가 만들어 집니다. Data Analytics로 가기전에 이러한 기술들 때문에 두손 두발 다들게 되기도 합니다. 이런 기술들을 알..
(머신러닝-1) 가트너 10대 전략 기술 트렌드 2017 위 그림의 가트너 10대 전략 기술 트렌드를 한글로 정리하면 다음과 같다. 인공지능과 고급 머신 러닝지능형 앱지능형 사물가상 현실 및 증강 현실디지털 트윈블록체인과 분산 장부대화형 시스템매시 앱 및 서비스 아키텍처디지털 기술 플랫폼능동형 보안 아키텍처 2016년까지 3D 프린팅 기술에 대한 내용이 하나의 트렌드로 자리잡고 있었지만 2017년 부터는 빠졌다. 그 기술이 별볼일 없어 졌다는 뜻이 아니라 이미 성숙해 졌다는 뜻이다. 인공지능과 머신러닝은 2016년까지 중간 정도에 위치했다. 2017년엔떡하니 1번을 차지하고 있다. 4차산업혁명? 디지털트랜스포메이션? 다 차치하고, 비즈니스에서 인공지능과 머신러닝은 필수 기술 요소다. 지능형 앱은 개인 비서와 같은 기능을 하는 것이다. 지능을 가지고 있는 앱. ..