본문 바로가기

작성

[머신러닝] CNN 층에 dropout(드롭아웃) 추가하기 (텐서플로) Dropout(드롭아웃)은 랜덤으로 선택한 node만 학습시키고, 일부 node는 버리는 것을 말하는데요, 한 번의 학습 후 다음 학습 때 이 과정을 반복합니다. Dropout을 사용하면 은닉층이 많은 neural network에서 오버피팅 문제를 방지할 수 있다는 장점을 가지는데요, 텐서플로를 이용하여 만든 CNN 층에 드롭아웃 층을 추가하는 코드에 대해서 살펴보겠습니다. model = models.Sequential() model.add(layers.Conv2D(32, (3, 3), activation='relu', input_shape=(28, 28, 1))) model.add(layers.MaxPooling2D((2, 2))) model.add(layers.Conv2D(64, (3, 3), act.. 더보기
[머신러닝] 파이썬으로 softmax(소프트맥스) 함수 구현하기 word_encoded = tokenizer.texts_to_sequences(sentences) print(word_encoded) softmax(소프트맥스) 함수란 인풋값을 넣으면, 그 값들을 모두 0과 1 사이의 값으로 정규화를 해주는 함수를 말하는데요, 아래와 같은 연산을 가집니다. 이러한 softmax 함수는 확률처럼 모든 아웃풋 값을 더했을 때 1이 총합이라는 특징을 갖는 함수입니다. 따라서 시그모이드 함수의 경우 인풋이 하나일 때 사용되지만, 소프트맥스는 인풋이 여러 개일 때도 사용할 수 있는 함수입니다. 따라서 softmax 함수는 멀티 클래스 분류모델을 만들고자 할 때 이용하는 것이 좋습니다. 한편, 파이썬에서 특정 라이브러리에선 소프트맥스를 구현하는 함수를 제공하는데요, 이를 사용하지 .. 더보기
[파이썬] 메모장 또는 텍스트 파일로 저장하기 텍스트 형식의 데이터를 처리한 뒤, 이를 메모장과 같은 텍스트 파일로 저장해야 될 때가 있는데요, 간단한 코드 작성법에 대해서 아래 예시를 들면서 설명하도록 하겠습니다. 우선, 문자열 데이터를 텍스트 파일로 저장하는 과정은 다음과 같습니다. 1. 텍스트 파일 생성 & 열기 2. 텍스트 입력하기 3. 닫기 이를 코드로 나타내 보도록 하겠습니다. text1 = "안녕하세요! 디노랩스는 컨텐츠 공유 플랫폼입니다." file = open("test_text1.txt", "w") file.write(text1) file.close() 우선, 저장할 텍스트를 "안녕하세요! 디노랩스는 컨텐츠 공유 플랫폼입니다." 라고 지정하였습니다. 그리고나서, 'test_text1.txt" 라는 텍스트파일을 생성했고, 이를 작성하.. 더보기