[도서완독]Hands On Machine Learning
-
[HandsOn]14. 합성곱 신경망을 사용한 컴퓨터 비전 - 내용 정리1[도서완독]Hands On Machine Learning 2022. 8. 1. 21:01
어느덧 14과까지 왔다~! 아직 6과나 더 남긴했지만...ㅋㅋㅋ 그래도 1월달에 앞부분 깔짝거리다가 그만 뒀었는데 14화까지 왔네 어떻게 .... ㅋㅋㅋ ㅠㅠ 앞으로 6주만 더 힘내자!! 😍 합성곱 신경망(CNN)은 음성 인식이나 자연어 처리, 이미지 분야에서 많이 사용됨! 여기서는 이미지 애플리케이션에 초점을 맞출 것임! 사실 밑에 이러쿵 저러쿵 책의 내용을 요약해놨지만 책이 너무 어렵게 설명함... https://wikidocs.net/64066 1) 합성곱 신경망(Convolution Neural Network) 합성곱 신경망(Convolutional Neural Network)은 이미지 처리에 탁월한 성능을 보이는 신경망입니다. 하지만 합성곱 신경망으로 텍스트 처리를 하기 위한 시 ... wiki..
-
[HandsOn]13. 텐서플로에서 데이터 적재와 전처리하기 - 연습문제[도서완독]Hands On Machine Learning 2022. 7. 29. 23:02
코드는 여기를 참고하였다. https://github.com/rickiepark/handson-ml2/blob/master/13_loading_and_preprocessing_data.ipynb GitHub - rickiepark/handson-ml2: 핸즈온 머신러닝 2/E의 주피터 노트북 핸즈온 머신러닝 2/E의 주피터 노트북. Contribute to rickiepark/handson-ml2 development by creating an account on GitHub. github.com 9. 10장에서 소개한 패션 MNIST 데이터셋을 적재하고 훈련 세트, 검증세트, 테스트 세트로 나눕니다. 훈련 세트를 섞은 다음 각 데이터셋을 TFRecord 파일로 저장합니다. 각 레코드는 두 개의 특성을 ..
-
[HandsOn]13. 텐서플로에서 데이터 적재와 전처리하기 - 내용 정리1[도서완독]Hands On Machine Learning 2022. 7. 26. 19:38
공부하려고 앉았다가 1시간을 웹서핑했다😂 정신차리자! 다른 말인데 유기견, 유기묘 사진을 요즘 보고 있는데 너무 귀엽고 불쌍하다... 사정만 된다면 한 마리 데려와서 키우고 싶은데 사실 내가 1인 가구이기도 하고 집도 돈도 없으니...(주륵) 모두에게 못할짓.. 나중에 경제적으로 주거적으로 안정적이 된다면 꼭 친구 한마리를 데려와서 같이 살고 싶다! 메모리 용량에 맞지 않는 아주 큰 규모의 데이터셋으로 딥러닝 시스템을 훈련해야 한다면? 대용량 데이터는 정규화처럼 데이터 전처리가 필요한데 인코딩을 해야 한다면?-> 사용자 정의 전처리 층을 만들거나, 케라스에서 제공하는 표준 전처리 층을 사용하면 됨 13.1 데이터 API 메모리에서 전체 데이터셋을 생성해볼수 있음. 이렇게 10개의 원소가 있는 텐서를 받아..
-
[HandsOn]12. 텐서플로를 사용한 사용자 정의 모델과 훈련 - 연습문제 풀이[도서완독]Hands On Machine Learning 2022. 7. 21. 17:00
12. 층 정규화(layer normalization)을 수행하는 사용자 정의 층을 구현하세요. a. build() 메서드에서 두 개의 훈련 가능한 가중치 a와 b를 정의합니다. 두 가중치 모두 크기가 input_shape[-1:]이고 데이터 타입은 tf..float32 입니다. a는 1로 초기화되고 b는 0으로 초기화되어야 합니다. b. call()메서드에서는 샘플의 특성마다 평균 \mu와 표준편차 \sigma를 계산해야 합니다. 이를 위해 전체 샘플의 평균과 분산을 반환하는 tf.nn.moments(inputs,axes=-1, keepdims=True)을 사용할 수 있습니다. 그다음 α⊗(X - μ)/(σ + ε) + β 를 계산하여 반환합니다. c. 사용자 정의 층이 keras.layers.Laye..
-
[HandsOn]12. 텐서플로를 사용한 사용자 정의 모델과 훈련 - 내용 정리 2[도서완독]Hands On Machine Learning 2022. 7. 20. 18:40
뭔가 어려워보인다... 힘내서 시작하자!! 아자아자😍 12.3 사용자 정의 모델과 훈련 알고리즘 12.3.1 사용자 정의 손실 함수 def huber_fn(y_true, y_pred): error = y_true - y_pred is_small_error = tf.abs(error) < 1 squared_loss = tf.square(error) / 2 linear_loss = tf.abs(error) - 0.5 return tf.where(is_small_error, squared_loss, linear_loss) 이런 식으로 내가 만들고 싶은 손실 함수를 만들 수 있다. model.compile(loss=huber_fn, optimizer='nadam') model.fit(X_train, y_trai..
-
[HandsOn]12. 텐서플로를 사용한 사용자 정의 모델과 훈련 - 내용 정리 1[도서완독]Hands On Machine Learning 2022. 7. 19. 19:14
10,11과에서 고수준 API인 tf.keras 를 통해 여러가지를 해 보았음! 사실 딥러닝 작업의 95%는 tf.keras나 tf.data(13장에서 다룰것) 외에 다른 것은 필요하지 않다고 함... 하지만 저수준 파이썬API도 한번 해보자. 나만의 손실 함수나, 지표 등을 만들어 세부적으로 제어하고 싶을 때 필요하기 때문. 12.1 텐서플로 훑어보기 대부분 고수준 API를 사용하지만, 자유도가 필요한 경우 저수준 API를 사용하여 텐서를 직접 다루게 됨. 구글의 텐서플로 허브를 사용하면 사전훈련된 신경망을 손쉽게 다운로드하여 재사용할 수 있다. 혹은 텐서플로 모델 저장소(https://github.com/tensorflow/models)에서 많은 신경망 구조를 다운로드할 수 있음. 텐서플로 리소스 페..
-
[HandsOn]11. 심층 신경망 훈련하기 - 내용 정리 3[도서완독]Hands On Machine Learning 2022. 7. 8. 16:48
11.4 규제를 사용해 과대적합 피하기 11.4.1 L1과 L2 규제 신경망의 연결 가중치를 제한하기 위해 l2 규제를 사용하거나 희소 모델을 만들기 위해 l1 규제를 적용 layer=keras.layers.Dense(100, activation="elu", kernel_initializer="he_normal", kernel_regularizer=keras.regularizers.l2(0.01)) 일반적으로 네트워크의 모든 은닉층에 동일한 활성화 함수, 동일한 초기화 전략을 사용하거나 하기 때문에 똑같은 코드를 반복하는 경우가 많음... 이는 코드를 읽기 어렵게 만듬. 코드를 리팩터링 하거나, 파이썬의 functools.partial() 함수를 사용 from functools import partial..