tensorflow 학습 예제

TensorFlow는 연구 및 생산을 위한 오픈 소스 머신 러닝 라이브러리입니다. TensorFlow는 데스크탑, 모바일, 웹 및 클라우드용으로 개발할 수 있는 초보자와 전문가를 위한 API를 제공합니다. 시작하려면 아래 섹션을 참조하십시오. 교육은 모델이 점진적으로 최적화되거나 모델이 데이터 집합을 학습할 때 기계 학습의 단계입니다. 목표는 보이지 않는 데이터에 대한 예측을 하기 위해 학습 데이터 집합의 구조에 대해 충분히 알아보는 것입니다. 학습 데이터 집합에 대해 너무 많이 학습하는 경우 예측은 본 데이터에 대해서만 작동하며 일반화할 수 없습니다. 이 문제를 오버피팅이라고 하며, 문제를 해결하는 방법을 이해하는 대신 답을 암기하는 것과 같습니다. 이 섹션에서는 TensorFlow를 사용한 기계 학습 사용 사례를 소개합니다. 첫 번째 예제는 kNN 접근 법으로 데이터를 분류하는 알고리즘이고 두 번째 예제는 선형 회귀 알고리즘을 사용합니다.

그런 다음 학습 데이터 집합에서 선택한 데이터로 신경망을 학습합니다. 첫째, 우리는 훈련 기능을 정의합니다. 이 함수는 신경망을 확장하고 여러 일괄 처리를 만들어 학습 집합의 데이터를 제공해야 합니다. 교육 예제가 임의 순서인 경우 교육이 가장 효과적입니다. 셔플 함수가 호출된 이유입니다. 요약하면 train_function은 전달된 학습 데이터 집합을 사용하여 데이터를 임의로 선택하고 DNNClassifier의 학습 메서드에 다시 제공하여 데이터 일괄 처리를 만듭니다. 각 레이블은 문자열 이름(예: ”setosa”)과 연결되지만 기계 학습은 일반적으로 숫자 값에 의존합니다. 레이블 번호는 다음과 같은 명명된 표현에 매핑됩니다. 각 예제 행의 필드는 해당 피쳐 배열에 추가됩니다.

batch_size를 변경하여 이러한 피쳐 어레이에 저장된 예제 수를 설정합니다. 다음은 이러한 작업을 호출하는 기본 예입니다. 모델의 클래스 확률 예측과 원하는 레이블을 취하고 예제에서 평균 손실을 반환하는 tf.keras.losses.categorical_crossentropy 함수를 사용하여 손실을 계산합니다. TensorFlow에는 교육에 사용할 수 있는 많은 최적화 알고리즘이 있습니다. 이 모델은 sGD(sGD) 알고리즘을 구현하는 tf.train.GradientDescentDescentOptimizer를 사용합니다. learning_rate는 언덕 아래로 각 반복에 대해 취할 단계 크기를 설정합니다. 이것은 일반적으로 더 나은 결과를 얻기 위해 조정하는 하이퍼 매개 변수입니다. 업데이트 (07/14/2019): 몇 가지 TensorFlow v2 예제를 추가! (더 곧).