학교 과제로 비지도학습에 대하여 조금 알아보았습니다.

 

기계 학습

 

(1) 새로운 정보를 학습하고, 습득한 정보를 효율적으로 사용할 수 있는 능력과 결부시키는 지식 습득.

(2) 작업을 반복적으로 수행함으로써 결과를 얻어내는 기술의 개선 과정

(3) 학습 방식에 따라 지도 학습, 준지도 학습, 비지도 학습, 강화 학습으로 분류

 

 

 

비지도 학습 = 기계 학습 중 하나

 

비지도 학습의 종류

1)K means 알고리즘

-군집 알고리즘

-클러스터 내부에 속한 데이터들이 서로 '가깝다'라고 정의, '가장 가까운' 내부 거리를 가지는 클러스터를 고르는 알고리즘

(출처:http://jinquixote.tistory.com/124)

 

2)Kernel Density estimation 알고리즘\

-non-parametric 방법 중 하나(*non-parametric : 사전 정보나 지식 없이 순수하게 관측된 데이터만으로 확률밀도함수를 측정) 

-커널 함수란 것을 이용한 방법

(출처:http://darkpgmr.tistory.com/147)

 

3)Expectation maximization 알고리즘

-관측되지 않는 잠재변수에 의존하는 확률 모델에서 최대가능도(maximum likelihood)나 최대사후확률(maximum a posteriori, 약자 MAP)을 갖는 매개변수를 찾는 반복적인 알고리즘

(출처: https://goo.gl/7Q1sk5)

 

 

4)DBSCAN 알고리즘

-Density model들중 하나

-K-means와 유사. 하지만 군집이 아닌 데이터들의 밀도를 이용한다.

 

 

(출처:http://gentlej90.tistory.com/29)

 

 

 ◆파이썬을 활용한 K-means

 

파이썬 3.x 버전입니다.

 

K-means 3.x.zip

 

 

 

 

 

 

 

'Programming > Python' 카테고리의 다른 글

비지도학습이란?  (2) 2017.10.28
파이썬 처음 시작  (2) 2017.08.31
파이썬 설치하기  (0) 2017.08.29
  1. 2017.10.29 09:33

    비밀댓글입니다

  2. 2017.10.30 10:36

    비밀댓글입니다

그리디 알고리즘 : 최적화 문제(가능한 해들 중 가장 좋은 해를 고르는)를 해결하는 알고리즘

 

◆그리디 알고리즘의 특징

 

1)데이터 간의 관계를 고려하지 않고 부분적인 최적해를 찾고, 이들을 모아서 문제의 최적해를 얻는다.

 

2)일단 한번 선택하면 그 데이터를 버리고 다른 것을 취하지 않는다.

 

 

 

◆그리디 알고리즘으로 해결 가능한 대표적인 문제들

 

1)동전 거스름돈

:거스름돈을 받을 때 가장 적은 수의 동전으로 주는 문제

 

#유사코드

 

 

#파이썬 소스

 

 

 

2)최소 신장 트리

:주어진 가중치 그래프에서 사이클이 없이 모든 점들을 연결시킨 트리들 중 선분들의 가중치 합이 최소인 트리

 

최소 신장 트리를 찾는 대표적인 그리디 알고리즘으로는 크러스컬프림 알고리즘이 있음.

 

#크루스컬 유사코드

 

 

#프림 유사코드

 

 

#파이썬 소스

 

*크러스컬과 프림 둘 다 제 파이썬 숙련도로는 무리인 것 같습니다 지송합니다 ㅠㅠ

파이썬을 오늘 학교에서 처음으로 배워보면서 아주 많은 에러를 하루만에 겪어보았습니다. + 책에서 본 팁도 올리겠습니다.

 

Err1. 들여쓰기

 

뭐가 틀린건지 한참 고민하다가 옆에 여자친구가 알려줬습니다 ㅋㅋㅋ

 

이런 식으로 들여쓰기 해줘야 하더라구요. 아 참고로 나와있는 그림은 대화형 셸(IDLE)에서 코딩한건 아니고 새 파일(Ctrl+N)로 .py파일 만들어서 한 것입니다.

+tip)빨간 형광펜이 그어진 부분에서 에러가 났다는 것입니다.

 

Err2.파일이름

아주 유명한 예제 거북이 그래픽 예제입니다.

module 'turtle' has no attribute 'color' 이라는 에러가 떴었는데요

 

이 프로그램의 이름은 turtle.py입니다. 네 맞습니다 import 로 불러들이는 라이브러리 이름과 아주 똑같쥬??

저처럼 이렇게 파일이름 짓게되면 싸다구 맞습니다. turtle1.py로 파일 이름을 고친 뒤 아주 실행이 잘 됬습니다.

 

 

tip)대화형 셸에서 명령어를 입력하다 에러가 나면?

저는 처음에 에러가 나면 내가 만든 소스를 다시 쳐야하는줄 알았는데 그게 아니였습니다.

자신의 잘못 입력한 줄로 커서를 옮기고 엔터를 치신 다음에 올바르게 고쳐만 주고 다시 실행시키면 되는 것이였습니다

'Programming > Python' 카테고리의 다른 글

비지도학습이란?  (2) 2017.10.28
파이썬 처음 시작  (2) 2017.08.31
파이썬 설치하기  (0) 2017.08.29
  1. 지나가던 학생 2017.09.04 10:48

    감사합니다! 좋은 글이네요^^

+ Recent posts