첫 시간에는 패턴인식을 배웠습니다. 내용은 더있지만 정리를 다 못해서 나중에 필요하다 느끼면 추가가 될 예정입니다.



1. 패턴인식 : 주어진 데이터의 집합의 입력을 바탕으로 특정한 기준으로 여러개의 그룹으로 분류하는것을 말합니다.



1) 패턴을 인식하기 위해  처음에는 샘플 데이터를 수집하는 작동을합니다.

*보통 수집한 샘플은 두가지의 분류로 나뉘는데 훈련집합과 테스트 집합으로 나뉩니다.

- 훈련 집 : 인식기(분류기)를 만드는데 사용되는 집합

- 테스트 집합 : 인식기(분류기)를 만든후에 테스트하는데 사용되는 집합


2) 특징(모델)들을 정합니다

* 너무 많은 특징을 사용한다고 좋은것은 아닙니다.

* 쓸모 없는 특징이 있을수도 있습니다.

* **차원의 저주가 일어나는 경우가 많다.


3) 특징들을 토대로 분류기를 생성하고 그것을 이용하여 학습을 시킵니다.

* 학습 : 분류기의 특징(모델) 선택이 끝났다면 분류기를 학습시킵니다.

* 학습에 사용하는 정보는 훈련집합을 이용합니다.


4) 성능을 평가합니다.




패턴인식은 내용이 별로없어서 내용중에 중요한 차원의 저주에 대해 조금더 정리를 해보겠습니다.



차원의 저주? 같은 데이터의 양을 갖고있더라도 차원이 증가하면 그 데이터가 차지하는 차원의 데이터양은 적기 때문에 원하는 결과값을 얻기위해서는 더 많은 양의 데이터가 필요로합니다. 그래서 복잡해지기 때문에 이것을 차원의 저주라고 합니다.




'머신러닝 > Tensorflow' 카테고리의 다른 글

1. 머신러닝이란?  (0) 2018.05.03

- 머신러닝 (Machine Learning) : 기계학습 : 사람의 학습능력을 기계를 통해 구현하는것을 연구하는 방법이다. 주어진 데이터들을 가지고 분석을 하여서 반복적인 학습을 통해새로운 지식을 자동으로 추출하는 방법이라고도 한다.


기본적으로 인공지능이라는 범주안에 머신러닝이 있고 머신러닝안에 딥러닝이 포함되어있다.



기본적으로 머신러닝에서 사용되는 알고리즘으로는 Supervised Model(회귀분석,분류)UnSupervised Model(군집화)가 있다. 


Supervised Model? 정해져있는 데이터를 가지고 학습을 통해 결과를 도출해내는것을 의미한다.


* 문제와 정답을 알려주고 이것을 반복적으로 학습을 시켜 데이터모델을 생성한다.


* 새로운 데이터가 들어오면 학습을 통해 얻은 데이터 모델로 결과를 도출한다



UnSupervised Model? 정확한 결과를 도출할수없는 데이터들을 데이터들의 유사성들을 가지고 군집화하는 것 을 의미한다.


정확한 기준이 없는 데이터들을 주어주고 알고리즘을 통해 데이터들을 군집화 시킨다.


이와 같이 데이터들을 특정 모델을 통해서 구분하는 학습을 하는 것을 머신러닝이라 합니다.



다음시간에는 머신러닝에 사용되는 기본적인 tensorflow를 리뷰해보겠습니다. 

(스터디는 매주 월,금이기때문에 블로그는 화,토정도에 업데이트됩니다)

'머신러닝 > Tensorflow' 카테고리의 다른 글

2. 패턴인식  (1) 2018.05.08

*경고 맥에서는 오라클이 극악의 확률로 돌아갑니다. 

안돌아가는게 거의 정상입니다.

정말로정말로 필요하신분만 오라클쓰세요.... 

아니신분들은 다른 데이터베이스 쓰세요!(제발)





오늘 맥에서 오라클을 사용하는 과제를 하기위해서 오라클을 설치하려고 삽질하다가 겨우 해내고 빡쳐서 다른사람들을 위해 정리합니다.




우선적으로 Oracle에서는 Mac을 공식적으로는 지원하지않습니다. 

그렇기때문에 Oracle instant client라는 것을 설치하고 이것을 이용하여야 sqlplus를 작동시킬수있습니다.



1. Oracle instant client라는 것을 설치하자



  1. http://www.oracle.com/technetwork/database/database-technologies/instant-client/downloads/index.html에 접속을 하면 oracle instant client를 설치할수있는 페이지가 나온다.
  2. 접속후 자기 자신의 맥에 맞는 버젼을 선택해서 들어갑니다 (버젼을 확인하고싶으시면 터미널에서 uname -a를 입력하여 확인합니다)
  3. 필자는 x8664라서 8664에 들어가 우선적으로 기본이 되는 맨위에있는 basic을 다운받아 자신이 편한 폴더에 압축을 풉니다.
  4. 압축을 해제후 터미널에서 pwd를 하여 압축을 푼 폴더의 절대경로를 확인합니다.
  5. 그 다음 터미널에서 다음의 명령어들을 따라 입력합니다 (블로그를 개설한지 얼마안되어 소스코드 편집기가 아닌 그냥 글입니다 곧 수정하겠습니다)
    1. mkdir ~/lib
    2. cp (절대경로)/instantclient_12_2/libclntsh.dylib.12.1 ~/lib/
    3. cp (절대경로)/instantclient_12_2/libclntshcore.dylib.12.1 ~/lib/
    4. cp (절대경로)/instantclient_12_2/libons.dylib.12.1 ~/lib/
    5. cp (절대경로)/instantclient_12_2/libnnz12.dylib.12.1 ~/lib/
    6. cp (절대경로)/instantclient_12_2/libociei.dylib.12.1 ~/lib/
    7. ln -s ~/lib/libclntsh.dylib.12.1 ~/lib/libclntsh.dylib
  6. 입력이 끝난후 sql을 사용하기위해 환경path를 설정해주어야합니다. 다음을 따라하시면 됩니다.
    1. vi ~/.bash_profile
    2. 뒤에 다음 스크립트를 추가시켜줍니다.
    3. export PATH=(절대경로)/instantclient_12_2:$PATH   
    4. 저장하고 나옵니다
    5. 패스를 수정후에는 반드시 재시작을 해줘야합니다. 다음 명령어를 입력해주세요
    6. source ~/.bash_profile
  7. 다 입력을 한 후에 sqlplus를 입력을 하면 없는 명령어라고 나올겁니다 왜냐하면 기본적인 Oracle instant client에는 sql이 없기 때문입니다. 그래서 저기 사진의 마지막 줄에있는 SQL*Plus를 다운 받아 압축을 해제한후 그 안에 있는 파일들을 복사하여서 기본 instantclient파일에 넣어주면 sqlplus가 작동하는것을 볼수있습니다.


+ Recent posts