본문 바로가기

python/핸즈온 머신러닝5

[핸즈온 머신러닝] 12장. 텐서플로우를 사용한 사용자 정의 모델과 훈련 ● 텐서플로우(Tensorflow) - 강력한 수치 계산용 라이브러리, 딥러닝 최적화가 되어있다. - 핵심 구조는 넘파이(Numpy)와 비슷하지만 GPU를 지원한다. - 분산 컴퓨팅을 지원한다. - 계산 그래프를 이용하여 함수 최적화 및 중립적 포맷을 유지한다.(리눅스 python 환경에서 훈련 후 안드로이드 자바에서 사용 가능) - 자동 미분 기능 제공, 고성능 옵티마이저 제공 - 텐서 플로 허브 등에서 다수의 만들어진 모델을 다운 가능하다. (커뮤니티가 잘 되어 있고 사용자도 많다.) 목차 1. 텐서 플로우 연산(numpy처럼 사용하기) 2. 사용자 정의로 모델 만들기 - 손실 함수, 활성화 함수, 규제, 지표, 층 등 사용자 정의로 모델의 구성요소를 만들어 보기 3. 텐서 플로우 함수 만들기 1. .. 2021. 3. 31.
[핸즈온 머신러닝] 11장. 심층 신경망 훈련하기 목차 1. 그레디언트 소실 및 그레디언트 폭주 문제 2. 전이 학습 3. 옵티마이저 4. 규제 ● 그레디언트 소실 및 그레디언트 폭주 - 깊은 신경망 학습 시 그레디언트가 점점 작아지거나 발산하는 현상 - 하위층에 대한 훈련이 매우 어려워진다. 시간 또는 비용이 많이 발생하게 된다. - 과대 적합에 빠질 위험이 많다. - 초반에 많이 사용하던 로지스틱 활성화 함수와 표준 정규분포 초기화로 인해 발생 ▶ 글로럿 초기화 출력층의 분산과 입력층의 분산이 같아야 적절한 신호가 흐를 수 있다. 글로럿 초기화를 사용하면 훈련 속도를 매우 높일 수 있다. 현재 딥러닝의 성공을 견인한 기술이다. 입력층의 개수를 $fan_{in}$, 출력층의 개수를 $fan_{out}$으로 표현하고 $fan_{avg}$는 둘의 평균입니.. 2021. 3. 28.
[핸즈온 머신러닝] 3장. 분류 1. MNIST 데이터 0~9까지 손글씨 70000개의 데이터를 가지고 있다. (28*28) 픽셀은 흑백으로 0~255까지의 값을 갖는다. 2. 이진 분류 A or B, True or False 등 2가지 lable로 나누는 분류를 이진 분류라 한다. 3. 성능 검증 ▶ 오차 행렬 - 검증을 시행했을 때 결과를 행렬로 만든다. 진짜 음성(TN) : 실제 FALSE를 FALSE로 예측한 경우 가짜 음성(FN) : 실제 TURE를 FALSE로 예측한 경우 가짜 양성(FP) : 실제 FALSE를 TURE로 예측한 경우 진짜 양성(TP) : 실제 TRUE를 TURE로 예측한 경우 ▶ 정확도: 전체 중 맞춘 값(TN, TP)의 비율 = (TN+TP)/total ▶ 정밀도: TRUE로 예측한 것 중 맞춘 값(TP).. 2021. 1. 31.
[핸즈온 머신러닝] 2장. 머신러닝 프로젝트 처음부터 끝까지 1. 큰 그림 보기 ▶ 문제 정의 하기 비즈니스의 목적 파악: 목적에 따라 문제의 구성, 알고리즘의 선택, 평가 지표, 튜닝 정도가 달라지기 때문이다. 학습 방법 정의: 지도 학습, 비지도 학습, 강화 학습 중 어떤 방법을 선택할 것인가? 지도 학습이라면 분류인가 회귀인가? 온라인 학습과 배치 학습 중 무엇이 더 효율적인가? ▶ 성능 측정 지표 선택 분류의 경우 정확도, 회귀의 경우 RMSE, MAE 등 오차 계산법이 있다. 이 중 올바른 것을 선택한다. ▶ 가정 검사 문제를 정의하고 성능지표를 선택하는 등 세운 계획에 대해 검토하는 과정이다. 2. 데이터 가져오기 및 작업 환경 구축 ▶ 작업환경 구축 분석 환경에 필요한 프로그램과 패키지를 다운로드하고 필요하다면 가상 환경을 준비한다. ▶ 데이터 구조 .. 2021. 1. 21.
[핸즈온 머신러닝] 1장. 한 눈에 보는 머신러닝 1. 머신러닝이란 무었인가? "어떤 작업 T에 대한 컴퓨터 프로그램의 성능을 P로 측정하였을 때 경험 E로 인해 성능이 향상됐다면, 이 컴퓨터 프로그램은 작업 T와 성능 측정 P에 대해 경험 E로 학습한 것이다.' - 톰 미첼 머신러닝은 학습을 통하여 명시적인 코딩없이 성능을 향상시키는 프로그램을 말한다. 훈련을 할 수 있는 데이터를 이용하여 성능을 높이는 것이다. 알파고는 기존 바둑의 기보를 통하여 학습하여 대국에서의 승률을 높이는 머신러닝을 통하여 탄생하였다. 2. 머신러닝의 종류 머신러닝의 훈련 데이터의 지도 방식에 따라 지도학습, 비지도 학습, 준지도 학습, 강화 학습으로 나뉜다. ▶ 지도 학습 정답이 있는(lable) 훈련 데이터를 통한 학습한다. 데이터들이 변수와 정답을 통해 새로운 데이터의 .. 2021. 1. 21.