SW Engineering 264

단층 퍼셉트론 (Single-layer Perceptron)

단층 퍼셉트론 (Single-layer Perceptron) 퍼셉트론 (Perceptron)은 1957년 코넬 항공 연구소에 근무하던 프랑크 로젠블라트(Frank Rosenblatt)가 MCP 뉴런 모델을 기초로 퍼셉트론이라는 알고리즘을 고안하였다. 퍼셉트론은 하나의 MCP 뉴런이 출력신호를 발생할지 안할지 결정하기 위해 MCP 뉴런으로 들어오는 각 입력값에 곱해지는 가중치 값을 자동적으로 학습하도록 한 모델이며 입력 벡터를 두 부류(class)로 구분하는 선형 분류기 이다. 퍼셉트론은 신경망(딥러닝)의 기원이 된 알고리즘이다. 퍼셉트론은 다수의 신호를 입력 받아 하나의 신호를 출력한다. 여기서 말하는 신호는 전류처럼 흐름이 있는것을 뜻하며, 흐름의 상태 정보를 앞으로 전달한다. 아래 그림은 x1, x2..

머신러닝 학습 방법(Supervised, Unsupervised, Reinforcement)

머신러닝 학습 방법(Supervised, Unsupervised, Reinforcement) 머신러닝의 데이터 학습 방법에는 지도 학습 (Supervised Learning)과 자율 학습 (Unsupervised Leaning), 강화 학습(Reinforcement Learning) 3가지 타입이 있다. 지도 학습 (Supervised Learning)과 자율 학습 (Unsupervised Leaning)에 사용되는 알고리즘은 아래 그림과 같이 나눌 수 있다. [지도 학습 (Supervised Learning)] 지도 학습(Supervised Learning)은 데이터에 대한 레이블(Label)-명시적인 정답-이 주어진 상태에서 컴퓨터를 학습시키는 방법이다. 이렇게 구성된 트레이닝 데이터셋으로 학습이 끝..

인공지능 / 머신러닝 / 딥러닝 개념

인공지능 / 머신러닝 / 딥러닝 개념 인공지능 (Artificial Intelligence)과 머신러닝 (Machine Learning), 딥러닝 (Deep Learning) 개념에 대해서 살펴본다. [인공지능 (Artificial Intelligence)] 인간의 지능으로 할 수 있는 사고, 학습, 자기 개발 등 컴퓨터가 대체할 수 있도록 하는 방법을 연구하는 분야이다. [머신러닝 (Machine Learning)] 사람이 학습하듯 컴퓨터에게 사람이 데이터를 입력시켜 학습을 시키는 방식으로, AI는 정확한 결과를 예측 할 수 있도록 제공된 학습 데이터를 다양한 알고리즘을 통하여 스스로 학습한다. 머신러닝은 정해진 명령보다 데이터를 기반으로 예측이나 결정을 이끌어 내기 위해 특정한 모델을 구축하는 방식으..

CNN (Convolutional Neural Network) 개념

CNN (Convolutional Neural Network) 개념 CNN(Convolutional Neural Network)은 이미지를 분석하기 위해 패턴을 찾는데 유용한 알고리즘으로 데이터에서 이미지를 직접 학습하고 패턴을 사용해 이미지를 분류한다. CNN의 핵심적인 개념은 이미지의 공간정보를 유지하며 학습을 한다. CNN은 필터링 기법을 인공 신경망에 적용함으로써 이미지를 더욱 효과적으로 처리하기 위해 Yann LeCun (https://en.wikipedia.org/wiki/Yann_LeCun)이 제안하였으며 (http://vision.stanford.edu/cs598_spring07/papers/Lecun98.pdf) 현재 딥 러닝에서 이용되고 있는 형태의 CNN이 제안되었다. 기존의 필터링 ..

파이썬과 OpenCV를 이용한 성별 및 연령 판별하기

파이썬과 OpenCV를 이용한 성별 및 연령 판별하기 · Version : Python 3.X, OpenCV 파이썬과 OpenCV 라이브러리를 활용하여 성별 및 연령을 판별해 보도록 한다. 이번 포스트에서는 프로그램 코드에 대한 설명이나 알고리즘에 대한 설명은 다루지 않는다. 참고 사이트에서 다운로드 받은 소스를 단순히 실행하고 결과를 얻음으로써, 이미지 분석에 대한 흥미를 유발하는데 목적이 있다. CV (Computer Vision)은 컴퓨터가 인간처럼 디지털 이미지와 비디오를 보고 식별할 수 있게 하는 연구분야 이다. Computer Vision은 디지털 이미지를 수집, 처리, 분석 및 이해하여 실제 세계에서 고차원적 데이터를 추출하여 결정에 사용할 수 있는 기호 또는 숫자 정보를 생성한다. 이 과정..

HUE에서 10만행이상 브라우저에 출력하기

HUE에서 10만행이상 브라우저에 출력하기 · Version : Hadoop 3.0.0-cdh6.3.2, Hive, HUE HUE(haddop User Experience)는 Apache Hadoop 클러스터와 함께 사용되는 에코시스템으로 Hive나 Impala, Spark Job등을 쉽게 질의할 수 있는 웹 기반 사용자 인터페이스이다. 필자의 HUE 사용환경은 CDH(Cloudera Hadoop) 6.3버전에서 제공되는 에코 시스템으로 설치하였으며, Hive와 Impala 데이터 조회에 주로 사용하고 있다. 데이터를 분석팀에서 하둡을 주로 사용하는데, HUE에서 데이터 조회시 10만행 이상의 결과는 브라우저에 출력이 되지 않아 데이터를 다운로드 받지 못하니 해결해 달라는 요청이 있었다. 브라우저에 데이..

Hive 쿼리 - not like

Hive 쿼리 - not like · Version : Hadoop 3.0.0-cdh6.3.2, Hive Hive 또는 SQL에서 데이터를 조회할때, 특정 문자열이 포함되지 않는 데이터를 조회할때, WHERE 조건자에 not like ‘%something %’ 구문을 사용한다. 하지만 Hive와 SQL 에서 사용하는 문법은 약간 다르다. 아래 예제를 참고한다. Query SQL select * from tableName where columnName not like '%something%'; Hive select * from tableName where not (columnName like '%something%'); 여러 조건을 적용하여 조회하는 경우 아래와 같은 쿼리를 사용할 수 있다. 아래 스크립트..

Hive 파일 압축

Hive 파일 압축 · Version : Hadoop 3.0.0-cdh6.3.2, Hive 하이브를 이용하여 INSERT DIRECTORY, CTAS문으로 파일을 생성할때, 원하는 타입의 형태로 파일을 압축 할 수 있다. 하이브에서 사용할 수 있는 압축 코덱은 다양하다. · 4mc com.hadoop.compression.fourmc.FourMcCodec · gzip org.apache.hadoop.io.compress.GzipCodec · lzo com.hadoop.compression.lzo.LzopCodec · Snappy org.apache.hadoop.io.compress.SnappyCodec · bzip2 org.apache.hadoop.io.compress.BZip2Codec · lz4 or..

Hive 파일 Merge

Hive 파일 Merge · Version : Hadoop 3.0.0-cdh6.3.2, Hive 하이브에서 매퍼 단독 작업의 경우 파일이 많이 생성될 수 있다. 작은 사이즈의 파일이 많이 생성되면 HDFS에 부담이 될수 있기 때문에 이럴 경우 파일을 Merge 하여 실행하는 것이 좋다. 아래 스크립터는 파일을 Merge 하는 설정이다. -- 맵퍼 단독 작업일 때 머지 set hive.merge.mapfiles=true; -- 맵리듀스 작업일 때 머지 set hive.merge.mapredfiles=true; -- 테즈 작업일 때 머지 set hive.merge.tezfiles=true; --테즈에서 실행하는지 확인 SET hive.execution.engine; --테즈 엔진으로 설정 SET hive.e..

Hive 통계 정보

Hive 통계 정보 · Version : Hadoop 3.0.0-cdh6.3.2, Hive 하이브는 테이블의 로우 수 , 파일 개수, 사이즈 등의 통계 정보를 이용하여 데이터를 빠르게 처리한다. 통계정보는 CBO(Cost Base Optimize) 방식이며, 실행계획 최적화, 단순 카운트 쿼리 등에 사용된다. 하이브는 기본적으로 통계 정보를 자동 수집하도록 되어 있어 따로 설정하지 않아도 테이블의 메타정보에 통계정보를 수집한다. 하지만 사용하는 버전, 제조사에 따라 설정이 다를 수 있으니 반드시 재확인을 할 수 있도록 한다. 통계 정보를 설정하는 옵션은 아래와 같다. set hive.stats.autogather=true; set hive.stats.column.autogather=true; DML을 이..