40
GNUVILL GNUVILL Seminar GNUVILL Speaker - 최최최 GNUVILL?!

GNVILL소개와 머신러닝

  • Upload
    ulug

  • View
    64

  • Download
    4

Embed Size (px)

Citation preview

Page 1: GNVILL소개와 머신러닝

GNUVILLGNUVILL

Semi-nar

GNUVILL

Speaker - 최진우

GNUVILL?!

Page 2: GNVILL소개와 머신러닝

GNUVILL

GNUVILL???

GNUVill 이 뭔가요 ???

Page 3: GNVILL소개와 머신러닝

GNUVILL

GNUVILL 소개

Gnu

vilL

+GNU's Not Unix 의 약자 . 유닉스 (Unix) 의 상업적 확산에 반발하여 리처드 스톨먼의 팀이 무료로 개발 · 배포하고 있는

유닉스 호환 운영 체제이며 동시에 그러한 정보 공유 프로젝트 그 자체 . ' 모든 프로그램은 무료이어야 하며 , 프로그램의 사용 , 복사 ,

수정 , 재분배에 대한 제한이 있어서는 안 된다 ' 는 신념을 바탕에 두고 있다 .

- [On Naver Article]

vil-lage

공짜 Software 를 좋아하는 사람들이 사는 마을

Page 4: GNVILL소개와 머신러닝

GNUVILL

OpenSource 진영 SW

MySQL

Apache

NginxFire-Fox

OpenOfficeOpencvEclips

e

Gcc

Hadoop

MySql-Work-bench

OpenCl

SQLite

x100000

Page 5: GNVILL소개와 머신러닝

GNUVILL

단톡방… .. ㅋㅋㅋㅋㅋㅋㅋ

Page 6: GNVILL소개와 머신러닝

GNUVILL

평소 그누빌 모습… ..

학생회관 동아리중에유일하게 명패를 가진 동아리 !!

Page 7: GNVILL소개와 머신러닝

GNUVILL

14 년도 잔치잔치 in 동방

Page 8: GNVILL소개와 머신러닝

GNUVILL

GNUVill 은 어떠한 활동을 했나요 ?

Page 9: GNVILL소개와 머신러닝

GNUVILL

서울 / 경기 대학연합리눅스유저그룹 (ULUG) 에서의 주요 활동 ( 과거 )

일시 내용2007 년도 상반기 연합 세미나 주제 발표 Jabber Protocol, 컴퓨터공학과 '02 故 정찬호

2007 년도 하반기 연합 세미나 주제 발표 Build Moonlight and use MS Silverlight on Linux Using Mono Project, 컴퓨터공학과 '07  박동섭, '02 故 정찬호 (with 숙명여대 SOLUX 추선우 , 송내영 )

2008 년도 상반기 연합 세미나 주제 발표 CakePHP Web MVC Framework, 컴퓨터공학과 '07 박동섭 (with 동국대 DNA 김희도 )

2008 년도 하반기 연합 세미나 주제 발표 PHP-based CMS Drupal, 컴퓨터공학과 '07 박동섭 (with 동국대 DNA 김희도 )

Page 10: GNVILL소개와 머신러닝

GNUVILL

2012 GNUVILL 활동

Page 11: GNVILL소개와 머신러닝

GNUVILL

교내 활동

일시 주제 내용 참가자2012. 6. Micro Processor 프로젝트 Cortex-M3 기반 지하철 내부 승객 안내

시스템정보통신공학과 08 정광현 , 07 황세영 , 08 박종원 , 08 최재완

2012. 3~6 Capstone Design 프로젝트 발표 Ubiquitous Sensor Network 기반의 Air Conditioner Filter 교환 시기 및 상태 관리 시스템

07 최기봉

2012. 5~8 제 10 회 임베디드 소프트웨어 경진대회 안드로이드 기반 테블릿 PC 의 사용자 친화적 차량 AVN 시스템 (Humax  부문 본선진출 )

07 황세영 , 08 박종원 , 08 최재완 , 08 이민섭

2012. 5~8 제 10 회 임베디드 소프트웨어 경진대회 NFC 기반 E-School 시스템 (삼성전자 부문 본선진출 )

08 조준 , 08 안재홍

2012. 9. Hackerschool 주관 제 6 회 하계 해킹캠프 참가

CTF 1 위 45s Team '12 12 조훈근

2012. 9~12  Capstone Design 프로젝트 발표 Android Application 을 포함한Ubiquitous Sensor Network 기반의 차량 환경관리시스템

07 황세영 , 07 정광현 , 07 민석주 , 08 박종원

2012. 9~12 Capstone Design 프로젝트 발표  Android Application 을 포함한 NFC 기반 학교출입관리 시스템

08 이민섭

2012. 9~12 Capstone Design 프로젝트 발표 Android Application 을 포함한 RFID, SM2-Camera Module 기반 무인 재고관리 시스템

08 조준 , 08 안재홍

2012. 12. Data Base 프로젝트 발표 JDBC 기반 수강신청 시스템 ( 한국외대 DisLab)

07 정광현 , 07 황세영 , 08 박종원 , 08 최재완

*2012 년 *

Page 12: GNVILL소개와 머신러닝

GNUVILL

2013 GNUVILL 활동

LEGENDS of

GNUVILL

Page 13: GNVILL소개와 머신러닝

GNUVILL

Page 14: GNVILL소개와 머신러닝

GNUVILL

2013 년도 Gnuvill 공식 로고 탄생 !

Page 15: GNVILL소개와 머신러닝

GNUVILL

Gnuvill 소속 12 학번 조훈근WPF 를 이용한 Drag & Drop 파일전송 시스템

Page 16: GNVILL소개와 머신러닝

GNUVILL

Gnuvill 소속 08 학번 안재홍Clock-Gating Service Manager

Page 17: GNVILL소개와 머신러닝

GNUVILL

2014 GNUVILL 활동

Page 18: GNVILL소개와 머신러닝

GNUVILL

*2014 년 *

Gnuvill 소속 10 학번 최진우NS3 를 이용한 네트워크 시뮬레이션

Page 19: GNVILL소개와 머신러닝

GNUVILL

NS3 를 이용한 네트워크 시뮬레이션

Page 20: GNVILL소개와 머신러닝

GNUVILL

Gnuvill 소속 10 학번 팀장 최진우 외 5명

Auto Parking System

Page 21: GNVILL소개와 머신러닝

GNUVILL

Robocar - Algorithm

Page 22: GNVILL소개와 머신러닝

GNUVILL

■ mysql, mybatis, mybatis-spring 에 대한 Maven dependency

■ Class mapping

■ Mapper 생성DB 데이터처리를 위한 mybatis mapper 이다 .

Auto Parking System – spring framework

Page 23: GNVILL소개와 머신러닝

GNUVILL

2015 GNUVILL 활동 및 계획

Plan of

GNUVILL

Page 24: GNVILL소개와 머신러닝

GNUVILL

동아리 소개집

Page 25: GNVILL소개와 머신러닝

GNUVILL

15 년 가입신청서 갱신

Page 26: GNVILL소개와 머신러닝

GNUVILL

• Physical Web - 기존 모바일 애플리케이션을 활용하는 방식이 아닌 웹을 활용하여

스마트기기 통신을 제공하는 것

“ 별도의 앱 설치 없이도 인터넷에 연결되어 있기만 한다면 모든 사물과 소통할 수 있는 시스템”

Physical Web 을 표준으로 삼아 통신은

저전력 블루투스 (BLE) 를 이용하여 웹 주소 (URL) 를

주변의 디바이스 등에 할당하여 사용자가 스마트기기를

통해 제품을 사거나 버스 운행시간 등을 알 수 있다 .

장점사물과 사용자간의 연결이 수월하다 .

어떤 사물을 연결할 수 있는 플랫폼을 따질 필요가 없다 .

여러 서비스 분야에서 다양한 응용이 가능하다 .

별도의 애플리케이션의 설치가 필요없다 .

Gnuvill 소속 10 학번 최진우Physical Web 기반의 비콘을 이용한 전시회

관람서비스

Vending Machine(Candy/Cookie)

Figures of Museum(A class)

Vending Machine(Candy/Cookie)

Page 27: GNVILL소개와 머신러닝

GNUVILL

GNUVILL 내부 스터디

아두이노를 이용한 IoT 코딩 – 계획중 ( 미정 )

Page 28: GNVILL소개와 머신러닝

GNUVILL

끝 !!

이 아닙니다 .. ㅠㅠ

Page 29: GNVILL소개와 머신러닝

GNUVILL

Machine Learning Algorithm

Page 30: GNVILL소개와 머신러닝

GNUVILL

머신러닝과 울트론 프로그램 ?

울트론 !!

Page 31: GNVILL소개와 머신러닝

GNUVILL

기계 학습이란 ?• 우리가 현재 가지고 있는 데이터를 이해하기 위한 더 좋은 도구가 있어야하며 , 얻을 수 있는 데이터를 이해하기 위한 우리 자신의 준비 또한 필요

• 기계학습이란 가공되지 않은 원시 데이터를 가공하여 , 정보로 변환하는 것

• 기계학습 알고리즘에서는 분류를 사용하여 결정하게 된다 .

Page 32: GNVILL소개와 머신러닝

GNUVILL

일반적인 알고리즘

비지도 학습 방법

군집화 (Clustering) 밀도 추정 (Density estimation)

K- 평균 (k-Means) 기대 극대화(Expectation maximization)

디비스캔 (DBSCAN) 파젠 윈도우 (Parzen window)

지도 학습 방법분류 (Classification) 회귀 (Regression)

K- 최근접 이웃(K-Nearest Neighbors)

선형 회귀 (Linear)

나이브 베이스 (Naïve Bayes) 지역적 가중치가 부여된 선형 회귀(Locally weighted linear)

지지 벡터 머신(Support vector machines)

리지 (Ridge)

의사 결정 트리 (Decision trees) 라쏘 (Lasso)

Page 33: GNVILL소개와 머신러닝

GNUVILL

기계 학습 응용 프로그램 개발단계1. 데이터 수집 : Web 으로부터 필요한 데이터를 추출함으로써 표본들을 모을 수 있고 , RSS 또는 API 를

이용하여 정보를 얻을 수도 있다 .

2. 입력 데이터 준비

3. 입력 데이터 분석

4. 알고리즘 훈련 : 기계학습이 이루어지는 부분 . 핵심 알고리즘을 다루는 부분으로 정제된 데이터를

알고리즘에 넣어 지식이나 정보를 추출

5. 알고리즘 테스트

6. 사용하기 : 실질적인 프로그램을 만들고 이전 단계들이 예상처럼 진행되었는지 살펴보는 단계 .

Page 34: GNVILL소개와 머신러닝

GNUVILL

k- 최근접 이웃 알고리즘• 거리 측정을 이용하여 분류하기

• kNN 이용하여 데이타 분석

K 근접 이웃 (k-nearest neighbors algorithm (k-NN)) 이란 ?= > 관찰치 특성을 기준으로 훈련 샘플 중에서 가장 가까운 관찰치들을 분류하는 방법

Page 35: GNVILL소개와 머신러닝

GNUVILL

kNN 분류 알고리즘 실행하기• inX = 분류를 위한 입력벡터• dataSet = 훈련을 위한 예제의 전체 행렬• Labels = 분류 항목을 표시한 벡터• K = 투표에서 사용하게 될 최근접 이웃 수

거리 계산( 유클리드 거리 계산법을 사용해 계산 )

<- 가장 짧은 k거리를 투표 <- 아이템 정렬

(classCount 딕셔너리를 가지고 투플형태의 리스트로 분해한 후 , 투플에 있는 두번째 아이템으로 itemget-ter 메소드를 사용해 투플을 정렬 )

Page 36: GNVILL소개와 머신러닝

GNUVILL

텍스트 파일의 데이터구문 분석• datingTestSet 라는 1000 개의 항목으로 이루어진 text 파일이 있다는 가정 .

<Data>(1) 연간 항공 마일리지 수(2) 비디오 게임으로 보내는 시간의 비율(3) 주당 아이스크림 소비량

(1) (2) (3)

문자열의 양쪽공백을 지움

listFromLine 의 맨 마지막 Data 를 append!

Page 37: GNVILL소개와 머신러닝

GNUVILL

데이터 정규화하기

** minVals 와 range 는 1x3행렬인데 반해 만든 데이터행렬은 1000x3 이므로 NumPy 의 tile() 함수를 사용하여 입력 행렬과 같은 크기로 행렬을 생성 후 생성된 행렬을 복사하거나 같은 값으로 모두 채움

Page 38: GNVILL소개와 머신러닝

GNUVILL

특정사이트를 위한 분류기 검사코드

위 분류기의 전체 오류율은 6.4% 이다 .hoRatios 와 k 의 값을 가지고 실험하면 오류율은 달라진다 .

위에서 분류에 사용된 Data 의 text 파일

실질적으로 사람을 분류하는데 사용하기 . 그 사람의 정보를 입력 시에 얼마나 좋아하게 될지를 예측

Page 39: GNVILL소개와 머신러닝

GNUVILL

정리• kNN 알고리즘은 간단하며 데이터를 분류하는 데 효과적인

방법이다 . 분류기의 분류 성능을 확인 .

• kNN 은 사례기반학습의 한 예 이지만 , 데이터집합 내의 모든

데이터에 대해 거리 측정을 계산해야 하므로 데이터의 크기가

커지면 사용하기 힘듬 .

• 그리고 , 데이터의 구조에 대한 어떠한 정보도 주지 못함 .

Page 40: GNVILL소개와 머신러닝

GNUVILL

THANK YOU