본문 바로가기

분류 전체보기156

[머신 러닝] - 인공신경망 (Artificial Neural Network, ANN)과 역전파 (Backpropagation) Algorithm Artificial neural network (ANN)는 딥 러닝의 가장 핵심적인 기술로써, 신경 세포인 neuron을 추상화한 artificial neuron으로 구성된 네트워크이다. ANN은 일반적으로 어떠한 형태의 function이든 근사할 수 있는 universal function approximator로도 알려져 있다. 이 글에서는 ANN을 구성하는 가장 작은 요소인 artificial neuron부터 multi-layer ANN과 이를 학습시키기 위한 algorithm에 대해 서술한다. 1. Neuron과 artificial neuronNeuron은 생물체의 신경계를 이루는 신경 세포를 말하며, artificial neuron은 생물체의 neuron을 구성하는 dendrite, soma, a.. 2016. 2. 21.
[OpenMP, C/C++] - OpenMP 환경설정 OpenMP는 'OpenMP Architecture Review Board'라는 비영리 단체가 개발 및 표준화를 진행하고 있는 병렬 프로그래밍 표준이다. OpenMP Architecture Review Board에 참여하는 주요 구성원으로는 Microsoft, AMD, HP, IBM, Intel, Oracle 등이 있다. OpenMP의 초기 버전은 Fortran 용으로 개발되었으며, 이후 C/C++ 버전이 개발되었다. 먼저, Windows 환경에서 C/C++ 언어를 기반으로 OpenMP를 이용하는 방법을 설명한다. OpenMP를 이용하기 위해서는 Microsoft Visual Studio 2005 버전 이상, 또는 Intel 컴파일러 8.0버전 이상의 툴을 설치해야 한다. 이 글에서는 Microsoft .. 2016. 2. 21.
XMLBuilder.java Content: XML builder Language: Java Official home page: none Download link: none Download file: 2016. 2. 19.
Java에서 문자열을 XML 파일로 변환하기 이 글에서는 Java를 이용하여 문자열을 XML 파일로 변환하는 방법에 대해 서술한다. 아래의 [코드 1]에 구현된 XMLBuilder.buildXML 객체에 정의된 buildXML 메소드는 "XML 파일 이름"과 "소스 문자열"을 인자로 받아서 프로젝트 폴더에 "XML 파일 이름.xml"을 생성한다. 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647import java.io.File;import java.io.IOException;import java.io.StringReader;import javax.xml.parsers.DocumentBuilder;import javax.xml.parsers.Do.. 2016. 2. 19.
공공데이터를 이용한 어플리케이션 개발 2014년 상반기 4억 2천만원의 매출액을 달성한 굿닥과 2015년 다음카카오가 626억에 인수한 김기사는 모두 공공데이터를 활용한 어플리케이션이다. 각각의 어플리케이션은 정부에서 제공하는 위탁병원 위치정보, 한국도로공사 교통정보 등의 공공데이터를 이용한 것으로 알려져있다. 이렇듯 어플리케이션 개발자에게 공공데이터는 활용가치가 무궁무진한 또 다른 자원이다. 정부에서 제공하는 공공데이터를 이용하기 위해서는 몇 가지 회원가입과 인증이 필요한데, 이 글에서는 공공데이터를 어플리케이션 개발에 이용하기 위한 방법을 소개한다. 1. 공공데이터포털(https://www.data.go.kr)에 접속한다. 2. 공공데이터포털의 안내에 따라 회원가입을 진행한다. 3. 이용하고자 하는 공공데이터를 검색한다. 4. 활용신청을.. 2016. 2. 17.
[머신러닝] - 단층 퍼셉트론(Single-layer Perceptron) 1. 개요 퍼셉트론은 1957년 코넬 항공 연구소(Cornell Aeronautical Lab)의 프랑크 로젠블라트(Frank Rosenblatt)에 의해 고안된 인공신경망이다. 로젠블라트에 의해 제안된 것은 가장 간단한 형태의 단층 퍼셉트론(single-layer perceptron)으로 입력 벡터를 두 부류로 구분하는 선형분류기이다. 2. 용어 정의 임계치(threshold): 어떠한 값이 활성화되기 위한 최소값을 임계치라고 한다. 가중치(weight): 퍼셉트론의 학습 목표는 학습 벡터를 두 부류로 선형 분류하기 위한 선형 경계를 찾는 것이다. 가중치는 이러한 선형 경계의 방향성 또는 형태를 나타내는 값이다. 바이어스(bias): 선형 경계의 절편을 나타내는 값으로써, 직선의 경우는 $y$절편을 나.. 2016. 2. 15.
[golang] - 데이터 타입과 변수 선언 Go 언어에서는 전통적인 컴파일 언어에서 구문의 끝을 나타내는 세미콜론(;)을 생략한다. 세미콜론은 한 줄에 여러 구문을 작성할 때, 구문을 구분하기 위한 구분자로 사용된다. 1. 데이터 타입 Go 언어에서는 불, 바이트, 포인터, 정수, 실수(부동소수점), 복소수, 룬, 문자열 총 7개의 데이터 타입을 지원한다. 정수 타입은 부호가 없는 정수와 부호가 있는 정수를 포함하며, 실수 타입은 IEEE-754 정의를 따른다. char 타입의 배열로 문자열을 표현하는 C/C++와는 다르게, Go 언어에서는 string 키워드로 문자열 데이터 타입을 선언할 수 있다. 자료형 저장범위 설명 uint8 0 ~ 255 부호 없는 8비트 정수형 uint16 0 ~ 65,535 부호 없는 16비트 정수형 unit32 0 .. 2016. 2. 14.
[golang] - Windows 환경에서 개발 환경 구축 - Go 언어 컴파일러 : https://golang.org/dl/- liteIDE for Go language : http://sourceforge.net/projects/liteide/files/X28/ Go 언어 컴파일러를 다운받았으면, 환경 변수 설정을 해야한다. Windows 7을 기준으로 제어판 → 시스템 및 보안 → 시스템 → 고급 시스템 설정 → 고급 → 환경 변수 항목에서 환경 변수를 설정할 수 있다. 환경 변수의 Path 항목에 Go 언어 설치 시 생성된 bin 폴더의 경로(기본 : C:\Go\bin)를 추가한다. 실행에서 cmd를 입력하면 나타나는 Windows의 명령 프롬프트에서 go -help를 입력하고 아래와 같이 Go 언어에 대한 도움말 항목이 출력되면 정상적으로 설치가 완료된.. 2016. 2. 10.
[golang] - Go 언어 1. Go 언어의 특징 Go 언어는 구글이 개발하고, 지속적으로 업데이트를 하고 있는 C언어 문법 기반의 컴파일 언어이다. C언어의 원시 언어인 B언어, 유닉스의 개발자로 유명한 켄 톰슨이 Go 언어의 개발에 참여하여 많은 화제가 되기도 했다. Go 언어는 컴파일&빌드 시, 실행 파일 내부에 가비지 컬렉터(garbage collector)를 내장한다. 즉, Go 언어는 C/C++ 언어의 실행 파일과 같은 간결함과 JAVA, C#의 가상머신에서 제공하는 가비지 컬렉션의 기능을 모두 갖춘 언이이다. 따라서, Go 언어에서는 C/C++로 프로그램을 작성할 때와 다르게 메모리 관리에 신경을 쓰지 않아도 되기 때문에 생산성이 높다. 또한, Go 언어는 가상 머신을 거치지 않고 실행되기 때문에 C/C++ 처럼 빠른.. 2016. 2. 3.
liteIDE x28 Content: Integrated Development Environment (IDE) for go language Language: none Official home page: https://code.google.com/archive/p/liteide/ Download link: http://sourceforge.net/projects/liteide/files/X28/ Download file: none 2016. 2. 3.
Android Studio에서 RenderScript 환경 구축 RenderScript는 고성능 그래픽 랜더링과 연산을 지원하기 위한 API이다. Android Studio에서 RenderScript를 이용하기 위해서는 2가지 환경설정이 필요하다. 1. rs 폴더 생성app 폴더의 하위에 rs 폴더를 생성하고, RenderScript로 작성한 소스 코드는 rs 폴더에 저장한다. 아래의 그림은 he.rs라는 RenderScript 소스 코드를 rs 폴더에 위치시켜놓은 것이다. 2. Gradle에 RenderScript 빌드 정보 추가안드로이드 프로젝트에 있는 build.gradle (Mudle: app)에 아래의 붉은색 사각형에 있는 두 줄의 RenderScript 빌드 정보를 추가한다. 2016. 2. 2.
Android Studio - Unable to start the daemon process 오류 Android Studio에는 Windows7 32bit 4G RAM 환경에서 Gradle Daemon 실행이 실패하는 이슈가 있다.이러한 오류의 해결 방법은 virtual machine의 메모리 공간을 확보해주는 것이다.아래는 Android Studio에서 Gradle Daemon 실행이 실패할 때 출력되는 오류 메시지 이다. Unable to start the daemon process.This problem might be caused by incorrect configuration of the daemon.For example, an unrecognized jvm option is used.Please refer to the user guide chapter on the daemon at http.. 2016. 2. 2.