본문 바로가기

전체 글

(156)
신경망(1) 1. 신경망 개요■ 퍼셉트론의 장점은 XOR같은 다소 복잡한 함수도 퍼셉트론으로 표현할 수 있지만, 가중치 설정을 사람이 수동으로 설정해야 한다는 단점이 있다.■ 이 단점은 신경망이 해결할 수 있다. 신경망의 중요한 성질로서 가중치 매개변수의 적절한 값을 자동으로 학습하는 능력이 있기 때문이다. 1.1 신경망의 구조■ 신경망은 입력층, 은닉층, 출력층으로 구성되어 있으며, 입·출력층과 달리 은닉층의 뉴런은 사람 눈에는 보이지 않는다. 이를 그림으로 나타내면 다음과 같다.- 위의 그림을 보면 각 층의 뉴런이 연결되는 방식은 퍼셉트론과 달라진 점이 없다. 그리고 신경망에서 신호를 전달하는 방법도 기본적인 개념은 유사하지만, 주된 차이점이 있다. 그 차이점은 활성화 함수이다.■ 앞서 입력 신호 (\( x_1,..
확률 0. 경우의 수, 순열, 조합, 이항정리, 다항 계수경우의 수- 곱의 법칙 ■ 어떤 사건이 동시에 일어날 때 각 경우의 수를 곱한다. ■ 예를 들어, 주사위 1개를 던졌을 때, 나올 수 있는 경우의 수는 6이고 동전 1개를 던졌을 때 나올 수 있는 경우의 수는 2이다.동시에 주사위와 동전을 던진다면, 나올 수 있는 경우의 수는 \( 6 \times 2 = 12 \)- 합의 법칙 ■ ① 동시에 일어날 수 없고 ② 빠짐없이 분류한 다음, 각각의 경우의 수를 더한다. ■ 예를 들어 서울에서 부산까지 갈 수 있는 경우의 수가 다음 그림과 같을 때,이를 분류하면- (1) '서 \( \rightarrow \) 대 \( \rightarrow \) 부'의 경우의 수는 곱의 법칙에 의해 \( 2 \times 2 \)- ..
자료구조와 알고리즘 1. 자료구조와 알고리즘1.1 자료구조, 알고리즘이란?■ 자료구조는 자료를 효율적으로 관리하는 방법으로 숫자, 문자, 문자열같은 단순 자료구조와 여러 자료를 한꺼번에 보관하는 복합 자료구조로 나눌 수 있다. 복합 자료구조는 다시 선형(linear) 자료구조와 비선형 자료구조로 나눌 수 있다.1) 선형 자료구조: 항목들을 순서대로 나열하여 저장한다. 이때 항목을 접근하는 방법에 따라 ① 항목(요소) 접근을 맨 앞 또는 맨 뒤에서 스택, 큐, 덱이 있고 ② 임의의 위치에 자유롭게 접근하여 항목을 삽입 또는 삭제할 수 있는 리스트가 있다.2) 비선형 자료구조: 트리, 그래프로 더 복잡한 연결 관계를 갖는 구조를 표현한다.■ 알고리즘은 어떤 문제를 해결해 가는 논리적인 과정이다.- 예를 들어 단어들이 배열에 저..
제어문(control statement) (1) - 조건문 if 1. 제어문(control statement) ■ 프로그램을 작성할 때, 3가지 제어 구조가 있다. 어떤 프로그램이라도 이 3가지 구조를 조합하여 만들어 진다.1) 순차 구조 - 명령들을 순차적으로 실행2) 선택 구조 - 둘 중 하나의 명령을 선택하여 실행 ex) 조건문3) 반복 구조 - 동일한 명령이 반복되어 실행 ex) 반복문■ 문장들이 실행되는 순서를 제어하는 문장을 제어문이라고 하며, 제어문에는 조건문과 반복문으로 나누어진다.2. 관계(=비교) 연산자, 멤버 연산자■ 관계 연산자(관계형 연산자)는 두 값이 같거나 다르거나 어느 쪽이 크거나 작은지 등을 판단할 때 사용하는 연산자이다. 연산 결과로 True/False를 반환하기 때문에 조건문에서 '조건식'을 구성할 때 자주 사용된다.■ 멤버 연산자는..
자료형(Data Type) (4) - 세트(집합), 딕셔너리 1. 세트■ 세트(set)와 리스트(또는 튜플)의 주요 차이점은 크게 두 가지이다.■ 첫째, 세트 내 요소는 두 번 나타날 수 없다. 즉, 중복을 허용하지 않는다. 그러므로 세트는 고유한 값들을 저장하는 자료구조라고 할 수 있다.■ 둘째, 세트 내 요소는 순서를 가지고 있지 않다. 리스트나 튜플과는 다르게 순서가 없으므로 인덱싱이나 슬라이싱이 불가능하고, sort()나 reverse() 같은 리스트 메서드는 세트에서 무의미하다.cf) 딕셔너리도 순서가 없는 자료형이라서 인덱싱, 슬라이싱을 지원하지 않는다. cf) 그러므로, 순서가 없는 자료형에 저장된 값을 인덱싱으로 접근하기 위해서는 리스트나 튜플로 변환해야 한다. 1.1 세트를 만드는 방법■ 파이썬에서 세트를 생성하는 방법은 다음과 같이 {}를 이용하..
퍼셉트론 - 신경망(딥러닝)의 기원이 되는 알고리즘 1. 퍼셉트론1.1 퍼셉트론이란?■ 퍼셉트론은 다수의 신호를 받아 하나의 신호를 출력하는 것이다.- 여기서 신호는 '흐른다/안 흐른다 (1 이나 0)'의 두 가지 값을 가질 수 있다.$x_{1}, x_{2}$는 입력 신호, y는 출력 신호, w는 가중치, 원은 뉴런 또는 노드라고 함■ 퍼셉트론 동작 원리는 입력 신호($x_{1}, x_{2}$)가 출력 신호가 있는 노드(뉴런)으로 이동할 때, 입력 신호 $x_{1}, x_{2}$에 각각 가중치 $w_{1}, w_{2}$가 곱해진다. - 입력 신호가 있는 노드에서 이동한 신호의 총합 $w_1x_1 + w_2x_2$이 임계값\( (\theta) \)을 넘으면 1을 출력하고, 그렇지 않으면 0을 출력한다.- 이때 출력 노드로 이동하는 신호의 총합은 선형(일차)..
자료형(Data Type) (3) - 튜플, 불(bool) 1. 자료구조(data structure)■ 파이썬에서 자료(data)들을 저장하는 여러 가지 구조들이 있으며, 이를 자료구조 또는 데이터구조라고 부른다.■ 파이썬의 가장 기초적인 자료구조는 시퀀스(sequence)이다. 파이썬은 6개의 내장 시퀀스 str, bytes, bytearray, list, tuple, range를 가지고 있다.■ 시퀀스는 요소(element)로 구성되며, 요소 간에는 '순서'가 존재한다. 각 요소는 인덱스(index)라는 고유한 번호를 부여받기 때문에 인덱스를 통해 요소에 접근할 수 있다.■ 그리고 시퀀스에 속하는 자료구조들은 동일한 연산을 지원한다. 인덱싱(indexing), 슬라이싱(slicing), 덧셈 연산, 곱셈 연산 등이 이에 해당한다. ■ 또한, 파이썬의 내장 함..
자료형(Data Type) (2) - 리스트 1. 리스트■ 여러 개의 값을 저장하고 처리해야 하는 경우가 많다. 특히, 값들 사이에 순서가 있을 경우 리스트를 사용하는 것이 유용하다.■ 리스트는 항목(item)들을 저장하는 일종의 컨테이너로, 항목들은 순서를 가진 채 저장되며 콤마(,)로 구분된다.- 리스트 안에 저장된 데이터를 항목(item) 또는 요소(element)라고 한다. ■ 리스트는 항목이 추가되면 자동으로 크기가 늘어나고, 항목이 제거되면 자동으로 크기가 줄어든다. 또한, 리스트에는 어떠한 자료형도 항목(원소)으로 저장할 수 있으며, 모든 항목이 동일한 자료형일 필요도 없다.1.1 리스트를 만드는 방법■ 파이썬에서 리스트는 대괄호 []를 사용하여 만들 수 있다. ■ 예를 들어, 10일 동안의 기온을 저장한다고 했을 때, 10개의 변수를..