본문 바로가기

이유

Overfitting이 무엇일까? 【1】Deep Learning 시작하기_규제화라는 게 있다 Overfitting이 무엇일까? 우리는 지금까지 신경망의 학습 성능을 높이기 위한 기술들을 알아보았다. 신경망은 데이터를 기반으로 학습을 시키는데 이 때 학습한 결과를 평가하는 과정이 반드시 필요하다. 일종의 시험을 통해 신경망의 학습 결과를 확인하는 것이다. 학습에 사용되는 데이터를 학습 데이터(Trainset)라고 하고 평가에 사용되는 데이터를 시험 데이터(Testset)라고 하는데 신경망을 충분히 학습시키다 보면 학습데이터를 너무 ‘완벽 학습’ 하여 학습에 등장하지 않은 데이터는 맞추지 못하는 상황이 발생하게 된다. 이를 오버피팅(혹은 과적합, Overfitting) 상태라고 부른다. 즉, 오버피팅이란 주어진 데이터를 지나치게 학습한 나머.. 더보기
[머신러닝] 은닉층(Hidden Layer)에서 활성화 함수를 선형 함수(Linear function)로 사용하지 않는 이유 - 은닉층에 활성화 함수를 선형 함수로 사용해도 될까? 학습시킬 neural network의 은닉층(Hidden layer)에서 활성화 함수(activation function)를 선형 함수로 사용해도 되는지, 사용하면 안 되는지 궁금하실 수 있는데요, 바로 말씀드리자면, 선형 함수(linear function)를 사용하면 은닉층의 의미가 사라지게 됩니다. 왜냐하면, 은닉층에서 선형 함수를 활성화 함수로 사용해서 학습시키는 구조를 은닉층이 없는 Input layer, Ouput layer로만 똑같이 구현시킬 수 있기 때문입니다. 즉, 은닉층 없이도 동일한 학습을 시킬 수 있다는 것입니다. 따라서 이러한 경우 오히려 은닉층을 없애고 모델을 간단하게 만들어 학습시키는게 더 효율적일 수 있습니다. 따라서 은닉.. 더보기
[파이썬] NameError: name 'os' is not defined 에러 발생 이유 & 해결방법 쥬피터노트북에서 파이썬 코드를 입력하다 보면, NameError: name 'ㅇㅇ' is not defined 이라는 에러를 자주 볼 수 있는데요, 이 에러는 해당 라이브러리 또는 모듈이 import 되지 않았을 때 발생하는 에러입니다. 따라서 만약 NameError: name 'os' is not defined 라는 에러가 발생되었다면 'os' 라는 라이브러리가 설치되지 않았다는 뜻입니다. 한 번 os 라이브러리를 설치하지 않고, os모듈을 사용해보도록 하겠습니다. os.getcwd() NameError Traceback (most recent call last) in ----> 1 os.getcwd() NameError: name 'os' is not defined 출력된 결과를 보면, 'os' 로 .. 더보기
[파이썬] SyntaxError: invalid syntax 에러 발생 이유 및 해결방법은? 파이썬으로 코딩을 하면서 가장 많이 보는 에러 중 하나가 바로 SyntaxError: invalid syntax 일 수 있습니다. 이 에러가 나는 데에는 다양한 이유가 있을 수 있지만 그중 주된 이유 중 하나는 바로 ' : '를 작성하지 않았을 때 입니다. 보통 for문이나 if문, while문, try문, 함수 등을 만들 때 뒷부분에 ' : '를 반드시 써줘야 하는데요, 만약 이를 입력하지 않고 코드를 실행하면 SyntaxError가 난답니다. 한 번 for문에 ' : '를 입력하지 않고 실행해보도록 하겠습니다. for i in range(5) print(i) File "", line 1 for i in range(5) ^ SyntaxError: invalid syntax for문에 ' : '를 입력하.. 더보기