강의자료/머신러닝 54

[파이썬기초] 파이썬 스타일 코드I

Pythonic Code Style 파이썬 코드는 가독성이 좋은 코드를 말합니다. 대개 파이썬 커뮤니티의 사람들이 사용하는 패턴을 pythonic(파이썬다운)코드라고 생각합니다. 그렇다면 파이썬다운코드는 어떻게 작성하는 것이 좋을까요? https://www.python.org/dev/peps/pep-0008/ PEP 8 -- Style Guide for Python Code The official home of the Python Programming Language www.python.org 위의 링크에 자세한 내용이 있습니다. 요약하면 다음과 같습니다. 들여쓰기 들여쓰기는 4개의 스페이스를 사용합니다. 한 줄의 코드를 여러줄로 나눠 쓰는 경우 다음 사항을 고려합니다. 첫번째 줄에 인자가 있으면 수직정..

[파이썬기초] 클래스

클래스란? 게임 캐릭터를 하나의 객체(오브젝트) 라고 볼 수 있습니다. 이러한 객체는 다음과 같은 속성과 스킬을 가지고 있습니다. 속성 - 체력,공격력,무기 등등 스킬 - 베기,찌르기,활쏘기,때리기,뛰기 등등 여기서 객체는 class를 이용한 생성된 인스턴스 이며 객체 안에 속성(attribute)과 메서드(스킬) 을 가지고 있습니다.(속성은 객체변수,메서드는 객체 함수) class 는 붕어빵 기계라고 생각하면 되고 객체(인스턴스)는 붕어빵이라고 생각하면 됩니다. class 사용법 class 클래스이름: def 메서드(self): 코드 인스턴스 생성할때 초기화를 하는 부분은 def __init__ 입니다. 인스턴스의 메서드를 호출하기 위해서는 .메서드명 으로 호출합니다.(예, 홍길동.propertyVie..

[파이썬 기초] 함수

함수란 특정 기능을 수행하는 일련의 명령들을 묵어 하나의 함수(function)으로 정의 할 수 있습니다. 함수를 사용하는 가장 큰 이유는 특정 작업을 여러번 반복해야 할 때 해당 작업을 수행하는 함수를 작성하여 호출하면 됩니다. 프로그램을 함수로 처리하면 모듈화 되어 전체적인 코드의 가독성이 좋아 집니다. 프로그램의 유지보수등에서 기능이 변경 되었을때도 함수에서의 기능만 재정의 하면 되므로 유지보수가 편리해 집니다. 함수의 사용 방법 함수 형태 def 함수이름(): 코드 Hello World! 출력함수 만들어 호출하기 두개의 매개변수를 입력 받아 덧셈하여 리턴하는 함수 만들기 함수에서 값을 여러개 반환하기 - 파이썬의 특징으로 다른 언어에서는 값을 1개만 반환하는데 비해 파이썬에서는 여러개를 튜플 형태..

[파이썬기초] 파이썬 자료형 - 딕셔너리

파이썬의 자료형 중에 딕셔너리 자료형에 대해 다루어 봅니다. 딕셔너리란? key 와 value를 한 쌍으로 저장하는 자료형 key 값은 중복되어 저장되지 않는다. 딕셔너리 생성 딕셔너리 사용 딕셔너리 키 값으로 접근 하여 출력 딕셔너리 키에 값 할당 딕셔너리 키가 있는지 유무 확인하기 딕셔너리 개수 구하기 딕셔너리 키 삭제 딕셔너리 모두 삭제

[파이썬기초] 파이썬 자료형 - 리스트

프로그래밍 언어에는 자료형이 존재합니다. 자료형이란 데이터의 성질을 나타내는 것으로 파이썬에서 자료형을 다루는 방법을 익혀 봅니다. 자료형 확인하기 type으로 자료형을 확인할 수 있습니다. 변수 선언하기 a~z 까지의 알파벳,0~9까지의 숫자 등을 사용하여 변수를 정의 할 수 있습니다. 또한 변수에 값을 대입할 수 있습니다. 변수명을 선언 하여 값을 대입하면 값에 따른 형으로 자료형이 변경 되는 것을 확인 할 수 있습니다. 리스트 C언어의 배열과 같이 사용되는데 C언어의 배열은 같은 자료형만 관리 할 수 있는 반면에 파이썬에서는 객체 타입으로 관리 되기 때문에 리스트 안에 서로 다른 자료형을 관리 할 수 있다. 리스트의 크기를 확인하는 len 리스트의 원소에 접근하는 방법 : 인덱스는 0부터 시작한다...

[파이썬기초] 파이썬 연산

파이썬으로 구현되어 있는 딥러닝 라이브러리를 잘 활용하기 위해서~ 딥러닝 실습을 위한 파이썬 기초를 정리 해 봅니다. 파이썬에서의 연산은 다음과 같이 4칙연산(+,-,/,*) 과 괄호를 이용해서 우선순위를 변경 할 수 있습니다. 또한 논리연산과 비트연산에 대해 알아 봅니다. 정수연산 1 + 1 # (덧셈연사) 1 - 1 # (뺄셈연산) 3 / 2 # (나눗셈 결과값 1.5) 3 // 2 # (나눗셈 몫 1) 3 % 2 # (나눗셈 나머지 1) 파이썬의 띄어 쓰기 규칙은 다음과 같다. - 처음 시작 위치는 띄어쓰기를 하지 않는다. - 숫자나 연산기호 사이는 반드시 한칸을 띄운다. # 으로 주석처리 처리한다. 연산순서 3 + 2 * 4 # 3 + 8 = 11 (3 + 2) * 4 # 5 * 4 = 20 괄호..

02-3 비지도학습

위의 그림에서 사람의 감독여부에 따라 지도학습/비지도학습/강화학습으로 구분을 할 수가 있습니다. 여기서 지도학습은 사람이 정답을 제공하는 학습이며 비지도 학습은 정답을 제공하지 않고 머신러닝 스스로 학습을 하는 형태라고 배웠습니다. 오늘은 비지도 학습에서 사용하는 군집화/변환/연관의 관계들을 알아 보도록 하겠습니다. 군집화(Clustering)란? 클러스터의 정의를 살펴보면 다음과 같습니다. 클러스터란 비슷한 특성을 가진 데이터들의 집단 반대로 데이터의 특성이 다르면 다른 클러스터에 속해야 한다. 클러스터 정의와 같이 비슷한 것을 만들어 그룹을 만드는 것을 군집화(Clustering)라고 합니다. 그렇다면 군집화와 분류의 차이는 무엇일까요? 여러분이 이사를 한다고 생각해 보세요. 이삿짐 센터 직원들이 안..

02-2 지도학습

위의 그림에서 머신러닝을 사람의 감독여부에 따라 지도학습/비지도학습/강화학습으로 구분을 할 수가 있습니다. 또한 지도학습은 이전시간에 용어에서 배웠던 연속형 숫자의 회귀와 분류로 나누어 지는 것을 알 수 있습니다. 오늘은 지도학습에 대해 알아보고 회귀와 분류에 대한 개념을 이해하고 넘어 가 보겠습니다. 지도학습이란? 지도학습은 역사를 공부하는 것과 같습니다. 역사를 살펴 보면 과에에 있었던 사건이 원인과 결과로 기록 되어 있습니다. 역사를 알면 어떤 사건이 일어 났을때 그것이 어떤 결과가 일어날 지를 예측 할 수가 있습니다. 마찬가지로 지도학습은 과거의 데이터로부터 학습해서 결과를 예측하는데 주로 사용 됩니다. 우리가 카페 사장이라고 가정하겠습니다. 다음 표는 우리 가게에서 판매된 레모네이드 판매량에 해..

02-1 독립변수와 종속변수

오늘은 변수에 대해 알아 보도록 하겠습니다. 변수 영역은 값이 변한다고 해서 변수라고 하는데요~ 이렇게 변하는 수는 변수, 변하지 않는 값은 상수라고 합니다. 예를 들어 1차함수 y=ax+b 와 같은 식이 있다고 하면 여기서 a와 b의 값은 변하지 않는 상수값에 해당이 되고~ x의 값에 따라 y 의 값이 변하기 때문에 x,y는 변수라고 합니다. 이러한 상수와 변수의 개념은 인공지능에서 다음과 같이 활용이 됩니다. - 인공지능에서 사용하는 모델 중의 하나인 신경망(neural network) 에서는 가중치(w) 라는 개념이 있는데 컴퓨터가 이러한 가중치(w)를 스스로 학습하며 결정하게 됩니다.(이 가중치는 a 에 해당하는 상수값) - 재미 있는 것은 컴퓨터가 가중치(w)를 학습할 때는 '상수'의 역할을 한..

01-5. 퍼셉트론이란?

인공지능의 역사를 보면 1950년대 퍼셉트론을 제시 후 이 이론을 바탕으로 1960년대 제1전성기를 맞이하게 되는데요~ 이 퍼셉트론은 향후 다층 퍼셉트론으로 다시 돌아 오면서 제2전성기를 맞이 하게 됩니다. 그렇다면 이 퍼셉트론이 무엇인지 알아 볼 필요가 있을것 같네요~ 일단 퍼셉트론을 살펴 보기 위해 사람의 뇌의 구조를 살펴 보겠습니다. 퍼셉트론에서 갑자기 뇌? 라고 생각하실 수 있지만 퍼셉트론은 사람의 뇌를 본떠서 만든 이론 입니다. 뉴런의 모습 사람의 뇌는 위와 같은 뉴런이 천억개 넘게 있으며 서로 엉켜 있습니다. 이 뉴런들은 서로 정보를 주고 받습니다. 서로 다른 뉴런들은 정보를 전달할지 말지를 판단합니다. 만약 전달받은 신호의 세기가 해당 뉴런의 기준보다 더 높다면 신호를 전달하고 그렇지 않다면..