목록분류 전체보기 (98)
juuuding
Inference in Code [Coffee roasting 예제] training set X에 temperature & duration 입력하여 good coffee / bad coffee 를 구분해보자. neural network의 layer 개수는 2개, layer1은 unit 3개, layer2는 unit 1개로 이루어져 있다고 가정한다. 그 후 layer2를 거친 값인 a2가 임계값 0.5 이상이면 "good coffee", 0.5 미만이면 "bad coffee"로 구분한다. model 생성을 위해 TensorFlow를 사용한다. # layer1 적용 x=np.array([[200.0, 17.0]]) layer_1 = Dense(units = 3, activations = 'sigmoid') ..
Neural network layer hidden layer 내부를 좀 더 자세히 살펴보자. 아래의 사진은 layer1의 내부이다. 각 neuron 마다 w, b 값이 있으며 표기는 다음과 같이 한다. hidden layer1을 거친 결과는 a[1]로 표현되며 이는 각 뉴런에 해당되는 w,b가 적용된 sigmoid 함수를 거친 활성화 값이다. a[1] 값이 output layer인 layer2에 들어가면 한 뉴런의 sigmoid 함수를 거쳐 결과가 도출되고 이 결과 값은 스칼라 값으로 결정된다. 이 후 결과 값으로 category를 예측한다. More complex neural networks hidden layer가 더 많은 복잡한 신경망을 자세히 살펴보자. hidden layer1과 마찬가지로 hid..
Neurons and the brain Neural networks란 뇌를 모방한 알고리즘이다. 인간의 뇌는 한 뉴런에서 다른 뉴런으로 신호를 보내며 생각이라는 것을 하게 되는데, 이러한 특징을 단순화하여 만든 모델이 Neural Networks이다. Demand Prediction 예를 들어 소비자가 옷을 살지 안살지를 예측하는 모델을 살펴보자. 소비자의 구매 여부를 결정하는 요소는 cost, shipping cost, marketing, material로 정했다. 그리고 하나의 layer은 3개의 neurons(units)로 구성하였고, 이 unit들은 각각 affordability, awawreness, perceived quality 에 해당한다. 한 layer은 동일하거나 유사한 특징을 입력 받..
Machine Learning 특화 과정 중 첫 번째 과정인 을 완료하였다. 다음으로 두 번째 과정인 을 수강할 예정이다. 에서 regression과 classification을 큰 틀로 하여 linear regression, logistic regression에 대해 배우고, 이에 맞는 cost function과 gradient descent을 학습하였다. 그리고 마지막 주에는 발생할 수 있는 overfitting에 대해 알아본 후 이를 해결할 수 있는 방법을 배웠고, 그 중 regularization 방법을 자세히 공부하였다. 에서는 TensorFlow를 사용하여 Neural Network에 대해 배워볼 예정이다.
Cost Function with Regularization ovefitting 문제가 발생했을 때 이를 해결하는 방법 중 하나는 정규화를 이용하는 것이다. 정규화 과정은 간단하게 parameter에 penalty를 부여하여 각 feature에 대한 영향을 줄이는 것이라고 할 수 있다. 예를 들어 많은 feature로 model을 생성해 다음과 같은 overfitting이 발생했다고 가정하면, 여기서 feature에 대한 영향을 줄이는 방법이 regularization이다. 영향력을 줄이기 위해서는 해당 feature에 대한 parameter w 값을 작게 해야한다. 이를 위해 w가 클수록 cost function 값을 커지게 하므로써 각 feature에 대한 penalty를 부여하여 w가 적당한 크기의..
이진화 이진 영상이란 화소가 0 (흑) 혹은 1 (백)인 영상을 뜻한다. 이진 영상은 한 화소를 1 bit로 표현할 수 있지만 현대 컴퓨터는 메모리 용량이 크기 때문에 프로그램 편리성을 위해 1byte (8bit)를 사용한다. 컴퓨터 비전에서는 이러한 이진 영상을 "에지만 1로 표현하는 일" , "물체 검출 후 물체는 1, 배경은 0으로 표시하는 일" 등에 활용할 것이다. 명암 영상을 이진 영상으로 바꾸는 과정을 이진화라고 말한다. 이 때 임계값 T를 설정한 후 T보다 큰 화소는 1, 작은 화소는 0으로 바꾸어 이진화를 실행한다. 여기서 가장 중요한 것은 어떻게 이 임계값 T를 결정하느냐인데, 보통 히스토그램의 계곡 근처를 임계 값으로 결정한다. 여기서 말하는 히스토그램은 명암 단계를 가로축으로 두고, ..
The Problem of Overfitting [Overfitting in Regression] 5개의 훈련 데이터가 있는 regression을 살펴보았을 때, 그림 1의 model은 훈련 예제에 잘 맞지 않는 모습을 보이고, 이를 underfit 혹은 high bias라고 표현한다. 그림 2를 보면 훈련 예제들이 model에 꽤 적절하게 잘 맞는 양상을 띄며, 이를 generalization이라고 표현한다. 그렇다면 overfit은 무엇일까? overfit은 앞서 보았던 underfit과 반대로 model이 모든 훈련 예제에 과도하게 잘 맞는 것을 말한다. 훈련 예제를 바탕으로 만들어진 model은 본 적이 없는 새로운 예제에서도 잘 맞아야 하는데, 그렇지 못하고 기존에 있는 예제에 과도하게 맞는 것..
영상 획득과 표현 사람의 눈과 마찬가지로 카메라는 물체에서 반사된 빛이 카메라의 작은 구멍에 들어가 뒷면에 있는 영상 평면에 맺히면서 영상을 얻게 되는 것이다. 이 영상 평면은 사람의 경우 망막, 필름 카메라의 경우 필름, 디지털 카메라의 경우 CCD 센서다. 이렇게 얻은 영상은 초기에 아날로그 신호이며, 영상을 메모리 공간에 저장하기 위해서는 아날로그 신호를 디지털 신호로 바꿔주어야 한다. 디지털 신호로 바꾸기 위해서는 샘플링, 양자화 이 두가지 과정이 필요하다. 먼저 샘플링은 2차원 영상 공간을 가로 N개, 세로 M개로 나눈다. 이렇게 나눠진 공간 중 한 점을 화소(pixel)이라고 하고, MxN을 영상의 크기 또는 해상도라고 한다. 다음으로는 이렇게 샘플링 된 영상을 양자화 해야한다. 양자화는 각 ..