본문 바로가기

Aiffel/Fundamental31

경사하강법(Gradient Descent) 1차 미분계수를 이용해 함수의 최소값을 찾아가는 방법. 함수 값이 낮아지는 방향으로 독립변수 값을 변형시켜 가면서 최소 함수값을 갖도록 하는 독립 변수 값을 찾는 방법이다. 최소 함수값을 찾는 과정에서 미분계수가 0인 지점을 찾는게 아닌 gradient descent를 이용하는 이유는 실제 분석에서 맞딱드리게 되는 함수들은 닫힌 형태(closed form)가 아니거나 함수의 형태가 복잡해 (가령, 비선형함수) 미분계수와 그 근을 계산하기 어려운 경우가 많다. 실제 미분계수를 계산하는 과정을 컴퓨터로 구현하는 것에 비해 gradient descent는 컴퓨터로 비교적 쉽게 구현할 수 있다. 데이터 양이 매우 큰 경우 gradient descent와 같은 iterative한 방법을 통해 해를 구하면 계산량 .. 2022. 1. 21.
손실함수 (Loss Function) 비선형 활성화 함수를 가진 여러 개의 은닉층을 거친 다음 신호 정보들은 출력층으로 전달되는데, 이때 우리가 원하는 정답과 전달된 신호 정보들 사이의 차이를 계산하기 위한 함수가 손실함수 입니다. 1. 평균제곱오차(MSE : Mean Square Error) 오차의 제곱에 평균을 취한 값. 작을 수록 원본과의 오차가 적고 추측한 값의 정확성이 높은 것이다. MSE를 기본으로 최소평균제곱오차(MMSE), 평균제곱근오차(RMSE) 등이 있다. 2. 교차 엔트로피(Cross Entropy) Entropy : 불확실성(어떤 데이터가 나올지 예측하기 어려운 경우)의 척도. 엔트로피가 높다는 것은 정보가 많고 확률이 낮음을 의미 Ex. 동전던지기, 주사위 던지기 (Fair Probability) 동전의 엔트로피 값은.. 2022. 1. 21.
활성화 함수 (Activation Function) Activation function은 신경망의 출력을 결정하는 식으로, 활성화 함수는 보통 비선형 함수를 사용하는데 이 비선형 함수를 MLP(Multi-Layer Perceptron) 안에 포함시키면서 모델의 표현력을 좋아지게 합니다. 1. Sigmoid Sigmoid 함수는 모든 실수 입력 값을 0보다 크고 1보다 작은 미분 가능한 수로 변환하는 특징을 갖습니다. 모든 입력에 대하여 sigmoid는 S와 같은 형태로 미분 가능한 0~1 사이의 값을 반환하기에 Logistic Classification과 같은 분류 문제의 가설과 Cost Function에 많이 사용됩니다. Sigmoid의 반환 값은 확률형태이기 때문에 결과를 확률로 해석할 때 유용합니다. 현재는 Sigmoid보다 ReLU 함수를 많이 사.. 2022. 1. 21.
Parameter, HyperParameter Model Parameter 모델 내부에서 데이터를 통해 값을 추정할 수 있는 변수 prediction을 만들기 위해 모델에서 필요하다. parameter는 모델의 skill을 정의한다. data에 의해 결정된다. 학습에 의해 자동으로 최적화된다. 학습된 모델의 일부로 저장된다. Model Hyperparameter 모델 외부에 있고 데이터를 통해 추정할 수 없는 변수 모델 parameter를 추정하는 프로세스에서 주로 사용 실무자가 직접 결정 휴리스틱을 사용하여 설정 휴리스틱 : 불충분한 시간이나 정보로 인하여 합리적인 판단을 할 수 없거나, 체계적이면서 합리적인 판단이 굳이 필요하지 않은 상황에서 사람들이 빠르게 사용할 수 있게 보다 용이하게 구성된 간편추론의 방법 주어진 예측 모델링 문제에 대해 조.. 2022. 1. 18.
Class 상속 class Car: Manufacture = "India" def __init__(self, color='red', category='sedan'): self.color = color self.category = category def drive(self): print("I'm driving") def accel(self, speed_up, current_speed=10): self.speed_up = speed_up self.current_speed = current_speed + self.speed_up print("speed up", self.speed_up, "driving at", self.current_speed) class NewCar(Car): pass car = NewCar() car.d.. 2022. 1. 10.
클래스 변수와 인스턴스 변수 class Car: Manufacture = "India" def __init__(self, color, category='sedan'): self.color = color self.category = category Manufacture : 클래스 변수 클래스에 바로 선언된 속성 클래스에 의해 생성된 모든 객체에서 같은 값을 조회 self.color : 인스턴스 변수 __init__ 안에서 self를 통해 선언된 변수 객체가 인스턴스화될 때마다 새로운 값 할당 서로 다른 객체간에는 값 공유 X 2022. 1. 10.