신경망의 학습Data(데이터)데이터 주도 학습머신러닝은 데이터가 생명입니다. 왜냐하면 알고리즘을 명시적으로 설계하는 것보다 주어진 데이터를 잘 활용해 문제를 해결하는 것이 더 쉽고 간단하기 때문입니다. 그런 방법 중 하나로, 이미지에서 특징(feature)을 추출하고 그 특징의 패턴을 기계학습 기술로 학습하는 방법이 있습니다. 기계는 모아진 데이터로부터 규칙을 찾아내는 역할을 담당하고, 사람은 이미지를 벡터로 변환할 때 사용하는 특징을 설계하는 역할을 합니다. 여기서 사람이 특징을 설계하기 때문에 문제에 적합한 특징을 쓰지 않으면(혹은 특징을 설계하지 않으면)좀처럼 좋은 결과를 얻을 수 없다는 말이 됩니다. 여기서 머신러닝과는 다르게 신경망(딥러닝)의 이점이 나타납니다. 딥러닝은 사람의 역할조차 기계가 ..
신경망 2출력층 설계하기항등 함수항등함수는 입력과 출력이 같은 함수입니다. 항등함수는 회괴에서 주로 사용합니다. 소프트맥스 함수소프트맥스는 분류에서 사용합니다. 식은 아래와 같습니다. exp(x)는 자연상수 e를 x제곱한 지수 함수 입니다. n은 출력층의 뉴런 수, y는 그중 k번째 출력임을 뜻합니다. 분자는 입력신호 a의 지수 함수, 분모는 모든 입력 신호의 지수 함수의 합으로 구성됩니다. 소프트맥스 함수를 구현해 보겠습니다. 12345678import numpy as np def softmax(a): exp_a=np.exp(a) sum_exp_a=np.sum(exp_a) y=exp_a/sum_exp_a return ycs 그런데 여기서 방금 구현한 softmax()함수는 식을 제대로 표현하고 있지만...
신경망퍼셉트론과 신경망신경망은 퍼셉트론이 발전된 것이라고 볼 수 있습니다. 둘의 차이점이라면 활성화 함수와 매개변수가 가장 큰 차이점입니다. 퍼셉트론은 매개변수를 사람이 직접 설정하지만 신경망은 이 매개변수를 사람이 정하는 것이 아니라 스스로 지정하여 올바른 값이 나올 수 있도록 하는 것입니다. 그리고 퍼셉트론은 활성화 함수가 계단식 함수이고, 신경망은 시그모이드 함수, ReLU 함수 등 여러가지를 사용합니다. 활성하 함수활성화 함수는 일반적으로 입력 신호의 총합을 출력 신호로 변환하는 함수를 말합니다. 그림으로 표현해 보면 아래와 같습니다.위 그림은 말로 옯기면 입력신호와 가중치를 곱한뒤 총합을 활성화 함수인 시그모이드 함수를 통과시켜 출력하는 것을 의미합니다. 계단 함수퍼셉트론의 활성화 함수인 계단 ..
이 카테고리에 있는 모든 글들은 밑바닥부터 시작하는 딥러닝을 읽고 정리한 글입니다. 퍼셉트론퍼셉트론은 프랑크 로젠블라트가 1975년에 고안한 알고리즘이다. 퍼셉트론이 중요한 이유는 신경망의 기원이기 때문이다. 퍼셉트론이란?퍼셉트론은 다수의 신호를 입력으로 받아 하나의 신호를 출력한다. 위 그림은 입력으로 2개의 신호를 받은 퍼셉트론의 예이다. x1과 x2는 입력을, w1과 w2는 가중치를, 원은 뉴런을 모방한 노드를 뜻한다. 동작원리는 입력 신호가 노드에 보내질 때는 각각 고유한 가중치가 곱해진다. 여기서 가중치는 각 신호가 결과에 주는 영향력을 조절하는 요소로 작용한하고, 가중치는 클수록 해당 신호가 더 중요하다는 것을 의미한다. 그리고 노드에서 보내온 신호의 총합이 정해진 한계를 넘어설 때만 1을 출..