머신 러닝 및 신경망 - 페이지 16

 

초보자를 위한 기계 학습 과정(1-5부)


초보자를 위한 기계 학습 과정

00:00:00 - 01:00:00 기계 학습에 대한 초심자 과정에 대한 이 YouTube 비디오에서 강사는 기계 학습 알고리즘의 기본 사항과 실제 응용 프로그램을 이론 및 실제 측면 모두에서 설명합니다. 이 과정은 기계 학습의 기초부터 선형 회귀, 로지스틱 회귀, 주성분 분석 및 자율 학습과 같은 알고리즘에 이르기까지 학습자를 안내합니다. 이 동영상에서는 과대적합, 과소적합 및 교육/테스트 데이터 세트에 대해서도 설명합니다. 강사는 기계 학습 알고리즘이 데이터를 분석하여 예측을 생성할 수 있도록 하는 기능을 개발하는 방법을 이해하는 것이 중요하다고 강조합니다. 마지막에는 성능 평가에 사용되는 비용 함수를 최적화하기 위한 Gradient Descent 알고리즘을 소개합니다.

01:00:00 - 02:00:00 초보자를 위한 이 기계 학습 과정은 새로운 학습자를 위한 기계 학습의 다양한 필수 주제를 다룹니다. 강사는 선형 회귀, 정규 방정식, 선형 회귀의 가정 및 독립 및 종속 기능의 차이에서 세타의 편도함수의 벡터화를 설명합니다. 이 과정에는 로지스틱 회귀 및 분류 작업도 포함되어 있으며 로지스틱 회귀, 비용 함수 및 경사 하강법에 대한 가설과 비용 함수 및 경사 하강법에 대한 벡터화 코드를 가르칩니다. 또한 이 과정에서는 Python 라이브러리, 데이터 분석 기술, 모델 구축 및 선형 회귀를 사용한 정확도 검사를 소개합니다. 강사는 또한 과적합을 방지하기 위한 기계 학습에서 정규화 기술과 그 중요성을 다룹니다. 이 과정에서는 능선 및 올가미 회귀를 다루며 덜 중요한 기능의 기능 가중치에 페널티를 부여하여 0에 가깝게 만들거나 모두 제거합니다.

. 02:00:00 - 03:00:00 "초보자를 위한 기계 학습 과정"은 정규화 기술, 지원 벡터 기계(SVM), 비선형 분류 및 데이터 탐색과 같은 다양한 주제를 다룹니다. 이 과정은 SVM에 대한 소개를 제공하고 데이터 포인트를 분류하는 동안 예측을 수행하기 위해 최대 마진으로 초평면을 구성하는 방법을 설명합니다. SVM의 하드 마진 및 소프트 마진 분류의 개념과 차이점도 다룹니다. 또한 이 과정에는 Python 라이브러리를 사용하는 주가 예측 프로젝트가 포함되어 있으며 평균 제곱 오차, 평균 제곱근 오차 및 선형 회귀 모델에 대한 R2 제곱과 같은 평가 메트릭을 탐색합니다. Ridge 및 Lasso와 같은 정규화 선형 모델도 Flask를 사용하여 간단한 앱을 만드는 데모와 함께 자세히 설명합니다.

03:00:00 - 04:00:00 동영상 "초보자를 위한 기계 학습 과정"은 Flask를 사용한 서버 및 웹 사이트 설정, 주성분 분석(PCA), 편향 및 분산 거래 등 기계 학습과 관련된 다양한 주제를 다룹니다. -offs, 회귀 모델 및 중첩된 if-else 문. 강사는 실제 시나리오에서 텍스트 및 이미지 데이터에 대한 기계 학습 및 데이터 사전 처리의 개념을 이해하는 것이 중요함을 강조하고 Iris 데이터로 작업하고 간단한 의사 결정 트리를 만드는 방법에 대한 실용적인 예를 제공합니다. 이 비디오는 또한 선형 변환, 고유 벡터 및 고유 값과 같은 주제를 다루고 PCA가 정보를 보존하면서 데이터 차원을 줄이는 방법을 설명합니다. 전반적으로 이 비디오는 초보자가 머신 러닝과 그 응용 프로그램에 대해 배울 수 있는 포괄적인 소개를 제공합니다.

04:00:00 - 05:00:00 이 비디오는 기본 용어, 엔트로피, 정보 획득, 지니 불순물과 같은 속성 선택 측정을 사용하여 의사결정 트리를 구성하는 방법, 의사결정 트리를 구성하는 방법을 포함하여 의사결정 트리에 대한 초급 수준의 소개를 제공합니다. 분류 및 회귀 문제 모두에 사용할 수 있습니다. 이 비디오는 하이퍼파라미터의 중요성과 기계 학습의 중요한 개념인 의사 결정 트리에 대한 이해도 강조합니다. 다음 섹션에서는 앙상블 학습과 세 가지 기술인 Kaggle 대회에서 일반적으로 사용되는 배깅, 부스팅 및 스태킹에 대해 설명합니다.

05:00:00 - 06:00:00 이 YouTube 동영상은 기계 학습 모델 정확도를 향상시키기 위한 다양한 앙상블 학습 기술을 설명합니다. 인기 있는 기술 중 하나는 여러 모델이 교육 데이터의 하위 집합에 대해 교육되고 교육에 사용되는 행 샘플링과 더 나은 성능을 위해 결합되는 배깅 또는 부트스트랩 집계입니다. 이 비디오는 강력한 모델을 생성하기 위해 결정 트리, 배깅 및 열 샘플링을 사용하는 랜덤 포레스트도 다룹니다. 또한 약한 학습자를 강력한 모델로 추가 결합하여 편향을 줄이고 모델 정확도를 개선하는 데 사용되는 부스팅을 다룹니다. 강사는 Gradient Boosting 및 Adaptive Boosting과 같은 다양한 부스팅 유형에 대한 개요를 제공합니다. 비디오는 시청자가 시도할 수 있는 GitHub의 문제 세트를 제공하고 시청자가 채널을 구독하여 더 많은 무료 콘텐츠를 받도록 권장하는 것으로 끝납니다.

06:00:00 - 07:00:00 "초보자를 위한 기계 학습 과정" 비디오는 부스팅의 핵심 아이디어, 다양한 부스팅 기술(예: 그래디언트 부스팅, 어댑티브 부스트 및 익스트림 부스팅)과 같은 부스팅과 관련된 여러 주제를 다룹니다. ), 부스팅을 사용하여 모델을 교육하는 알고리즘, 기계 학습 모델에서 높은 편향을 줄이기 위해 부스팅을 사용하는 방법. 또한 비디오에서는 scikit-learn 및 mlx10과 같은 라이브러리를 사용하여 Python에서 부스팅 알고리즘을 구현하는 방법에 대해 설명합니다. 영상은 또한 여러 모델을 결합하여 더 나은 성능을 가진 새로운 모델을 만드는 방법인 스태킹(Stacking)의 개념에 대해서도 다룹니다. 강사는 sklearn 라이브러리를 사용하여 파이썬에서 로지스틱 회귀, k-최근접 이웃, 가우시안 나이브 베이즈 및 랜덤 포레스트 모델을 사용하여 누적 분류 모델을 생성하는 방법을 시연합니다.

07:00:00 - 08:00:00 강사는 이 비디오에서 앙상블 학습 및 스태킹 분류기부터 시작하여 다양한 주제를 다룹니다. 그런 다음 초점은 데이터 포인트 클러스터링에서 비지도 학습 및 해당 응용 프로그램으로 이동합니다. 연사는 센터 기반 및 밀도 기반을 포함한 다양한 유형의 클러스터링 알고리즘을 설명하고 클러스터링 모델 품질을 평가하기 위한 Dunn 인덱스 및 Davies-Bouldin 인덱스와 같은 평가 기술에 대한 개요를 제공합니다. 마지막으로 발표자는 초기화, 중심, 하이퍼파라미터 및 제한을 포함하여 k-평균 클러스터링에 대해 심도 있게 다루면서 두 개의 중심으로 알고리즘의 시각화를 제공합니다. 전반적으로 비디오는 다양한 기계 학습 개념과 기술을 다루며 주제에 대한 포괄적인 소개를 제공합니다.

08:00:00 - 09:00:00 "초보자를 위한 기계 학습 과정"이라는 제목의 이 YouTube 동영상은 기계 학습과 관련된 다양한 주제를 다룹니다. 한 섹션에서는 k-평균 클러스터링에 중점을 두고 중심 초기화, 클러스터 할당 및 수렴할 때까지 클러스터 업데이트를 다루는 알고리즘을 자세히 설명합니다. 이 비디오는 또한 임의 초기화에서 직면한 문제에 대한 솔루션으로 K-means++ 및 엘보우 방법을 소개합니다. 또한 다른 섹션에서는 계층적 클러스터링을 자세히 살펴보고 응집 및 분할 클러스터링 방법을 사용하여 클러스터의 계층 구조를 만드는 방법을 설명합니다. 영상은 건강 문제를 조기에 발견하여 생명을 구하는 데 도움이 되는 의료 AI 시스템 구축을 목표로 하는 심부전 예측 모델 프로젝트에 대해 논의하며 마무리됩니다.

09:00:00 - 09:50:00 "초보자를 위한 기계 학습 과정" 영상은 불균형 데이터, 상관 관계, 기능 엔지니어링, 모델 구축 및 평가, NLP 기술을 사용한 텍스트 분류 등 기계 학습과 관련된 다양한 주제를 다룹니다. 강사는 균형 잡힌 데이터의 중요성을 강조하고 데이터를 더 잘 이해할 수 있도록 시각화합니다. 발표자는 스팸 및 햄 탐지기 시스템 구축, 데이터 분석 및 이해, 메시지를 스팸 또는 햄으로 분류하는 NLP 기술 구현을 위한 단계별 프로세스를 안내합니다. 이 과정은 초보자 기계 학습 애호가가 구축할 수 있는 필수 개념에 대한 개요를 제공합니다.


1 부

  • 00:00:00 이 섹션에서는 데이터 과학자이자 기계 학습 엔지니어인 Ayush가 기계 학습 알고리즘과 실제 AI 프로젝트의 이론 및 실제 측면을 모두 다루는 기계 학습 과정을 소개합니다. Ayush는 컴퓨터 비전 및 자연어 처리와 같은 다양한 AI 애플리케이션 작업 경험과 기계 학습 및 딥 러닝에 대한 종단 간 과정을 제공하는 YouTube 채널을 포함하여 자신의 배경을 설명합니다. 그는 기계 학습의 기초부터 시작하여 선형 회귀, 로지스틱 회귀, 주성분 분석 및 비지도 학습과 같은 알고리즘 이해로 진행되는 과정의 강의 계획서를 설명합니다. Ayush는 섹션을 마무리하기 전에 과적합 및 과소적합을 이해하는 것이 중요하다고 강조합니다.

  • 00:05:00 이 섹션에서는 강사가 기계 학습이 무엇인지에 대한 간단한 설명을 제공합니다. 기본적으로 알고리즘을 사용하여 데이터를 분석하고 명시적인 프로그래밍 없이 해당 데이터를 기반으로 지능형 예측을 수행합니다. 목표는 크기, 침실 수 등을 기반으로 주택 가격을 예측하는 것과 같이 입력 변수를 출력 변수에 매핑하는 함수를 만드는 것입니다. 또한 강사는 컴퓨터를 포함하는 기계 학습의 보다 공식적인 정의를 제공합니다. 경험이 있는 작업에 대한 성능을 향상시키는 프로그램입니다. 전반적으로 강사는 기계 학습을 성공적으로 활용하기 위해 이러한 기능을 만드는 방법을 이해하는 것이 중요하다고 강조합니다.

  • 00:10:00 영상의 이 부분에서 강사는 자율주행차, 주가 예측, 의료 진단과 같은 기계 학습의 다양한 응용에 대해 논의합니다. 그는 또한 문제를 연구하고 데이터를 분석한 다음 알고리즘을 교육하고 성능을 평가하는 것부터 시작하여 기계 학습이 작동하는 기본 워크플로를 설명합니다. 강사는 지도, 비지도 및 강화 학습을 포함하여 기계 학습 시스템의 주요 유형에 대한 개요도 제공합니다. 그는 주택 가격 예측을 사용하는 감독 학습의 예를 제공합니다. 여기서 집 크기는 집 가격을 예측하는 기능으로 사용됩니다.

  • 00:15:00 이 섹션에서 화자는 지도 학습과 회귀 및 분류라는 두 가지 유형의 문제에 대해 설명합니다. 화자는 또한 회귀를 위한 집값 예측과 분류를 위한 이미지 분류와 같은 예제를 제공합니다. 발표자는 지도 학습에는 출력 변수가 알려져 있고 입력 변수와 출력 변수 사이에 관계가 있는 레이블이 지정된 데이터가 포함된다고 설명합니다. 연사는 또한 데이터에 레이블이 지정되지 않고 모델이 사용 가능한 데이터를 기반으로 패턴을 인식해야 하는 비지도 학습에 대해 간략하게 언급합니다.

  • 00:20:00 이 섹션에서는 연사가 기계 학습에서 분류와 회귀 문제의 차이점에 대해 설명합니다. 문제의 출력이 연속적인 값이면 회귀 문제로 간주됩니다. 출력이 정도 값이면 분류 문제입니다. 데이터를 훈련 세트와 테스트 세트로 나누는 것의 중요성이 강조됩니다. 80%는 훈련에 사용되고 20%는 모델 테스트에 사용됩니다. 연사는 또한 모델이 교육 및 테스트 데이터 모두에서 제대로 수행되지 않거나 교육에서는 잘 수행되지만 테스트에서는 실패하는 과적합 및 과소적합 문제에 대해 설명합니다. 이 섹션은 과정 전반에 걸쳐 사용될 몇 가지 표기법으로 끝납니다.

  • 00:25:00 이 섹션에서 강사는 머신 러닝의 감독 및 비지도 학습에 대해 설명합니다. 지도 학습에서는 예측을 위해 입력 및 출력 데이터를 모두 사용하여 입력 변수를 출력 변수에 매핑하는 함수 f(x)가 생성됩니다. 강사는 플레이어가 테니스를 칠지 여부를 예측하기 위해 전망, 온도, 습도 및 바람과 같은 기능을 사용하는 데이터 세트의 예를 제공합니다. 이때 대상 변수는 플레이어의 플레이 여부입니다. 입력 기능은 독립적인 반면 대상 변수는 해당 기능에 종속됩니다. 전반적으로 감독 학습에는 입력 데이터와 출력 데이터 간에 관계가 있는 레이블이 지정된 데이터 세트가 포함됩니다.

  • 00:30:00 이 섹션에서 강사는 지도 학습의 독립 기능과 종속 기능의 차이점과 회귀와 분류의 차이점을 설명합니다. 예를 들어 주가나 주택 가격을 예측하는 것은 회귀 분석이고, 당뇨병이 있는지 식별하는 것은 분류 분석이 될 것입니다. 그런 다음 강사는 비지도 학습을 소개하고 종속 기능 없이 독립적인 기능 집합만 포함한다고 설명합니다. 이에 대한 예는 데이터의 레이블을 모른 채 시장을 세분화하는 것입니다. 강사는 다음 섹션에서 비지도 학습을 더 깊이 다룰 것이라고 언급합니다.

  • 00:35:00 이 섹션에서는 출력 데이터가 연속적일 때 사용되는 지도 학습 알고리즘의 일종인 선형 회귀에 대해 알아봅니다. 목표는 입력 변수를 출력 변수에 매핑하는 함수를 만드는 것입니다. 선형 회귀는 예를 들어 크기를 기반으로 주택 가격을 예측하기 위해 분산된 데이터에 직선을 맞추는 것과 관련됩니다. 선은 가설을 나타내며 데이터에 가까울수록 예측이 더 좋습니다. 이 섹션에서는 선형 회귀에 대한 개요를 제공하고 학습 알고리즘에 대한 다음 섹션과 보스턴 온천 예측에 대한 프로젝트를 위해 학습자를 준비시킵니다.

  • 00:40:00 이 섹션에서는 강사가 선형 회귀에서 가설 함수가 작동하는 방식을 설명합니다. 가설은 세타로 표시되는 모든 기능의 가중치를 사용하여 구성됩니다. 편향 항 x0은 y 절편 또는 선이 y 축과 교차하는 위치를 결정합니다. 기능 가중치는 기계에서 학습되며 최상의 가중치가 최상의 예측을 생성합니다. 강사는 기계 학습이 학습 매개변수, 특히 기능의 가중치를 기반으로 한다고 강조합니다. 가설 함수는 입력 변수를 예측에 사용할 수 있는 출력 변수에 매핑합니다.

  • 00:45:00 이 섹션에서 강사는 특성 가중치와 편향 항을 사용한 선형 회귀에 대한 가설 함수와 이를 벡터화된 형태로 표현하는 방법을 설명합니다. 그는 Python에서 단 한 줄의 코드로 작성할 수 있음을 보여주었습니다. 그런 다음 그는 모델이 얼마나 잘 수행되고 있는지 평가하는 데 사용되는 비용 함수와 실제 데이터 포인트와 예측 데이터 포인트 사이의 거리를 계산하는 데 사용되는 방법을 소개합니다. 산점도는 비용 함수의 개념을 설명하기 위한 예로 사용됩니다.

  • 00:50:00 비디오의 이 섹션에서 연사는 기계 학습의 비용 함수 개념을 설명합니다. 비용 함수에는 잔차라고 하는 모든 데이터 포인트에 대한 예측 값과 실제 값 간의 차이를 계산하는 작업이 포함됩니다. 예측 값과 실제 값 사이의 거리를 취하여 제곱하면 비용 함수가 생성됩니다. 목표는 모델의 효율성을 결정하는 비용 함수를 최소화하는 것입니다. 또한 발표자는 최적의 모델을 제공할 최적의 세타를 찾기 위한 최적화 방법으로 Gradient Descent Algorithm을 소개합니다.

  • 00:55:00 이 섹션에서 강사는 기계 학습에서 비용 함수를 최소화하는 데 사용되는 방법인 경사 하강법의 개념을 설명합니다. 강사는 비용 함수를 최소화하기 위해 경사 하강법이 세타 값을 조정하는 방법을 보여주기 위해 간단한 비유를 사용합니다. 다음으로 강사는 세타 값을 업데이트하기 위해 편도함수를 사용하여 이 프로세스의 수학적 유도를 설명합니다. 마지막으로 강사는 기울기 하강법 알고리즘을 소개하고 학습률과 비용 함수의 편도함수를 사용하여 세타를 업데이트하는 단계를 설명합니다. 강사는 또한 학습 속도를 조정하는 방법과 프로세스 벡터화의 이점에 대해서도 설명합니다.

2 부

  • 01:00:00 이 섹션에서 강사는 선형 회귀에서 theta의 편도함수를 벡터화하는 방법을 설명합니다. 세타 0과 세타 1의 편도함수를 별도로 취하는 대신, 관절 벡터 세타에 넣고 계산하려는 모든 것의 편도함수를 꺼낼 수 있습니다. 이 벡터화를 사용하면 계산 능력에 사용할 수 있는 벡터화된 형식으로 파생된 방정식을 작성할 수 있습니다. 강사는 또한 단 하나의 방정식에서 최적의 세타를 제공하는 정규 방정식을 강조합니다. 선형 회귀의 가정과 독립 기능과 종속 기능의 차이점을 설명합니다. 마지막으로 확률적 경사하강법, Adam 최적화 알고리즘 및 RMS Prop과 같은 고급 수준에서 사용할 수 있는 다른 최적화 알고리즘을 언급합니다.

  • 01:05:00 이 섹션에서 강사는 다항식 회귀의 개념과 비선형 데이터를 선형 회귀에 적합한 선형 형식으로 변환하는 데 어떻게 사용할 수 있는지 간략하게 설명합니다. 강사는 또한 로지스틱 회귀 및 분류 작업을 포함하여 과정에서 향후 주제를 언급합니다. 선형회귀와 로지스틱회귀의 차이점을 설명하고, 로지스틱회귀에 대한 가설을 선형회귀와 유사하게 제시하지만 데이터를 분류하는데 사용한다.

  • 01:10:00 비디오의 이 섹션에서 강사는 0과 1 사이의 출력을 얻는 시그모이드 함수를 포함하는 로지스틱 회귀에 대한 가설을 설명합니다. 그런 다음 출력을 임계값(0.5 또는 0.7)과 비교하여 예측합니다. 이미지가 고양이인지 아닌지. 비용 또는 손실 함수도 모델의 정확도를 평가하는 방법으로 설명됩니다. 강사는 하나의 교육 예제에 대한 비용 함수 공식을 제공합니다.

  • 01:15:00 이 섹션에서 연사는 로그 손실 비용 함수와 기계 학습의 공식에 대해 설명합니다. 수식은 실측값과 모델 예측값을 취하여 실측값(y_i)을 곱한 후자의 로그를 계산합니다. 화자는 두 값이 같으면 비용이 거의 0이 되고, 다르면 비용이 매우 높아진다고 설명합니다. 그런 다음 저자는 비용 함수를 사용하여 매개 변수를 조정하고 세타 값을 업데이트하여 전역 최적에 더 가깝게 이동하는 경사 하강법 알고리즘에 대해 계속 논의합니다. 세타 값을 업데이트하기 위해 비용 함수의 편미분을 취합니다.

  • 01:20:00 이 섹션에서 연사는 기계 학습의 벡터화에 대해 논의하고 로지스틱 회귀의 비용 함수 및 경사 하강법에 대한 벡터화된 코드를 제공합니다. 그들은 벡터화란 시간을 절약하기 위해 모든 계산을 한 번에 수행하는 것을 의미한다고 설명합니다. 발표자는 최적의 최적 세타를 찾기 위한 가설, 비용 함수 및 경사 하강법을 포함하는 분류 알고리즘으로서 로지스틱 회귀를 이해하는 것의 중요성을 강조합니다. 그들은 또한 다음 섹션에서 유방암 탐지 및 지원 벡터 머신을 다룰 것이라고 언급합니다. 연사는 청중이 데이터 로드, 기능 엔지니어링, 데이터 시각화 및 기능 선택을 포함하는 Jupyter 노트북을 따라 가도록 권장합니다.

  • 01:25:00 이 섹션에서 강사는 numpy, pandas, plotly, seaborn 및 matplotlib를 포함하여 프로젝트에서 사용될 Python 라이브러리를 소개합니다. 이 프로젝트는 기계 학습을 사용하여 보스턴의 주택 가격을 예측하는 것과 관련이 있으며 데이터는 scikit-learn 라이브러리에서 로드됩니다. 대상 변수는 판매 가격인 y이고 x는 모델을 예측하는 데 사용되는 독립 기능입니다. 그런 다음 데이터는 데이터 프레임으로 변환되고 강사는 다양한 pandas 함수를 사용하여 행 및 열 수, null이 아닌 값 및 데이터 유형을 포함하여 데이터에 대한 정보에 액세스하는 방법을 보여줍니다. describe 함수는 각 열의 평균, 표준 편차, 최소값, 최대값 및 백분위수를 표시하는 데에도 사용됩니다.

  • 01:30:00 비디오의 이 섹션에서 발표자는 대상 변수, 판매 가격 및 기능 변수와 관련된 지도 학습 문제에 대한 통찰력을 얻기 위한 데이터 분석 기술에 대해 논의합니다. 그들은 distribution plot, pair plots, qq plots과 같은 시각화 도구를 사용하는 방법을 보여줍니다. 또한 이상값을 식별 및 처리하는 방법, 왜도를 계산하고 데이터에 변환을 적용하는 방법도 설명합니다. 또한 기능 간의 상관 관계 개념과 문제에 대해 상관 관계가 높은 기능을 선택하는 데 사용할 수 있는 방법을 소개합니다.

  • 01:35:00 비디오의 이 섹션에서 강사는 선형 회귀를 사용하여 모델 구축 및 정확도 검사를 다룹니다. 초점은 모델이 교육 데이터에서 너무 많은 것을 배우고 새 데이터에서 제대로 수행되지 않는 과적합을 피하는 데 있습니다. 강사는 정규화가 기능을 줄이거나 모델의 복잡성에 페널티를 적용하여 과적합을 줄이는 방법을 설명합니다. 다음 섹션에서는 Lasso 및 Ridge 회귀를 포함하여 정규화된 선형 모델을 다룹니다. 강사는 시청자가 문제에 직면했을 때 솔루션을 온라인에서 검색하도록 권장하고 추가 프로젝트를 위한 Github 리포지토리를 제공합니다.

  • 01:40:00 이 섹션에서 연사는 머신 러닝의 정규화 기술, 특히 ridge 및 lasso 회귀에 대해 논의합니다. Ridge 회귀는 덜 중요한 기능의 기능 가중치에 페널티를 부여하여 0에 점점 더 가깝게 만듭니다. 올가미 회귀는 한 단계 더 나아가 매개변수 가중치를 0으로 만들어 덜 중요한 기능을 제거합니다. 정규화 항은 L2 규범을 사용하는 릿지 회귀와 L1 규범을 사용하는 라소 회귀로 비용 함수의 끝에 추가됩니다. 화자는 또한 편향 항인 세타 제로에 페널티를 주어서는 안 된다고 강조합니다.

  • 01:45:00 이 섹션에서 강사는 기계 학습에서 가장 중요한 주제 중 하나로 간주되는 정규화 주제를 소개합니다. 강사는 정규화가 과적합을 줄이는 데 도움이 된다고 설명합니다. 모델이 훈련 세트에서는 매우 잘 수행되지만 테스트 세트에서는 잘 일반화되지 않을 때 발생합니다. 정규화의 기본 아이디어는 각각의 하이퍼파라미터 또는 세타를 0으로 만들어 덜 중요하거나 정보가 적은 기능을 제거하는 것입니다. 강사는 주택 가격 예측의 예를 사용하여 정규화가 덜 유용한 기능을 제거하는 데 어떻게 도움이 되는지 보여줍니다.

  • 01:50:00 동영상의 이 섹션에서 강사는 기계 학습에서 기능 가중치 및 학습의 개념을 설명합니다. 집값 예측의 예를 사용하여 강사는 집 크기, 팬 수, 침실 수 및 에어컨과 같은 다양한 기능에 시간이 지남에 따라 학습하고 최적화할 수 있는 다양한 가중치를 부여할 수 있는 방법을 보여줍니다. 가중치는 비용 함수의 편도함수와 관련하여 매개변수를 조정하여 조정할 수 있으며 능선 회귀와 같은 정규화 기술을 통해 개선할 수 있습니다.

  • 01:55:00 이 섹션에서는 비디오에서 머신 러닝의 정규화, 특히 능선 및 올가미 회귀에 대해 설명합니다. 두 가지 유형의 회귀 모두 theta 값에 페널티를 주지만 능선 회귀는 L2 표준을 사용하고 올가미 회귀는 L1 표준을 사용합니다. 알파 항은 모델이 기능에 대해 얼마나 엄격한지를 제어하며 값이 높을수록 더 엄격해집니다. 두 유형 모두 편향 항 세타 0에 페널티를 주지 않으며, 올가미 회귀의 L1 표준은 덜 중요한 특성의 가중치를 0에 가깝게 만드는 데 도움이 되므로 모델이 과적합될 가능성이 줄어듭니다.

파트 3

  • 02:00:00 이 섹션에서는 비디오에서 정규화의 l1 및 l2 표준과 특정 사용 사례를 설명합니다. L1 표준은 중요하지 않은 기능 세타를 0으로 만드는 반면 L2는 더 유연하기 때문에 매우 엄격합니다. 그런 다음 비디오는 두 규범의 조합인 탄력적 네트워크를 간략하게 언급합니다. 앞으로 동영상에서는 분류 및 회귀 작업 모두에 사용되는 지도 학습 알고리즘인 SVM(Support Vector Machine)을 자세히 소개합니다. SVM은 고양이와 고양이가 아닌 인식 시스템에서 새로운 점을 고양이와 고양이가 아닌 것으로 분류하면서 마진을 최대화하기 위해 병렬 마진을 가진 초평면을 구성합니다. 이 비디오는 또한 SVM과 관련하여 다음 섹션에서 다룰 주제를 간략하게 설명합니다.

  • 02:05:00 이 섹션에서 강사는 SVM(Support Vector Machine)과 최대 마진으로 데이터 포인트를 분리하기 위해 두 개의 병렬 초평면을 구성하는 방법에 대해 설명합니다. SVM은 가장 가까운 데이터 포인트를 초평면에서 멀리 유지하면서 이 마진을 최대화하는 것을 목표로 합니다. 가장 가까운 데이터 포인트는 데이터를 분리하기 위해 병렬 초평면을 지원하는 지원 벡터라고 합니다. 강사는 암 검출을 위해 SVM을 사용하는 예를 제공하고 하드 마진과 소프트 마진 분류의 차이점을 설명합니다. 하드 마진 분류는 과적합으로 이어질 수 있는 마진을 위반하는 데이터 포인트를 허용하지 않는 반면, 소프트 마진 분류는 과적합을 방지하기 위해 일부 위반을 허용합니다.

  • 02:10:00 이 섹션에서는 SVM의 하드 마진과 소프트 마진의 개념을 소개했습니다. 하드 마진은 데이터 포인트가 마진에 들어오는 것을 허용하지 않는 반면 소프트 마진은 일부 데이터 포인트가 마진을 위반하여 과적합을 방지합니다. 여백의 너비는 매개변수 c에 의해 조정됩니다. 여기서 c가 매우 크면 여백이 매우 작아지고 ac가 1이면 여백이 매우 커집니다. SVM에서 초평면의 구성도 논의되었는데, 이는 방정식 w 전치 x 빼기 b = z로 정의됩니다. 여기서 w는 가중치 매개변수 벡터이고 b는 편향 항입니다. 하드 마진 예측에 대한 제약 조건이 정의되어 마진 위 또는 위에 있는 모든 것이 1로 간주되고 그 아래에 있는 모든 것이 0으로 간주됩니다.

  • 02:15:00 이 섹션에서는 비디오에서 SVM(Support Vector Machines)의 작동 방식에 대해 설명하고 SVM에 대한 수학적 설명을 제공합니다. 초평면의 마진은 노름 w에 대해 2로 표시되며, 이 마진을 최대화하려면 노름 w를 최소화해야 합니다. SVM은 예측을 위해 마진을 최대화하려고 합니다. 비디오는 데이터의 실제 레이블이 1보다 크거나 같다는 조건으로 두 초평면 사이의 거리로 표현되는 목적 함수를 작성할 수 있다고 설명합니다. 힌지 손실(hinge loss) 또는 소프트 마진(soft margin)으로 쓰여진 손실 함수(loss function)를 설명하고 좋은 예측을 간단하게 얻는 방법을 설명합니다. 비선형 분류에 대한 논의 전에 선형 SVM의 개념도 다룹니다.

  • 02:20:00 이 섹션에서는 비디오에서 비선형 분류의 개념과 비선형 사양을 달성하는 데 도움이 될 수 있는 커널 트릭에 대해 설명합니다. 커널 트릭은 입력 데이터를 x 함수의 파이에 매핑하여 데이터를 1차원 공간에서 고차원 공간으로 변환합니다. RBF 커널 함수는 데이터를 고차원 공간으로 변환하는 유명한 커널 중 하나입니다. 비디오는 또한 제타라는 새 변수를 도입하여 목적 함수를 공식화하는 데 도움이 되는 원시 문제에 대해 설명합니다. 제타 변수는 1에서 n까지의 모든 라운드의 각 구성원 i에 대해 도입됩니다.

  • 02:25:00 이 섹션에서 연사는 힌지 손실의 개념과 기계 학습 문제에 대한 비용 함수를 공식화하는 데 사용할 수 있는 방법을 소개합니다. 그들은 비용 함수의 매개변수를 업데이트하기 위해 하위 경사 하강법을 사용하는 방법과 원시 문제가 작동하는 방식을 설명하며 이것이 기계 학습에 대한 초보자 친화적인 접근 방식임을 강조합니다. 연사는 또한 경험적 위험 최소화 및 지원 벡터 회귀에 대해 논의하여 이러한 개념에 대한 방정식을 제공합니다. 시청자에게 질문이 있는 경우 의견을 말하도록 권장하고 다음 섹션에서는 종단 간 기계 학습 프로젝트로 주가 예측기를 만드는 데 중점을 둘 것이라고 언급하며 끝맺습니다.

  • 02:30:00 이 섹션에서 발표자는 NumPy, Pandas, Matplotlib, Seaborn 및 YFinance와 같은 Python 라이브러리를 사용하여 주가 예측기를 구축하는 방법을 시연합니다. 코드는 Yahoo Finance에서 데이터를 다운로드하고 다운로드할 주식의 코드를 입력하는 입력을 받습니다. 데이터는 자동 조정으로 조정되고 데이터의 모양이 표시되어 총 1256개의 학습 예제와 5개의 열이 표시됩니다. 발표자는 이것이 주가 예측기를 구축하기 위한 출발점이라고 설명합니다.

  • 02:35:00 비디오의 이 섹션에서 발표자는 주가 예측을 위한 데이터 탐색 및 분석을 탐색합니다. 화자는 데이터의 평균, 표준편차, 최대값, 최소값과 같은 통계를 살펴보는 것으로 시작합니다. 그들은 주가 예측이 매우 비선형적이며 교육 목적으로만 사용되어야 한다고 경고합니다. 화자는 목표 변수인 "가까이"를 분석하여 비선형성과 출력을 정확하게 예측하는 데 의존할 수 없는 방법을 보여줍니다. 그런 다음 연사는 데이터를 처리하고 기능 엔지니어링을 적용하는 방법에 대한 더 나은 느낌을 얻기 위해 "열림" 및 "닫힘"의 분포를 플로팅합니다. 마지막으로 연사는 결과를 요약하고 데이터에 대해 이해한 내용을 요약하여 결론을 내립니다.

  • 02:40:00 이 섹션에서는 스피커가 선형 회귀, 로지스틱 회귀, 정규화 선형 모델, 지원 벡터 머신 및 주성분 분석을 포함하여 지금까지 과정에서 다룬 다양한 기계 학습 알고리즘에 대해 논의합니다. 연사는 선형 회귀가 종종 나쁜 알고리즘으로 간주되지만 비선형 주식 가격 예측과 같은 특정 경우에 강력할 수 있다고 설명합니다. 데이터를 교육 및 테스트 세트로 분할하는 것의 중요성을 강조하고 연사는 이를 수행하기 위해 train_test_split 함수를 사용하는 방법을 시연합니다. 그런 다음 선형 회귀 알고리즘이 훈련 세트에서 인스턴스화되고 훈련되며 테스트 세트를 예측하는 데 사용됩니다. 예측된 출력이 표시되고 테스트 세트의 실제 출력과 비교됩니다.

  • 02:45:00 이 섹션에서 발표자는 선형 회귀 모델의 성능을 평가하기 위한 행렬 계산에 대해 이야기합니다. MSE(Mean Squared Error), RMSE(Root Mean Squared Error) 및 R2 제곱을 사용하여 모델 효율성을 평가하는 방법에 대해 논의합니다. 화자는 이러한 행렬을 계산하는 도우미 함수를 제공하고 이를 사용하여 선형 회귀 모델의 성능을 평가합니다. 그들은 MSE와 RMSE가 거의 0과 같다는 것을 발견했습니다. 이는 모델이 값을 정확하게 예측하고 있음을 의미합니다. R2 제곱도 1에 가까워 모델 적합도가 양호함을 나타냅니다.

  • 02:50:00 이 섹션에서 발표자는 능선 및 올가미와 같은 정규화된 선형 모델에 대해 논의하고 Python에서 Scikit-Learn을 사용하여 구현하는 방법을 보여줍니다. 화자는 올가미가 덜 중요한 기능을 제거하는 반면 능선은 이러한 기능에 불이익을 준다고 설명합니다. 능선 모델은 과대적합될 가능성이 적기 때문에 모델을 저장하고 웹 사이트를 구축하는 데 더 나은 선택이라고 발표자에 따르면 말했습니다. 발표자는 또한 지원 벡터 회귀에 대해 논의하고 그리드 검색 CV를 사용하여 미세 조정하여 다양한 값을 확인하고 최상의 모델을 선택하는 방법을 보여줍니다.

  • 02:55:00 이 섹션에서는 기계 학습을 위한 정규화된 선형 모델의 사용과 모델이 이전에 사용된 방법보다 더 강력한 방법에 대해 설명합니다. 발표자는 joblib를 사용하여 모델을 가져오고 저장하는 방법과 나중에 사용할 수 있도록 저장된 모델을 로드하는 방법에 대한 예를 살펴봅니다. 이 비디오는 Flask를 사용하여 간단한 앱을 만들고 HTML 파일에서 템플릿을 렌더링하는 방법도 자세히 설명합니다. index.html 파일을 만들고 앱 경로에서 렌더링하는 방법에 대한 데모가 제공됩니다.

파트 4

  • 03:00:00 비디오의 이 섹션에서 발표자는 종단 간 기계 학습 프로젝트를 위해 Flask를 사용하여 서버 및 웹 사이트를 설정하는 방법을 보여줍니다. 양식을 사용하여 데이터를 입력하고, 전처리하고, 로드된 모델을 사용하여 예측하고, layout.html 템플릿에서 파생된 prediction.html 템플릿으로 예측을 반환하는 방법을 설명합니다. 발표자는 또한 사용자가 모델을 더 강력하게 만들기 위해 데이터 기능을 수정하도록 권장하지만 모델을 너무 복잡하게 만들지 않도록 경고합니다. 그들은 다중 공선 데이터를 다룰 때 선형 회귀의 한계를 이해하는 것의 중요성을 강조하면서 결론을 내립니다.

  • 03:05:00 YouTube 동영상 "초보자를 위한 기계 학습 과정"의 이 섹션에서 강사는 주성분 분석(PCA)을 사용하여 데이터의 다중 공선성을 제거하는 방법을 설명합니다. 기계 학습 모델에서 상관 변수는 문제가 될 수 있지만 PCA는 이 문제를 효과적으로 해결할 수 있는 차원 감소 알고리즘입니다. PCA에 대한 학습을 준비하기 위해 강사는 차원 축소의 개념을 이해하기 위한 기초를 제공하는 선형 변환 및 고유 벡터/고유 값을 간략하게 검토합니다. 강사는 선형 대수학에 관심이 있는 사람들을 위해 YouTube 채널을 추천하지만 이 자료는 PCA를 이해하는 데 필요하지 않다고 강조합니다.

  • 03:10:00 이 섹션에서 강사는 선형 변환, 고유 벡터, 고유 값 및 주성분 분석(PCA)에서의 중요성을 설명합니다. 선형 변환은 각 벡터 공간에서 선형 구조를 유지하면서 하나의 벡터 공간을 다른 벡터 공간으로 변환하는 기능입니다. 고유 벡터와 고유 값은 각각 새로 변환된 벡터와 크기가 조정되는 요소를 나타냅니다. 또한 강사는 특히 대규모 데이터 세트에서 차원 축소의 필요성과 PCA를 사용하여 대규모 기능 세트를 더 작은 기능 세트로 변환하는 방법에 대해 설명합니다. 전반적으로 이러한 개념을 이해하는 것은 실제 시나리오에서 텍스트 및 이미지 데이터로 작업하는 데 중요합니다.

  • 03:15:00 이 섹션에서 발표자는 가능한 한 많은 정보를 보존하면서 데이터 세트의 차원을 줄이는 주성분 분석(PCA)의 기본 직관을 설명합니다. PCA가 초기 변수의 선형 조합인 새 변수 또는 주성분을 구성하는 방법을 설명합니다. 이러한 구성 요소는 상관 관계가 없으며 대부분의 정보가 첫 번째 구성 요소로 압축됩니다. 발표자는 또한 주요 구성 요소에 대한 데이터 프로젝션의 시각화를 살펴보고 알고리즘이 구성 요소가 상관되지 않도록 해야 함을 강조합니다.

  • 03:20:00 이 섹션에서는 주성분 분석(PCA)과 관련하여 데이터 전처리의 중요성에 대해 설명합니다. PCA의 첫 번째 단계는 데이터가 동일한 범위에 속하도록 데이터를 표준화하는 것입니다. 이는 PCA가 이상값에 민감하기 때문에 중요합니다. 데이터가 표준화되면 데이터의 공분산 행렬이 계산되어 입력 변수가 서로 어떻게 다른지 이해합니다. 상관관계가 높은 변수는 불필요한 정보를 포함할 수 있으며 제거할 수 있습니다. 마지막으로 데이터를 저차원 공간으로 변환하는데 중요한 요소인 공분산행렬의 고유벡터와 고유값을 계산한다.

  • 03:25:00 이 섹션에서 강사는 Python에서 고유 벡터와 고유 값을 계산하여 원래 벡터에서 벡터를 변환하는 과정과 고유 값이라고 하는 요소를 확장하는 방법을 설명합니다. 고유 벡터 행렬과 고유 값 행렬의 열을 내림차순으로 정렬하고 각 고유 벡터의 누적 에너지 함량을 계산합니다. 그런 다음 에너지 함량이 가장 높은 고유 벡터의 하위 집합이 기본 벡터로 선택됩니다. 마지막으로 데이터가 새로운 기반에 투영됩니다. 강사는 학습 이론, 편향 및 분산 절충, 근사 및 추정 오류를 포함하는 다음 섹션에서 다룰 주제를 요약하여 자습서를 마무리합니다.

  • 03:30:00 이 섹션에서 강사는 경험적 위험 최소화의 개념과 기계 학습에서 편향 및 분산 트레이드오프를 이해하는 것의 중요성에 대해 논의합니다. 강사는 Bias와 Variance가 이해하기 쉬운 개념처럼 보이지만 실제 제품을 개발할 때 실제로 마스터하기는 어렵다고 강조합니다. 강사는 모델이 적은 양의 기능이나 데이터로 인해 교육 세트에서 잘 수행되지 않을 때 발생하는 과소적합에 대해서도 설명합니다. 강사는 더 많은 기능을 생성하고 모델의 성능을 향상시키기 위해 기능 엔지니어링을 제안합니다.

  • 03:35:00 비디오의 이 섹션에서는 과소적합, 적합, 과적합과 같은 다양한 유형의 회귀 모델에 대해 설명합니다. 과적합은 모델이 훈련 세트에서는 잘 수행되지만 모델이 너무 복잡하거나 기능이 너무 많아 테스트 세트에서는 성능이 좋지 않을 때 발생합니다. 중요한 기능을 선택하거나 정규화를 사용하여 방지할 수 있습니다. 편향과 분산 트레이드오프에 대해서도 논의하는데, 훈련 세트에서 낮은 오류를 제공하지만 검증 세트에서 높은 오류를 제공하는 모델은 높은 분산을 나타내며 앙상블 학습 방법에서 이를 줄이기 위해 배깅이 사용됩니다.

  • 03:40:00 이 섹션에서는 강사가 모델에 높은 편향이 있는지 또는 높은 분산이 있는지 식별하는 방법을 설명합니다. 모델의 분산이 높은 경우 교육 세트의 오류율은 15%이고 평가 세트의 오류율은 16%일 수 있습니다. 반면 편향이 높으면 평가에서 30%의 오류율을 가질 수 있습니다. 강사는 또한 근사 추정 오류의 개념, 정확한 값과 모델의 출력인 근사치의 차이에 대해 설명합니다. 마지막으로 그들은 분류 모델을 구축할 때 기본 오류 또는 인간 수준의 성능이 대략 0%라는 가정을 언급합니다.

  • 03:45:00 이 섹션에서는 대상 함수에 의해 할당된 레이블과 함께 대규모 분포에서 훈련 세트 샘플을 수신하는 알고리즘인 경험적 위험 최소화의 개념을 비디오에서 소개합니다. 목표는 알 수 없는 분포에 대한 오류를 최소화하는 것이므로 모델은 최소한의 오류로 이전에 본 적이 없는 새로운 예를 예측할 수 있습니다. 동영상은 출력 예측기가 훈련 세트에서 학습된 가중치에 따라 달라지며 목표는 경험적 위험 최소화라고 하는 오류 또는 위험을 최소화하는 것이라고 강조합니다. 동영상은 시청자가 댓글 상자에 질문을 하고 해당 과정에 대한 웹 사이트를 확인하도록 초대합니다.

  • 03:50:00 이 섹션에서 강사는 질문을 통해 데이터를 분할하는 일반적인 방법인 기계 학습의 중첩된 if-else 문의 개념에 대해 설명합니다. 그들은 4개의 특징과 꽃의 종을 나타내는 레이블이 포함된 Iris 데이터셋의 예를 사용합니다. 작업은 네 가지 기능을 기반으로 꽃 종을 감지하여 이진 분류 데이터 세트로 만드는 것입니다. 강사는 기능을 기반으로 데이터를 분할하고 레이블을 결정하기 위해 if-else 문을 사용하여 간단한 분류자를 만드는 방법을 설명합니다.

  • 03:55:00 비디오의 이 섹션에서 강사는 꽃잎 길이와 꽃받침 길이의 두 가지 기능을 사용하여 간단한 결정 트리를 만드는 방법을 설명합니다. 의사 결정 트리는 if-else 문과 중첩 루프를 사용하여 다양한 조건을 정의하고 대상 변수를 분류합니다. 강사는 또한 루트 노드, 부모 노드 및 자식 노드와 같은 의사 결정 트리의 용어를 설명합니다.

파트 5

  • 04:00:00 영상의 이 섹션에서는 강사가 터미널 또는 리프 노드 및 분기와 같은 의사 결정 트리의 기본 용어를 설명합니다. 또한 트리에서 특정 노드를 제거하는 데이터 분할 및 노드 가지치기에 대해서도 논의합니다. 강사는 의사 결정 트리를 더 잘 이해하기 위해 메모를 작성하고 용어를 이해하는 것의 중요성을 강조합니다. 그런 다음 의사결정 트리에서 의사결정 경계 또는 초평면이 어떻게 보이는지, 그리고 각 결과에 대해 의사결정 경계가 어떻게 구성되는지 설명합니다. 강사는 예제에 대해 선택한 두 가지 기능을 기반으로 초평면을 플로팅하고 결과에 따라 어떻게 구성되는지 보여줍니다.

  • 04:05:00 이 섹션에서 강사는 엔트로피, 정보 획득 및 지니 불순도와 같은 속성 선택 척도를 사용하여 의사 결정 트리를 구성하는 방법을 설명합니다. 이러한 측정은 어떤 기능이 루트 노드여야 하는지 또는 데이터 세트를 분할하는 방법을 결정하는 데 도움이 됩니다. 강사는 잘못된 모델이 되지 않도록 올바른 기능을 선택하는 것의 중요성을 강조합니다. 엔트로피는 엔트로피가 높을수록 정보를 추출하기가 더 어려워지는 임의성의 척도로 정의됩니다. 강사는 의사 결정 트리를 구성할 때 엔트로피의 중요성을 이해하는 데 도움이 되도록 엔트로피의 예와 속성을 제공합니다.

  • 04:10:00 영상의 이 섹션에서는 강사가 각 클래스의 확률과 확률의 로그를 포함하는 공식을 사용하여 임의성의 척도인 엔트로피를 계산하는 방법을 설명합니다. 강사는 골프를 하기 위한 데이터 세트의 예를 사용하고 "예" 및 "아니오" 클래스의 엔트로피를 계산하여 공식이 어떻게 작동하는지 보여줍니다. 강사는 또한 2개의 클래스가 있는 이진 분류기를 포함하여 엔트로피의 다양한 속성과 기계 학습 모델의 정확도를 개선하기 위해 엔트로피를 최소화하는 것의 중요성에 대해 설명합니다.

  • 04:15:00 이 섹션에서 강사는 결정 트리를 위해 분할해야 하는지 여부를 결정하는 속성의 무작위성을 측정하는 엔트로피의 개념을 설명합니다. 엔트로피는 데이터의 고유 값 수를 기반으로 계산되며 목표는 더 나은 의사 결정 트리 결과를 얻기 위해 엔트로피를 최소화하는 것입니다. 강사는 다양한 시나리오의 예를 제공하고 속성이 리프 노드가 되거나 추가 분할이 필요한 시기를 이해하기 위해 각각의 엔트로피를 계산하는 방법을 보여줍니다. 최대 엔트로피는 1이고 최소 엔트로피는 0이며 서로 다른 의사 결정 트리 알고리즘은 엔트로피 값을 기준으로 특성을 잎으로 간주하거나 추가로 분할할 때와 관련된 특정 규칙을 따릅니다.

  • 04:20:00 이 섹션에서 발표자는 임의성의 척도로서의 엔트로피 개념과 엔트로피 다이어그램을 설명합니다. 가장 높은 엔트로피 값은 1이며 특정 방정식을 사용하여 계산할 수 있습니다. 정보 획득으로 이동하여 발표자는 이를 또 다른 속성 선택 척도로 소개하고 이를 설명하는 데 사용되는 데이터 세트의 예를 제공합니다. 데이터 세트는 레이블 수에 따라 더 작은 하위 집합으로 나뉘며 엔트로피는 각 하위 집합에 대해 계산됩니다. 이것은 정보 획득에 대한 예비 설명이며 다음 섹션에서 더 자세히 살펴볼 것입니다.

  • 04:25:00 섹션에서는 엔트로피를 사용하여 결정 트리에서 정보 이득을 계산하는 방법을 설명합니다. 이 프로세스에는 전체 데이터 분포의 엔트로피를 취한 다음 데이터를 분할하기 전과 후의 엔트로피를 취하는 것이 포함됩니다. 정보 획득 공식은 분할 후 가중 엔트로피에서 분할 전 엔트로피를 빼는 것과 관련됩니다. 이 비디오에 사용된 예는 엔트로피와 가중 엔트로피가 각 분할에 대해 계산된 다음 전체 데이터 세트의 가중 엔트로피를 얻기 위해 평균화되는 방법을 보여줍니다. 마지막으로 분할 후 엔트로피에서 분할 전 엔트로피를 빼 정보 이득을 결정합니다.

  • 04:30:00 지니 불순물은 엔트로피 계산과 매우 유사하지만 로그를 사용하는 대신 확률 제곱을 사용합니다. 데이터 세트를 여러 범주로 나눈 후 가중 지니 불순물을 계산한 다음 이전 지니 불순물에서 빼서 정보 이득을 얻습니다. 이것은 기계 학습에서 널리 사용되고 일반적으로 사용되는 방법입니다. 결정 트리 모델을 구축할 때 지니 불순도와 엔트로피 및 정보 획득을 이해하는 것이 중요합니다.

  • 04:35:00 이 섹션에서 강사는 결정 트리에서 불순도의 또 다른 척도로 Gini 불순도의 개념을 설명합니다. 지니 불순도는 주어진 불순도 y가 1 빼기 i가 1에서 k까지 주어진 불순도에 대해 주어진 부호입니다. 강사는 예 또는 아니오의 고유한 범주 값을 갖는 예를 통해 지니 불순도 시나리오를 설명합니다. 여기서 0.5는 예의 수의 확률이고 아니오의 수는 0.5입니다. 게인 불순물 0.5는 지니 불순물에서 최대인데, 엔트로피에서 로그 함수를 사용하지 않기 때문에 더 빠르기 때문에 엔트로피의 대안으로 주로 사용됩니다. 마지막으로 강사는 엔트로피 및 지니 불순도의 다이어그램을 보여주고 다음 섹션에서 회귀 작업을 수행하기 위해 결정 트리 분류기를 사용하는 방법을 시연할 것을 약속합니다.

  • 04:40:00 비디오의 이 섹션에서 강사는 정보 이득을 결정하기 위해 데이터를 분할하기 전에 엔트로피를 계산하는 방법을 설명합니다. 그들은 데이터 분포의 엔트로피를 취하고 전망 변수에 대한 정보 이득을 계산합니다. 그런 다음 이 변수를 기반으로 데이터를 분할하고 온도, 습도 및 바람이 많이 부는 변수에 대한 가중 엔트로피 및 정보 이득을 계속 계산합니다. 결국 아웃룩에서의 정보획득이 가장 높은 것으로 판단되어 의사결정트리의 루트노드로 선정하였다.

  • 04:45:00 의사 결정 트리 및 분류 및 회귀 문제 모두에 사용할 수 있는 방법. 분류에서는 엔트로피, 지니계수 등의 불순도 측정값을 계산하여 의사결정 트리를 구축하여 각 노드에서 의사결정을 내립니다. 목표는 트리를 가능한 한 순수하게 만들거나 순수해지는 지점에 도달할 때까지 만드는 것입니다. 회귀에서 의사 결정 트리는 리프 노드에 도달할 때까지 각 분할 지점에서 목표 값의 평균을 취하여 작성됩니다. 과적합은 의사결정 트리에서 문제가 될 수 있으므로 특정 깊이에서 트리 성장을 중지하거나 일부 가지를 잘라내어 더 견고하게 만드는 것이 중요합니다.

  • 04:50:00 이 섹션에서 강사는 의사 결정 트리로 작업할 때 속성 선택 측정을 이해하는 것이 중요하다고 설명합니다. 예제를 제공하고 의사 결정 트리 회귀 및 주거 분류기에 대한 구현을 설명합니다. 강사는 구현을 통한 학습의 중요성을 강조하고 트리의 최대 깊이, 최소 샘플 분할, 최소 샘플 리프 및 임의 상태 제어와 같은 하이퍼파라미터를 설명합니다. 또한 그래픽 도구를 사용하여 의사 결정 트리를 그리는 예도 보여줍니다.

  • 04:55:00 이 섹션에서는 의사 결정 트리 회귀와 평균 제곱 오차, 평균 절대 오차 및 포이즌을 포함한 함수 측정 기준에 대해 설명합니다. 이 비디오는 과적합 제어에서 하이퍼파라미터, 특히 최대 단계의 중요성을 강조합니다. 의사 결정 트리의 예와 플롯과 같은 방법도 소개되며, 비디오는 기계 학습의 중요한 개념으로 의사 결정 트리를 이해하는 것의 중요성을 강조합니다. 다음 섹션에서는 앙상블 학습과 세 가지 기술인 Kaggle 대회에서 일반적으로 사용되는 배깅, 부스팅 및 스태킹에 대해 설명합니다.
 

초보자를 위한 기계 학습 과정(6-10부)


초보자를 위한 기계 학습 과정

6부
  • 05:00:00 이 섹션에서 강사는 과적합 및 과소적합이 발생할 수 있는 고분산 및 고편향 모델의 개념에 대해 설명합니다. 기계 학습의 목표는 최적의 정확도를 달성하기 위해 낮은 편향 및 낮은 분산 모델을 갖는 것입니다. 강사는 앙상블 학습의 예를 제공합니다. 여기서 여러 모델이 데이터에 대해 훈련되고 각 모델에서 예측을 가져와 투표하고 궁극적으로 정답 또는 예측을 결정합니다. 앙상블 학습에서 개인의 응답보다 다수가 더 정확한 경우가 많으며, 강사는 퀴즈 질문, 선거 투표 등의 예를 들어 개념을 설명합니다.

  • 05:05:00 이 섹션에서 강사는 앙상블 학습의 개요와 분류 및 회귀 문제에 사용할 수 있는 방법을 제공합니다. 분류에서는 투표의 대다수가 고려되는 반면 회귀에서는 기본 모델의 출력 평균 또는 중앙값이 최종 예측에 사용됩니다. 앙상블 학습에 사용되는 기술에는 배깅(bagging), 부스팅(boosting), 스태킹(stacking) 및 캐스케이딩(cascading)이 포함되며 대부분의 Kaggle 대회 우승자는 앙상블 학습 기술의 일부 형태를 사용합니다. 또한 강사는 Amazon 및 Google과 같은 회사가 XGBoost 및 Random Forest와 같은 이러한 알고리즘을 자체 제품에 사용한다고 지적합니다.

  • 05:10:00 섹션에서는 부트스트랩 집계라고도 하는 앙상블 학습 기술인 배깅의 기본 사항에 대해 설명합니다. 배깅에는 학습 데이터의 하위 집합과 각 하위 집합에 대한 학습 모델의 무작위 샘플링이 포함됩니다. 아이디어는 여러 모델의 앙상블을 사용하여 과적합을 줄이고 모델의 정확도를 향상시키는 것입니다. 이 섹션에서는 데이터를 샘플링하고, 모델 하위 집합을 훈련하고, 더 나은 정확도를 위해 예측을 결합하는 방법을 포함하여 배깅이 작동하는 방식을 설명합니다.

  • 05:15:00 이 섹션에서는 연사가 기계 학습 모델의 정확도를 향상시키는 기술인 배깅의 개념을 설명합니다. 배깅에는 대체 데이터를 샘플링한 다음 각 샘플에서 모델을 교육하는 작업이 포함됩니다. 그런 다음 개별 모델을 결합하여 보다 정확한 예측을 생성하는 집계 모델을 형성합니다. 연사는 배깅이 고급 수학을 포함하지 않는 개념적으로 단순한 기술이라고 지적합니다.

  • 05:20:00 이 섹션에서 연사는 고분산 및 저편향 기본 모델의 분산을 줄이는 데 도움이 되는 배깅에 대해 논의합니다. Bagging은 이러한 모델을 결합하여 더 크고 분산이 적고 편향이 적은 모델을 만듭니다. 행 샘플링은 데이터를 샘플링하는 동안 사용되며 대규모 데이터 분포에서 행만 샘플링합니다. 배깅에서는 행 샘플링과 열 샘플링을 모두 사용하는 랜덤 포레스트와 달리 행 샘플링만 사용된다는 점에 유의해야 합니다. 배깅은 부트스트랩 집계라고도 하며 기본 모델의 부트스트래핑 및 집계와 관련됩니다.

  • 05:25:00 이 섹션에서 강사는 고분산 및 저편향 모델에서 분산을 줄이는 방법인 배깅 기술을 요약합니다. 배깅에는 훈련을 위해 데이터의 하위 집합을 취하고 분류를 위해 대부분의 투표를 결합하는 것이 포함됩니다. 강사는 이를 위한 강력한 알고리즘이 결정 트리, 배깅 및 열 샘플링의 조합인 랜덤 포레스트라고 믿습니다. 의사 결정 트리는 간단한 결정을 내리고 노드를 분할하는 반면, 배깅에는 훈련을 위해 데이터의 하위 집합을 가져오는 것이 포함됩니다. 열 샘플링 또는 기능 배깅도 사용되어 열의 하위 집합을 취합니다. 강사는 랜덤 포레스트가 강력하고 Google, Quora 및 Amazon과 같은 주요 회사에서 사용한다고 주장합니다.

  • 05:30:00 이 섹션에서는 기계 학습 강사가 배깅 및 랜덤 포레스트의 개념을 설명합니다. 배깅에는 대체 행 샘플링과 하위 집합에 대한 의사 결정 트리 교육이 포함되며 랜덤 포레스트는 혼합에 열 샘플링을 추가합니다. 이는 행과 열이 모두 샘플링됨을 의미하며 앙상블 학습 기법으로 인해 좋은 성능의 모델이 될 가능성이 높아집니다. 강사는 또한 샘플링 후 누락된 지점이며 교차 검증에 사용할 수 있는 가방 외부(oob) 지점의 개념을 언급합니다. 마지막으로 강사는 배깅과 랜덤 포레스트의 주요 차이점을 요약합니다.

  • 05:35:00 이 섹션에서는 비디오에서 기계 학습의 배깅 및 랜덤 포레스트 기술에 대해 설명합니다. 배깅에는 행 샘플링이 포함되며, 이는 더 큰 모델로 이어져 분산을 줄입니다. 랜덤 포레스트는 동일하지만 기본 모델로 열 샘플링 및 결정 트리가 있습니다. 의사결정 트리의 훈련 복잡도는 n log m x n x d 정도인 반면, Random Forest에서는 d x k x n입니다. 이 비디오는 또한 Random Forest가 쉽게 훈련되도록 병렬화되는 방법에 대해 설명합니다. 마지막으로 의사 결정 트리에서 임계값을 결정하기 위해 가능한 값을 시도하는 극도로 무작위화된 트리의 개념이 도입됩니다.

  • 05:40:00 이 섹션에서 발표자는 Random Forest에서 가능한 모든 값을 시도하는 계산 비용이 많이 드는 방법의 대안으로 Extremely Randomized Trees의 개념에 대해 논의합니다. 열과 행의 하위 집합을 샘플링하면 분산이 줄어들지만 Random Forest에 비해 좋은 결과를 얻을 가능성이 적습니다. 발표자는 시간 복잡성으로 인해 대규모 데이터 세트에서 Random Forest를 사용할 때의 단점도 언급하지만 그리드 검색을 사용하여 하이퍼파라미터를 조정하고 시도해볼 것을 제안합니다. 그런 다음 Random Forest를 구현하기 위한 scikit-learn API를 소개하고 하이퍼파라미터 미세 조정을 위한 프로젝트를 언급합니다.

  • 05:45:00 이 섹션에서는 매개변수 및 속성과 함께 랜덤 포레스트 분류기에 대해 설명합니다. 첫 번째 매개변수는 사용되는 의사 결정 트리의 수인 n_estimators입니다. 속성 선택 기준 및 트리의 최대 깊이는 분할에 필요한 최소 샘플 및 최대 기능 수와 같은 다른 매개변수와 함께 설명됩니다. 모델의 중요한 기능을 선택하기 위해 기능 중요도의 사용도 언급됩니다. 랜덤 포레스트 회귀자(random forest regressor)도 분류자와의 유사점에 대해 간략하게 설명합니다.

  • 05:50:00 비디오의 이 섹션에서 강사는 앙상블 기술, 특히 부스팅에 대해 설명합니다. 부스팅은 인기 있는 또 다른 앙상블 학습 기법이며, 강사는 그래디언트 부스팅, 적응형 부스팅 또는 AdaBoost, 익스트림 부스팅 또는 XGBoost에 대한 개요를 제공합니다. 강사는 또한 시청자가 시도할 수 있는 문제 세트가 GitHub에 있다고 언급하고 시청자가 더 많은 무료 콘텐츠 제작을 지원하기 위해 YouTube 채널을 구독하도록 권장합니다.

  • 05:55:00 이 섹션에서는 비디오에서 기계 학습의 배깅 및 부스팅 주제를 다룹니다. 배깅은 열 및 행 샘플링을 수행한 다음 집계를 수행하여 모델의 높은 분산을 줄이는 데 사용됩니다. 반면에 부스팅은 약한 학습자를 강력한 모델에 결합하여 모델의 편향을 줄이는 데 사용됩니다. 부스팅 사용의 핵심 아이디어는 편향이 심한 모델에서 편향을 줄이는 것입니다. 비디오는 훈련 데이터의 예를 사용하여 부스팅의 기본 직관을 제공합니다.

7부

  • 06:00:00 이 섹션에서 발표자는 부스팅의 핵심 아이디어와 오류를 최소화하기 위해 어떻게 작동하는지 설명합니다. 부스팅은 각 예시에 대한 레이블이 있는 학습 데이터(x 및 y)에 대한 모델 학습과 관련된 지도 학습 기술입니다. 그런 다음 모델을 사용하여 각 입력에 대한 출력을 예측하고 예측 값과 실측 값의 차이를 측정하여 손실을 계산합니다. 이 모델은 잘못 분류되었거나 MSE 또는 MAE가 높은 데이터에 초점을 맞춰 잔차 오류를 줄이도록 훈련됩니다. 부스팅은 잔차 오차에 여러 모델을 맞추는 것과 관련되어 각 교육 예에 맞춰 오차를 최소화합니다. 최종 모델은 이러한 모든 모델의 합계이며 알파 가중치가 적용됩니다.

  • 06:05:00 이 섹션에서는 기계 학습 모델에서 편향을 줄이는 기술인 부스팅의 개념을 설명합니다. Boosting은 이전 모델의 잔여 오류를 피팅하여 약한 학습자를 강한 학습자로 변환하여 훈련 세트에서 잘 수행되는 낮은 바이어스 및 낮은 분산 모델을 생성합니다. 그러나 훈련 세트에서 모델이 너무 좋은 경우 과적합의 위험이 있습니다. 그래디언트 부스팅, 어댑티브 부스트, 익스트림 부스팅과 같은 몇 가지 부스팅 기술에 대해 설명합니다. 또한 모델 성능을 향상시키는 또 다른 기술인 배깅의 개념에 대해 간략하게 언급합니다.

  • 06:10:00 이 섹션에서 강사는 약한 학습자를 강한 학습자로 전환하는 부스팅 알고리즘인 그래디언트 부스팅의 개념을 설명합니다. 그래디언트 부스팅은 대형 기술 및 생산 회사에서 사용하는 강력한 알고리즘입니다. 훈련 세트에서 오류를 개선하기 위해 미분을 취할 수 있는 미분 가능한 비용 함수입니다. 강사는 그래디언트 부스팅의 실제 예를 제공하고 미분 가능한 비용 함수와 알고리즘에서의 중요성에 대해 논의합니다. 토론에는 훈련 데이터의 사용과 경사 하강법의 비용 함수가 포함되어 기계 학습에서 유용한 도구가 됩니다.

  • 06:15:00 이 섹션에서는 발표자가 부스팅을 사용하여 모델을 훈련시키는 알고리즘을 설명합니다. 이 알고리즘에는 상수 값으로 모델 초기화, 잔차 또는 의사 잔차 계산, 모델에 대한 비용 함수의 편도함수 취하기, 이전 모델의 잔차에 기본 학습자를 맞춘 다음 각 모델을 통해 반복하는 작업이 포함됩니다. 의사 잔차를 계산하고 기본 학습자를 맞춥니다. 목표는 비용 함수를 최소화하고 모델의 정확도를 향상시키는 람다 값을 찾는 것입니다.

  • 06:20:00 이 섹션에서 연사는 일부 상수로 모델을 초기화한 다음 for 루프를 적용하여 각 교육 예제의 잔차를 추출하는 그래디언트 부스팅 알고리즘의 프로세스를 설명합니다. 그런 다음 모델은 기본 학습자를 잔차에 맞추고 각 모델에 대한 승수 람다 m을 계산합니다. 모델을 업데이트하기 위해 이전 모델을 이전 잔차에 피팅하고 이전 모델과 1차원 최적화 문제를 해결한 후 얻은 새 모델을 더하여 최종 모델을 얻습니다. 발표자는 정규화 및 수축의 개념과 높은 편향으로 인해 부스팅에 필요한 이유도 다룹니다.

  • 06:25:00 이 섹션에서는 비디오에서 부스팅을 사용하여 기계 학습 모델의 높은 편향을 줄이는 방법에 대해 설명합니다. 부스팅에는 각 반복 동안 이전 모델 잔차를 맞추는 작업이 포함되며, 이로 인해 과적합 및 분산이 증가할 수 있습니다. 이 문제를 피하기 위해 v라는 학습 가능한 매개변수를 사용하여 정규화 및 축소를 추가할 수 있습니다. 경험적으로 v의 값이 0.1과 같으면 극적인 개선 결과가 나타납니다. 이 비디오는 그래디언트 부스팅 결정 트리의 시간 복잡도와 scikit-learn API를 통한 그래디언트 부스팅 구현에 대해서도 다룹니다.

  • 06:30:00 이 섹션에서 발표자는 Scikit-learn API를 사용하여 Gradient Boosting Classifier 구현에 대해 논의합니다. 손실, 학습률, 추정기 수 등과 같은 관련된 다양한 매개변수를 설명합니다. 학습률은 과분산을 줄이고 과적합을 방지하는 데 사용됩니다. Gradient Boosting Classifier의 구현은 코드 한 줄에 불과하며 예측 확률은 특정 클래스에 대해 데이터가 참일 확률을 제공합니다. 연사는 또한 Gradient Boosting Regressor의 구현에 대해 간략하게 설명하고 문서에서 학습하는 것의 중요성을 강조합니다.

  • 06:35:00 "초보자를 위한 기계 학습 과정" 비디오의 이 섹션에서 강사는 AdaBoost 분류자와 Cython API를 사용한 구현 및 XGBoost(Extreme Gradient Boosting) 알고리즘에 대해 설명합니다. 강사는 XGBoost가 행 및 열 샘플링을 통해 무작위화를 추가하는 고급 버전의 Gradient Boosting으로 기계 학습 문제를 위한 강력한 도구라고 설명합니다. 또한 이 섹션에서는 XGBoost에서 사용되는 다양한 매개변수와 모델 미세 조정에서 매개변수의 중요성에 대해 다룹니다.

  • 06:40:00 이 섹션에서는 연사가 Gradient Boosting Tree, GB Linear 및 DART와 같은 기계 학습 알고리즘을 위한 다양한 패키지에 대해 이야기합니다. 그들은 평가 행렬 및 정규화를 포함하여 조정할 수 있는 다양한 매개변수와 이들이 모델에 미치는 영향에 대해 논의합니다. 발표자는 또한 XGBoost를 언급하고 Python에서 어떻게 사용되는지 보여줍니다. 그들은 모델을 미세 조정하는 것의 중요성과 그것이 어떻게 더 나은 정확도로 이어질 수 있는지를 강조합니다. 마지막으로 발표자는 스태킹의 개념과 이것이 모델의 정확도를 개선하는 데 어떻게 도움이 되는지 소개합니다.

  • 06:45:00 이 섹션에서 강사는 스태킹의 개념과 이것이 배깅 및 부스팅과 어떻게 다른지 소개합니다. 스태킹에는 고도로 조정되고 편향과 분산 균형이 좋은 다양한 기본 학습자를 선택하고 다양한 모델을 생성하기 위해 다양한 데이터 하위 집합에 대해 교육하는 작업이 포함됩니다. 이것은 높은 분산과 낮은 편향을 가진 기본 학습자를 사용하여 높은 분산을 줄이기 위해 사용되는 배깅과 기본 모델이 반드시 고도로 튜닝되지 않은 부스팅과 다릅니다. 강사는 로지스틱 회귀, 서포트 벡터 머신, k-최근접 이웃과 같이 편향-분산 트레이드오프가 좋은 좋은 모델을 생성하기 위해 광범위한 미세 조정을 거친 다양한 기본 모델을 사용한 스태킹의 예를 제공합니다.

  • 06:50:00 이 섹션에서는 화자가 앙상블 학습의 한 유형인 쌓기의 기본 직관에 대해 설명합니다. 스태킹은 학습 데이터를 하위 집합으로 나누고 각 하위 집합에서 서로 다른 분류자를 교육하는 것을 포함합니다. 이러한 기본 학습자는 편향과 분산의 균형을 맞추는 데 능숙합니다. 분산이 높고 바이어스가 낮은 배깅과 바이어스가 높고 분산이 낮은 부스팅과는 다릅니다. 각 모델에서 예측을 얻은 후 메타 분류기는 예측된 클래스 레이블 또는 해당 확률에 대해 학습됩니다. 아이디어는 이러한 앙상블 모델의 예측을 결합하여 보다 정확하고 강력한 분류기를 만드는 것입니다.

  • 06:55:00 이 섹션에서 강사는 여러 모델을 결합하여 성능이 더 좋은 새 모델을 만드는 방법인 스태킹에 대해 설명합니다. 이 프로세스에는 여러 기본 모델을 교육하고 예측을 기능으로 사용하여 최종 예측을 출력하는 두 번째 수준 분류기를 교육하는 작업이 포함됩니다. 강사는 sklearn 라이브러리를 사용하여 파이썬에서 로지스틱 회귀, k-최근접 이웃, 가우시안 나이브 베이즈, 랜덤 포레스트 모델을 사용하여 누적 분류 모델을 만드는 예제를 보여줍니다. 또한 mlx10 라이브러리의 누적 분류기를 사용하는 방법도 보여줍니다.

파트 8

  • 07:00:00 이 섹션에서 발표자는 K 이웃, 랜덤 포레스트 및 로지스틱 회귀와 같은 다양한 모델을 사용하여 스태킹 분류기를 구현하는 방법을 설명합니다. 개체를 인스턴스화하고 3중 교차 검증을 수행하여 정확도가 가장 높은 최상의 모델을 선택합니다. 연사는 또한 결정 경계를 구성하고 그리드 검색을 사용하여 편향과 분산 균형을 조정하는 방법을 보여줍니다. 최적의 매개변수와 특징을 선택함으로써 스태킹 분류기는 개별 모델보다 더 정확한 예측을 제공할 수 있습니다.

  • 07:05:00 이 섹션에서 강사는 배깅, 랜덤 포레스트, 부스팅, 그래디언트 부스팅 결정 트리, AdaBoost 및 XGBoost를 포함하여 앙상블 학습에 대한 이전 섹션에서 다룬 주제를 요약합니다. 강사는 또한 스태킹에 대한 개요를 제공하고 작동 중인 알고리즘의 예를 제공합니다. 이 섹션은 강사의 YouTube 채널을 구독하라는 알림과 신경망, GAN 및 컨벌루션 신경망을 포함하여 앙상블 학습 이외의 주제를 다루는 기계 학습 과정인 CS01에 대한 정보로 마무리됩니다. 마지막으로 강사는 비지도 학습 및 향후 프로젝트에 대한 다음 섹션을 예고합니다.

  • 07:10:00 이 섹션에서 연사는 학습 과정을 안내할 레이블이나 감독자 없이 데이터 포인트에만 액세스하는 비지도 학습의 개념을 소개합니다. 출력이 알려진 지도 학습과 달리 비지도 학습은 데이터 포인트를 더 잘 이해하기 위해 데이터 포인트의 클러스터를 만드는 것을 포함합니다. 동기를 부여하는 예로서 화자는 어떤 고객이 어떤 세그먼트에 속하는지를 나타내는 레이블이 없더라도 Amazon과 같은 회사의 고객을 유사성을 기반으로 세그먼트화할 것을 제안합니다. 비지도 학습의 목표는 데이터 세트에서 패턴과 구조를 발견하는 것입니다.

  • 07:15:00 이 섹션에서는 강사가 비지도 학습과 그 적용에 대해 설명합니다. 그는 데이터 과학자가 감독되지 않은 학습을 사용하여 고객을 세그먼트로 나누고 웹 사이트에서의 활동을 기반으로 제품에 대한 권장 사항을 제공할 수 있다고 설명합니다. 그는 Amazon을 고객 세분화 및 추천 엔진에 비지도 학습을 사용하는 회사의 예로 사용합니다. 강사는 또한 비지도 학습을 사용하여 고차원 공간에서 유사한 항목은 서로 가깝고 유사하지 않은 항목은 멀리 있는 군집화에 사용할 수 있다고 설명합니다. 그는 생물학에서 서열 분석의 예를 제시하고 비즈니스에서 유사한 클러스터를 비지도 학습의 적용으로 그룹화합니다. 전반적으로 강사는 비지도 학습과 다양한 산업에서의 잠재적 응용에 대한 간략한 개요를 제공합니다.

  • 07:20:00 이 섹션에서 발표자는 타겟 마케팅을 위해 비즈니스 데이터에서 유사한 클러스터를 그룹화하고 추천 엔진을 사용하여 사용자 활동을 기반으로 제품을 제안하는 것과 같은 기계 학습의 다양한 응용 프로그램에 대해 논의합니다. 발표자는 또한 객체 감지를 위한 이미지 세분화, 텍스트가 긍정적인지 부정적인지 판단하기 위한 감정 분석, 모델에서 이상값을 찾기 위한 이상 감지를 언급합니다. 이러한 다양한 애플리케이션은 다양한 분야에서 기계 학습의 다양성을 보여줍니다.

  • 07:25:00 이 섹션에서 발표자는 클러스터링 주제와 센터 기반 및 밀도 기반과 같은 다양한 유형의 클러스터링 알고리즘을 소개합니다. k-평균 군집화 알고리즘에 초점을 맞추며 자세히 살펴볼 것입니다. 연사는 또한 시청자가 기계 학습을 더 잘 이해할 수 있도록 문제 세트 및 프로젝트에 참여하도록 권장합니다. 발표자는 비지도 학습의 중요성을 강조하고 클러스터링이 다양한 분야에 어떻게 적용될 수 있는지 보여줍니다. X 및 Y 평면의 클러스터링은 클러스터링의 개념을 설명하는 데 사용됩니다. 전반적으로 이 섹션은 과정에서 다룰 향후 주제를 강조하고 시청자가 계속 학습하도록 권장합니다.

  • 07:30:00 이 섹션에서 발표자는 데이터를 여러 클러스터로 분할하는 비지도 학습 및 클러스터링에 대해 설명합니다. 클러스터 내 및 클러스터 간 거리의 용어에 대해 설명합니다. 여기서 클러스터 내는 클러스터 내부의 데이터 포인트 간 거리를 의미하고 클러스터 간은 클러스터 간 거리를 의미합니다. 목표는 작은 클러스터 내 거리와 큰 클러스터 간 거리를 갖는 것입니다. 즉, 클러스터 내의 데이터는 유사해야 하고 클러스터 간의 데이터는 유사하지 않아야 합니다. 이것은 최적화의 목표로 알려져 있습니다.

  • 07:35:00 이 섹션에서는 클러스터링 또는 비지도 학습 모델에 대한 평가 기술에 대해 알아봅니다. 첫 번째로 소개된 기술은 클러스터 간의 최대 거리를 클러스터 내 최소 거리로 나눈 값을 나타내는 Dunn 지수입니다. 목표는 높은 Dunn 지수를 갖는 것입니다. 즉, 클러스터 사이의 거리는 커야 하고 클러스터 내의 거리는 작아야 합니다. 이 기술을 통해 클러스터링 모델의 품질을 평가할 수 있습니다.

  • 07:40:00 이 섹션에서는 강사가 모델 클러스터링을 위한 평가 기술에 대해 설명합니다. 내부 클러스터가 크고 내부 클러스터가 작은지를 결정하는 데 사용되는 평가 매트릭스인 Dunn 지수에 초점이 맞춰져 있습니다. 강사는 클러스터 내 및 클러스터 간의 서로 다른 데이터 포인트 사이의 최대 거리를 평가하는 Dunn 지수의 기본 정의를 제공합니다. 논의된 또 다른 평가 기술은 Dunn 지수와 유사하지만 제약 조건이 더 많은 Davies-Bouldin 지수입니다. 강사는 또한 개체 또는 요소를 특정 방식으로 함께 그룹화하는 군집화에 대한 한 줄 정의를 제공합니다.

  • 07:45:00 이 섹션에서 화자는 유사점과 차이점을 기반으로 데이터를 그룹으로 구성하는 프로세스인 클러스터링의 기본 정의를 설명합니다. 군집화에는 군집 내 거리와 모든 군집 간의 차이를 각각 측정하는 군집 내 및 군집 간 두 가지 경우가 있습니다. 그런 다음 연사는 데이터를 두 개의 클러스터로 분할하는 파티션 기반 클러스터링과 덴드로그램을 사용하여 클러스터링 프로세스를 시각화하는 계층적 클러스터링을 포함하여 다양한 유형의 클러스터링에 대해 논의합니다. 발표자는 계층적 클러스터링 내의 응집 클러스터링 및 분할 클러스터링에 대해 자세히 설명하고 프로세스를 설명하는 덴드로그램의 예를 제공합니다.

  • 07:50:00 이 섹션에서 강사는 파티션 기반, 계층적, 잘 분리된 클러스터, 센터 기반 및 밀도 기반을 비롯한 다양한 유형의 클러스터링을 다룹니다. 강사는 클러스터링이란 클러스터 내의 개체는 서로 유사하고 클러스터 사이의 개체는 다른 방식으로 유사한 개체를 그룹화하는 것이라고 설명합니다. 또한 강사는 Dunn 지수 및 Davis-Bouldin 지수를 비롯한 다양한 지수를 사용하여 클러스터링 모델의 성능을 평가하는 방법을 설명합니다. 다음 섹션에서는 중심 기반 알고리즘 중 하나인 k-평균 클러스터링에 대해 중점적으로 설명합니다.

  • 07:55:00 이 섹션에서 강사는 비지도 학습 애플리케이션, 클러스터링 유형, 클러스터링의 직관 및 공식 정의를 다룬 이전 하위 섹션을 요약합니다. 그런 다음 초점은 Lloyd 알고리즘이라고도 하는 k-평균 클러스터링 알고리즘과 초기화, 중심, 하이퍼파라미터, 평가 메트릭 및 제한과 같은 다양한 기능으로 이동합니다. 강사는 두 개의 임의로 초기화된 중심을 사용하여 알고리즘의 시각화를 제공하고 할당 단계와 첫 번째 반복에서 평균화 단계를 설명합니다.

파트 9

  • 08:00:00 이 섹션에서는 강사가 k-평균 클러스터링 알고리즘을 자세히 설명합니다. 이 알고리즘은 k 중심 초기화, 클러스터 할당, 평균을 빼서 클러스터 업데이트, 가장 가까운 데이터 포인트를 할당하여 중심 업데이트를 포함합니다. 이 프로세스는 중심이 변경되지 않을 때까지 반복되어 알고리즘이 수렴되었음을 나타냅니다. 강사는 또한 k-평균 클러스터링이 Lloyd의 알고리즘이라고도 하며 임의로 초기화 중심을 포함한다고 언급합니다.

  • 08:05:00 이 섹션에서는 발표자가 k-평균 클러스터링 알고리즘의 단계를 설명합니다. 먼저 클러스터 수(k)를 선택한 다음 각 포인트를 가장 가까운 클러스터에 할당합니다. 그들은 평균을 취하고 이동하여 중심을 다시 계산한 다음 중심이 변경되지 않을 때까지 프로세스를 반복합니다. 최적화 목표는 데이터 포인트와 클러스터 중심 사이의 유클리드 거리를 사용하여 계산할 수 있는 비용 함수를 최소화하는 것입니다. 비용 함수는 SSE(Sum Squared Error)라고도 하며 클러스터 내 변동성을 최소화하는 것이 목표입니다. 발표자는 유클리드 이외의 다른 거리 메트릭도 사용할 수 있다고 말합니다.

  • 08:10:00 이 섹션에서 강사는 K-평균 클러스터링에서 중심의 무작위 초기화가 문제를 일으킬 수 있는 이유를 설명하고 솔루션으로 K-평균++ 알고리즘을 소개합니다. K-평균++에는 여러 중심을 선택하고 오차 제곱합(SSE)을 최소화하는 중심을 선택하는 작업이 포함됩니다. 강사는 또한 클러스터 수에 대한 SSE 플롯을 기반으로 최적의 중심 수를 결정하는 데 사용되는 엘보우 방법을 소개합니다. 기계 학습에서 더 나은 클러스터링 결과를 얻으려면 무작위 초기화보다 K-means++ 및 엘보우 방법을 사용하는 것이 좋습니다.

  • 08:15:00 이 섹션에서 강사는 합계 제곱 오차를 사용하여 클러스터 내부의 포인트 간 거리를 계산하여 클러스터 내부를 최소화하는 k-평균 평가 기법을 설명합니다. 중심의 초기화는 알고리즘에 영향을 미치며 k-means++ 기법은 SSE가 낮은 다중 실행을 기반으로 중심을 선택하는 데 권장되는 방법입니다. 팔꿈치 방법을 사용하여 클러스터 수를 결정할 수 있습니다. 여기서 최적의 k 값은 팔꿈치가 회전하는 지점입니다. 강사는 또한 DBSCAN 또는 계층적 클러스터링과 같은 밀도 기반 기술을 사용하여 해결할 수 있는 이상값에 대한 민감도와 같은 k-평균 클러스터링의 몇 가지 제한 사항을 언급합니다. k-평균 클러스터링의 시간 복잡도는 입력 크기, 클러스터 수 및 차원에 따라 다릅니다. 강사는 시간 복잡성의 개념을 더 잘 이해하기 위해 DSA 마스터리 과정을 권장합니다.

  • 08:20:00 p1과 p2가 있는 클러스터를 만든 다음 이 클러스터에 p4를 추가합니다. 다음으로 이 클러스터를 하나로 병합하고 마지막으로 클러스터에 p3를 추가하여 하나의 클러스터를 만듭니다. 이것은 데이터 포인트가 유사성에 따라 함께 그룹화되어 클러스터 계층을 형성하는 기술인 계층적 클러스터링의 예입니다. 하위 섹션에서는 알고리즘의 수동 계산뿐만 아니라 응집 및 분할 클러스터링도 다룹니다.

  • 08:25:00 이 섹션에서 화자는 계층적 클러스터링과 숫자 클러스터를 클러스터 계층으로 변환하는 프로세스를 설명합니다. 주어진 예는 클러스터가 하나만 남을 때까지 유사성을 기반으로 클러스터가 서로 연결되는 방법을 보여줍니다. 그런 다음 화자는 계층적 클러스터링의 두 가지 유형인 응집 및 분할 클러스터링에 대해 설명하고 두 가지 방법에 대한 직관을 제공합니다. 집적 클러스터링은 더 유사한 클러스터가 함께 연결되는 다운 투 업 접근 방식이며 분할 클러스터링은 클러스터가 유사성을 기반으로 더 작은 클러스터로 분할되는 업 투 다운 접근 방식입니다.

  • 08:30:00 이 섹션에서 발표자는 숫자 또는 클러스터의 계층 구조 생성과 관련된 계층적 클러스터링의 기본 직관을 설명합니다. 클러스터링은 클러스터링 유형, 응집형 또는 분할형에 따라 업에서 다운 또는 다운에서 업 접근 방식으로 수행될 수 있습니다. 응집 클러스터링은 서로 다른 클러스터를 하나로 병합하는 것과 관련되며 분할 클러스터링은 클러스터를 단일 그룹으로 나누는 것과 관련됩니다. 그런 다음 연사는 근접 행렬을 계산하고 클러스터를 병합하고 모든 클러스터가 포함될 때까지 행렬을 업데이트하는 과정을 반복하는 것과 관련된 응집 클러스터링 알고리즘을 설명합니다. 마지막으로 화자는 개념을 설명하기 위해 4개의 점이 있는 근사 행렬의 예를 제공합니다.

  • 08:35:00 이 섹션에서 발표자는 데이터 포인트의 예를 사용하여 근접 행렬 및 덴드로그램을 만드는 방법을 설명합니다. 근접 행렬은 두 점 또는 군집 간의 유사성을 측정하는 데 도움이 되며, 덴드로그램은 군집의 계층 구조를 보여줍니다. 연사는 클러스터 간의 유사성을 측정하는 데 사용되는 세 가지 방법, 즉 최소값, 최대값 및 그룹 평균을 강조합니다.

  • 08:40:00 이 섹션에서 강사는 계층적 클러스터링에서 클러스터를 병합하는 두 가지 방법인 최소 및 최대에 대해 설명합니다. 최소 접근 방식은 두 군집 간의 유사성을 군집의 두 지점 간 최소 거리로 간주하는 것입니다. 거리가 가장 작은 클러스터가 먼저 병합되고 모든 포인트가 단일 클러스터에 포함될 때까지 프로세스가 계속됩니다. 최대 접근 방식은 비슷하지만 두 군집 간의 유사성을 군집의 두 지점 간 최대 거리로 간주합니다. 강사는 이러한 개념을 설명하기 위해 근접 행렬을 사용하는 예를 제공합니다.

  • 08:45:00 이 섹션에서 강사는 클러스터 간 유사도 측정의 또 다른 유형인 그룹 평균 클러스터 간 유사도 측정의 개념을 설명합니다. 그는 그것에 대한 방정식을 제공하고 그것이 어떻게 작동하는지 설명하기 위해 덴드로그램을 보여줍니다. 그런 다음 강사는 최소 거리 측정의 단점에 대해 논의하고 이상값에 민감하다고 말하며 학습자가 추가 이해를 위해 Wikipedia 페이지를 참조할 수 있다고 제안합니다. 그는 또한 집적 클러스터링을 위한 시간 및 공간 복잡성을 제공하는데, 이는 공간의 경우 n제곱의 순서이고 시간 복잡성의 경우 n의 로그 또는 n의 큐브의 순서입니다. 마지막으로 그는 학습자들에게 기계 학습에 대한 이해를 통합하기 위해 많은 프로젝트를 연습하도록 촉구하며 섹션을 마무리합니다.

  • 08:50:00 이 섹션에서는 연사가 과정의 프로젝트 섹션에 대해 논의하고 구축할 심부전 예측 모델을 소개합니다. 발표자는 모델이 연령, 성별, 혈압, 당뇨병, 흡연과 같은 다양한 특징을 기반으로 사람의 사망 여부를 예측할 것이라고 설명합니다. 이 프로젝트의 데이터는 제공된 링크에서 사용할 수 있으며 발표자는 이 프로젝트의 비즈니스 목표가 건강 문제를 조기에 감지하여 생명을 구하는 데 도움이 되는 의료 AI 시스템을 구축하는 것이라고 설명합니다. 또한 연사는 스팸 감지 시스템 프로젝트도 이 과정에서 발표될 것이라고 언급했습니다. 스피커는 필요한 라이브러리를 가져와서 데이터를 로드하고 데이터의 모양을 인쇄합니다.

  • 08:55:00 이 섹션에서는 데이터의 모양과 정보를 확인하는 등 데이터 탐색의 기본 사항에 대해 알아봅니다. info() 메서드를 사용하여 null 값, 데이터 유형 및 메모리 사용량이 있는지 확인할 수 있습니다. 또한 describe() 메서드를 사용하여 수치 데이터의 통계적 분포에 대한 통찰력을 얻을 수 있습니다. 탐색적 데이터 분석(EDA)은 머신 러닝의 필수 단계로, 여기서 데이터에 질문하고 비즈니스 솔루션을 제공하는 데 도움이 되는 답변을 찾습니다. 이 이진 분류 문제를 위해 '1'은 사람이 죽었다는 것을 의미하고 '0'은 사람이 살아있다는 것을 의미하는 클래스의 분포를 조사할 것입니다.

파트 10

  • 09:00:00 비디오의 이 섹션에서 강사는 기계 학습의 불균형 데이터 문제에 대해 논의합니다. 코드 스니펫은 203개의 생존 사례와 96개의 사망 사례가 있는 데이터 분포를 보여줍니다. 이는 불균형입니다. 불균형 데이터는 데이터가 클래스 간에 균등하게 분포되지 않음을 의미하며 이로 인해 모델이 특정 클래스에 편향될 수 있습니다. 강사는 불균형 데이터가 기계 학습에서 큰 문제라고 설명합니다. 여기서 모델은 다수 클래스에서 훈련되고 해당 클래스를 더 자주 예측하는 경향이 있습니다.

  • 09:05:00 이 섹션에서 발표자는 균형 데이터의 개념과 모델이 더 강력하고 편견이 없기 때문에 어떻게 가장 잘 작동하는지 설명합니다. 그런 다음 연령 분포 및 특정 조건에 따라 데이터를 필터링하는 등 데이터를 분석할 수 있는 다양한 방법을 보여줍니다. 화자는 나이가 50세 이상인 행을 선택하고 그 사람이 사망했는지 여부를 확인하는 Python 코드를 시연합니다. 그들은 파이 차트를 사용하여 데이터를 시각화하고 총 사망 사례 수가 생존 사례보다 2배 적고 대부분의 연령이 40세에서 95세로 증가한다는 비즈니스 질문에 답합니다.

  • 09:10:00 이 섹션에서 강사는 다이어트 사례와 비 다이어트 사례의 총 수를 계산하는 Python의 코드 스니펫을 살펴봅니다. 전체 203건 중 대부분이 다이어트 사례지만 이중 50건 이상이 50세 이상으로 사망한 것으로 나타났다. 그런 다음 강사는 이 데이터를 기반으로 더 많은 질문에 답하고 이해하기 쉽도록 데이터를 시각적으로 표현하는 방법을 설명합니다. 마지막으로 강사는 변수 간의 상관 관계를 확인하고 상관 관계가 무엇인지 설명하는 플롯을 제공합니다.

  • 09:15:00 이 섹션에서 강사는 상관 관계와 마이너스 1에서 플러스 1까지의 범위에 대해 설명합니다. 변수가 마이너스 1에 가까울수록 매우 유사하다는 것을 의미하고 0에 가까울수록 선형 전송이 없음을 의미합니다. Pearson 상관관계는 데이터가 선형인지 아닌지를 판단하는 방법으로, 상관관계가 1에 가까울수록 양의 상관관계가 있는 데이터입니다. 강사는 완벽한 상관관계와 대각선이 모두 하나인 방법에 대해 이야기합니다. 즉, 사각형이 각 변수 자체와 상관관계가 있음을 의미합니다. 데이터와 이해에 대해 논의한 후 강사는 데이터 세트 개발과 모델이 가장 잘 작동하는지 확인하기 위해 데이터를 교육 및 테스트 세트로 나누는 방법으로 이동합니다. 강사는 범주형 변수로 더 많은 기능을 추가하고 데이터에 변환을 적용하여 기능을 삽입하는 기능 엔지니어링의 예를 제공합니다. 상호 작용 항은 두 기능의 곱을 더하는 것이며 강사는 모든 열을 반복하고 두 열을 함께 곱하는 방법을 보여줍니다.

  • 09:20:00 이 섹션에서 발표자는 모델을 구축하는 프로세스에 대해 논의하고 정확도, 정밀도, 재현율 및 혼동 매트릭스를 평가합니다. 발표자는 최적화 알고리즘이라는 알고리즘을 사용하여 10,000개의 데이터 포인트와 10개의 기능으로 데이터 세트의 범위를 좁힙니다. 확률적 경사하강법이 작동하는 방식과 계산 시간을 최소화하는 데 사용할 수 있는 방법을 설명합니다. 또한 모델의 전반적인 성능을 이해하는 데 중요한 '참 긍정' 및 '긍정 클래스'와 같은 핵심 용어를 설명합니다.

  • 09:25:00 이 섹션에서 화자는 참양성, 거짓양성, 참음성, 거짓음성의 개념과 이들이 긍정 및 거짓 부정에 대해 올바르게 분류된 사례의 수를 보여주는 혼동 행렬을 만드는 데 어떻게 사용되는지 설명합니다. 모델의 부정적인 클래스. 화자는 또한 긍정적인 예측의 정확성과 실제 발생에 대한 다양한 질문에 답하는 정밀도와 재현율에 대해 논의합니다. 연사는 매개 변수 최적화를 위한 무작위 검색을 사용하여 결정 트리 분류기뿐만 아니라 광범위한 미세 조정이 포함된 로지스틱 회귀 및 지원 벡터 분류기의 사용을 시연합니다. 각 분류기에 대한 교육 및 테스트 점수도 표시됩니다.

  • 09:30:00 비디오의 이 섹션에서 강사는 UCI 저장소에서 다운로드한 데이터 세트를 사용하여 스팸 및 햄 탐지기 시스템을 구축하는 방법을 설명합니다. 데이터는 테이블 형식이며 강사는 그것을 읽고 헤더가 없음으로 설정되고 열이 '라벨'과 '메시지'로 표시된 탭을 기준으로 구분합니다. 목표는 메시지를 스팸 또는 스팸 아님(햄)으로 분류하는 것이며 강사는 이를 달성하기 위해 다양한 모델(예: 랜덤 포레스트 분류기 및 XGBoost 분류기)을 미세 조정하는 과정을 안내합니다. 강사는 또한 기능 선택의 중요성을 강조하고 나중에 사용할 수 있도록 XGBoost 모델을 저장하는 방법을 보여줍니다. 전반적으로 이것은 기계 학습을 사용하여 실제 문제를 해결하는 방법을 보여주는 흥미로운 프로젝트입니다.

  • 09:35:00 비디오의 이 섹션에서 발표자는 UCI 저장소에서 다운로드한 문자 메시지 데이터 세트를 탐색하고 분석하는 과정을 거칩니다. 목표는 스팸과 스팸이 아닌 메시지를 구별할 수 있는 기계 학습 모델을 구축하는 것입니다. 발표자는 모델이 작업하려면 텍스트 데이터를 숫자로 변환해야 한다고 설명하고 이를 위해 텍스트 벡터라이저를 사용하는 방법을 시연합니다. 그런 다음 데이터 세트가 스팸 메시지보다 더 많은 비 스팸 메시지로 불균형하다는 점에 주목하면서 클래스 분포를 탐색합니다. 마지막으로 철자나 대소문자의 사소한 차이로 인해 잘못된 분류가 발생할 수 있으므로 텍스트 데이터 정리의 중요성을 설명합니다.

  • 09:40:00 이 섹션에서 강사는 모든 텍스트를 소문자로 변환하고, 0과 3과 같은 특정 문자를 의미 있는 텍스트로 대체하고, 불필요한 문자를 제거하는 텍스트 전처리 과정을 설명합니다. 강사는 또한 텍스트에서 의미 있는 단어 감소를 위해 형태소 분석 및 원형 복원을 탐색할 것을 제안합니다. 람다를 사용하여 각 메시지에 텍스트 전처리를 적용한 다음 "처리된 텍스트"라는 새 열에 저장하는 예가 제공됩니다.

  • 09:45:00 이 섹션에서 발표자는 텍스트 전처리 및 Porter 형태소 분석기를 사용하여 형태소 분석을 적용하여 억양을 단어로 줄이는 방법에 대해 이야기합니다. 화자는 또한 손이 0으로 인코딩되고 맵 메서드를 호출하여 1로 확장되는 기능 엔지니어링에 대해 언급합니다. 그런 다음 훈련 세트는 단어 임베딩으로 변환되어 카운트 벡터화기, tf-idf 벡터화기 및 단어 백과 같은 기술을 사용하여 단어를 숫자로 변환합니다. 텍스트는 요소가 저장된 희소 행렬로 변환된 다음 분류를 위해 Naive Bayes 알고리즘에 사용됩니다. 마지막으로 화자는 카운트 벡터라이저 및 모델을 호출하여 스팸인지 여부를 확인하여 새 텍스트를 테스트하는 방법의 예를 제공합니다.

  • 09:50:00 비디오의 이 섹션에서 발표자는 카운트 벡터 변환 및 Naive Bayes 예측과 같은 자연어 처리(NLP) 기술을 사용하여 기본적인 스팸 및 햄 감지기 시스템을 구축하는 방법을 시연합니다. 시스템은 메시지를 입력으로 받아 전처리하고 스팸인지 아닌지를 예측합니다. 발표자는 이것이 NLP에서 데이터로 작업하는 방법의 샘플일 뿐이며 사용할 수 있는 다양한 다른 기술이 있음을 강조합니다. 연사는 과정을 마무리하고 시청자에게 과정 완료를 축하합니다.
 

모두를 위한 기계 학습 - 전체 과정



모두를 위한 기계 학습 - 전체 과정

00:00:00 - 01:00:00 동영상의 이 부분에서는 감독 및 비지도 학습을 포함하여 기계 학습의 기본 사항에 대해 설명합니다. 또한 사용 가능한 다양한 모델과 사용 방법을 다룹니다. 마지막으로 기계 학습 모델의 성능을 측정하는 방법을 설명합니다.

01:00:00 - 02:00:00 이 부분에서는 기계 학습을 사용하여 이벤트의 결과를 예측하는 방법을 설명합니다. 선형 회귀, 로지스틱 회귀 및 지원 벡터 머신에 대해 설명합니다. 또한 그리드 검색을 사용하여 기계 학습 모델을 교육하는 방법에 대해서도 설명합니다.

02:00:00 - 03:00:00 이 부분에서는 선형 회귀 및 역전파를 포함하여 기계 학습의 기본 사항을 다룹니다. TensorFlow 라이브러리를 사용하여 데이터를 정규화하고 선형 회귀 모델을 맞추는 방법을 설명합니다.

03:00:00 - 03:50:00 이 비디오는 감독 및 비지도 학습을 포함하여 기계 학습의 개념을 소개합니다. 선형 회귀 및 신경망을 사용하여 예측하는 방법을 보여줍니다. 발표자는 머신 러닝을 사용하여 데이터를 클러스터링하는 방법도 설명합니다.


1 부

  • 00:00:00 이 동영상에서 Kylie Ying은 지도 및 비지도 학습 모델, 작동 방식 및 Google Colab에서 프로그래밍하는 방법을 설명합니다.

  • 00:05:00 이 1단락 요약은 컴퓨터에 일련의 입력이 제공되고 주어진 입력의 레이블을 예측하도록 요청하는 기계 학습의 한 유형인 지도 학습에 대해 설명합니다.

  • 00:10:00 감독 학습은 기계 학습 모델을 교육하기 위해 입력 데이터에 레이블을 지정하는 프로세스입니다. 그런 다음 모델은 주어진 입력에 대한 예측을 출력합니다. 비지도 학습은 레이블이 지정되지 않은 데이터를 사용하여 데이터의 패턴에 대해 학습하는 프로세스입니다. 강화 학습에서 에이전트는 보상과 처벌을 기반으로 대화형 환경에서 훈련됩니다.

  • 00:15:00 이 비디오는 기계 학습, 다양한 응용 프로그램 및 처리할 수 있는 다양한 유형의 데이터에 대해 설명합니다. 또한 지도 및 비지도 학습과 회귀에 대해서도 다룹니다.

  • 00:20:00 이 비디오에서 강사는 기계 학습이 작동하는 방식과 이를 사용하여 데이터 세트의 결과를 예측하는 방법을 설명합니다. 강사는 훈련 후 기계 학습 모델의 정확도를 조정하는 방법에 대해서도 설명합니다.

  • 00:25:00 이 동영상에서는 손실의 개념과 이것이 기계 학습 모델의 성능에 미치는 영향에 대해 설명합니다. 손실은 기계 학습 모델의 예측이 주어진 데이터 세트에 제공된 실제 레이블에서 얼마나 멀리 떨어져 있는지를 측정한 것입니다. 사용 가능한 다양한 손실 함수가 있으며 각각 고유한 장점과 단점이 있습니다. 마지막으로 이 동영상에서는 기계 학습 모델의 성능을 계산하고 확인하는 방법에 대해 설명합니다.

  • 00:30:00 이 비디오는 기계 학습을 사용하여 데이터 세트에서 클래스 레이블을 예측하는 방법을 설명합니다. 데이터 세트에는 각각 클래스에 해당하는 10개의 기능이 포함되어 있습니다. 히스토그램은 클래스 간 기능 분포를 시각적으로 비교하는 데 사용됩니다. 비디오는 데이터를 개선할 수 있는 방법에 대한 토론으로 끝납니다.

  • 00:35:00 이 비디오에서 강사는 기계 학습 기술을 사용하여 교육, 검증 및 테스트 세트를 만드는 방법을 설명합니다. 강사는 값을 더 비교 가능하도록 데이터 세트를 확장하는 방법을 시연한 다음 x 값을 변환하는 함수를 만듭니다. 마지막으로 강사는 2d numpy 배열을 만들고 hstack 함수를 호출하여 배열을 나란히 쌓습니다.

  • 00:40:00 이 비디오에서 강사는 사용 가능한 다양한 기계 학습 모델과 이를 코드에서 사용하는 방법에 대해 설명합니다. 논의된 모델 중에는 k-최근접 이웃, 선형 회귀 및 신경망이 있습니다.

  • 00:45:00 이 비디오에서 강사 Alan Siegel은 거리 함수 사용 및 최근접 이웃 알고리즘 사용을 포함하여 기계 학습의 기본 사항을 검토합니다. 그는 이진 분류에서 가장 가까운 이웃 알고리즘이 "k" 값을 사용하여 어떤 점이 "플러스" 또는 "마이너스" 레이블인지 결정한다고 설명합니다. 그는 이것이 자동차 소유 및 출산 데이터 세트에 어떻게 적용될 수 있는지 보여주며, 가장 가까운 이웃 알고리즘이 주어진 데이터 포인트에 대해 어떤 포인트가 "플러스" 또는 "마이너스" 레이블인지 결정할 수 있는 방법을 보여줍니다.

  • 00:50:00 이 비디오는 기계 학습을 사용하여 지점의 위치를 예측하는 방법에 대해 설명합니다. 동영상은 k-최근접 이웃 알고리즘을 사용하여 가장 가까운 점을 찾는 방법을 설명합니다. 비디오는 또한 분류 보고서를 사용하여 포인트의 분류를 결정하는 방법을 설명합니다.

  • 00:55:00 이 비디오에서는 기계 학습 모델에 대해 설명합니다. 모델의 정확도는 82%, 정밀도는 77%, 재현율은 89%입니다. 이 모델은 간단한 기계 학습 모델인 naive bayes로 설명됩니다.


2 부

  • 01:00:00 베이즈 규칙은 다른 이벤트가 이미 발생한 경우 이벤트의 확률을 계산하는 데 사용되는 수학 공식입니다. 이 예에서는 베이즈 규칙을 사용하여 양성 테스트가 주어진 질병의 확률을 계산합니다.

  • 01:05:00 이 비디오는 베이지안 추론에 중점을 두고 기계 학습의 기본 사항을 다룹니다. 발표자는 분류 문제에 베이지안 추론을 적용하는 방법을 시연하고 관련된 다양한 확률 분포에 대해 논의합니다.

  • 01:10:00 이 영상에서는 naive bayes에 대한 규칙을 설명하고, 주어진 데이터 집합에서 특정 사건의 확률이 개별 사건의 확률의 합에 비례한다는 것을 보여줍니다.

  • 01:15:00 이 비디오는 기계 학습을 사용하여 축구 경기가 진행되는 동안 비가 올지 여부 또는 날짜와 같은 이벤트 결과를 예측하는 방법을 설명합니다. 그런 다음 비디오는 고급 기계 학습 기술인 로지스틱 회귀에 대해 설명합니다. 비디오는 회귀선을 사용하여 다른 결과의 가능성을 예측하는 방법을 보여줍니다. 비디오는 로지스틱 회귀를 사용하여 학생이 특정 테스트를 통과할지 여부를 예측하는 방법에 대한 데모로 끝납니다.

  • 01:20:00 이 비디오에서 강사는 선형 회귀를 사용하여 분류기가 정확할 확률을 추정하는 방법을 설명합니다. 이렇게 하려면 먼저 방정식을 p = mx + b로 다시 작성해야 합니다. 이 방정식은 음의 무한대에서 무한대의 범위를 가질 수 있지만 0과 1 사이에 있어야 합니다. p를 풀기 위해 확률의 로그를 제거하여 p/1 빼기 확률을 제공합니다.

  • 01:25:00 이 비디오에서 발표자는 세 가지 유형의 기계 학습 모델인 선형 회귀, 로지스틱 회귀 및 지원 벡터 머신에 대해 설명합니다. 발표자는 각 모델을 사용하는 방법을 보여주고 각 모델이 어떻게 사용될 수 있는지에 대한 예를 제공합니다.

  • 01:30:00 이 비디오에서 강사는 기계 학습이 작동하는 방식과 사용 가능한 다양한 유형의 알고리즘에 대해 설명합니다. 또한 마진 라인에 있는 데이터 포인트를 사용하여 SVM(Support Vector Machine)의 마진을 최대화하는 방법에 대해서도 설명합니다.

  • 01:35:00 이 비디오에서 저자는 SVM(Support Vector Machine), 신경망 및 로지스틱 회귀를 포함한 다양한 기계 학습 모델에 대해 설명합니다. 그는 SVM이 세 가지 중에서 가장 정확하고 신경망이 SVM보다 훨씬 더 정확할 수 있음을 보여줍니다.

  • 01:40:00 기계 학습에서 뉴런은 신경망의 기본 표현 단위입니다. 뉴런의 입력 특징에 가중치를 곱하고 곱한 모든 입력의 합을 뉴런에 입력합니다. 뉴런의 활성화 함수는 예측과 관련된 오류를 기반으로 입력의 선형 상태를 변경합니다. 기울기 하강법 알고리즘은 더 낮은 오류를 향한 2차 함수의 기울기를 따르는 데 사용됩니다.

  • 01:45:00 이 비디오에서 강사는 기계 학습이 작동하는 방식과 TensorFlow를 사용하여 신경망을 프로그래밍하는 방법을 설명합니다. 계속해서 순차 신경망을 만드는 방법과 가중치에 대한 손실을 계산하는 방법을 보여줍니다.

  • 01:50:00 이 비디오에서 발표자는 TensorFlow와 함께 기계 학습 알고리즘을 사용하는 방법을 시연합니다. 먼저 TensorFlow를 가져와서 신경망 모델을 만듭니다. 다음으로 레이어 활성화를 설정하고 손실 및 정확도 메트릭을 구성합니다. 마지막으로 100 에포크 훈련과 32 에포크 검증 분할을 사용하여 모델을 훈련합니다.

  • 01:55:00 이 비디오에서 저자는 그리드 검색을 사용하여 기계 학습 모델을 교육하는 방법을 설명합니다. 또한 하이퍼파라미터의 중요성과 설정 방법에 대해서도 설명합니다.


파트 3

  • 02:00:00 이 비디오 자습서는 기계 학습을 사용하여 예측 및 분류하는 방법을 보여줍니다. 이 비디오는 기계 학습 모델 교육, 모델 기록 기록 및 모델 성능 플로팅의 기본 사항을 다룹니다.

  • 02:05:00 이 비디오는 캐스팅이라는 기술을 사용하여 신경망에 대한 최소 손실 모델을 만드는 방법을 보여줍니다. 이 모델은 SVM을 사용하는 모델과 유사하게 수행되며 비디오는 네트워크 출력을 사용하여 분류 보고서를 생성하는 방법도 보여줍니다.

  • 02:10:00 이 비디오에서 저자는 선형 회귀 및 잔차 계산 방법을 설명합니다. 잔차는 예측과 실제 데이터 점 사이의 거리이며 회귀선에 가장 적합한 선을 결정하는 데 사용됩니다.

  • 02:15:00 비디오는 선형성과 독립성의 개념에 대해 논의하고 이러한 가정이 비선형 데이터 세트에서 위반될 수 있는 방법을 보여줍니다. 그런 다음 정규성 및 등분산성 가정과 잔차 플롯을 사용하여 이를 평가하는 방법에 대해 논의합니다.

  • 02:20:00 평균 절대 오차의 척도는 평균적으로 예측이 훈련 세트의 실제 값에서 얼마나 떨어져 있는지 알려줍니다.

  • 02:25:00 평균 제곱 오차(MSE)는 예측이 얼마나 잘 수행되고 있는지를 측정하며 평균 절대 오차와 밀접한 관련이 있습니다. RMSE는 잔차의 모든 제곱의 합을 취하여 계산되며 예상 값에 비해 예측이 얼마나 잘 수행되고 있는지 측정하는 데 사용됩니다.

  • 02:30:00 이 1시간 비디오 과정은 선형 회귀를 포함한 기계 학습의 기초를 다룹니다. 이 과정에서는 잔차 주제와 잔차를 사용하여 데이터 세트에 가장 적합한 선을 결정하는 방법을 다룹니다.

  • 02:35:00 이 비디오는 기계 학습의 개념과 다양한 라이브러리 및 데이터 세트를 사용하는 방법을 소개합니다. 그런 다음 데이터를 표현하기 위해 데이터 프레임을 사용하는 방법과 데이터를 분석하는 방법을 설명합니다.

  • 02:40:00 이 비디오는 기계 학습을 사용하여 하루 중 여러 시간대의 자전거 수를 예측하는 방법에 대해 설명합니다. 교육, 검증 및 테스트 세트를 만드는 방법과 numpy.split 함수를 사용하여 데이터 프레임을 여러 그룹으로 나누는 방법을 보여줍니다.

  • 02:45:00 이 비디오는 기계 학습을 사용하여 문제를 해결하는 방법에 대해 설명합니다. 강사는 기계 학습을 사용하여 온도를 예측하는 예를 제공하고 회귀 계수를 계산하고 모델에 점수를 매기는 방법에 대한 정보를 제공합니다.

  • 02:50:00 이 비디오에서 작성자는 기계 학습을 사용하여 새 데이터 세트에서 선형 회귀 모델의 성능을 개선하는 방법을 보여줍니다.

  • 02:55:00 이 비디오에서 발표자는 TensorFlow 라이브러리를 사용하여 Python에서 선형 회귀 모델을 빌드하는 방법을 설명합니다. 그들은 모델을 교육하기 전에 데이터를 정규화한 다음 역전파를 사용하여 모델을 맞추는 것이 도움이 된다고 설명합니다. 시간이 지남에 따라 모델의 손실을 플로팅하는 방법과 모델이 적합하게 수렴하는 방법을 보여줍니다.


파트 4

  • 03:00:00 이 비디오는 모든 사람이 접근할 수 있는 방식으로 기계 학습 개념을 설명합니다. 강사는 신경망을 사용하여 데이터 세트에서 값을 예측하는 방법을 시연하고 다양한 매개변수를 변경하는 효과를 시연합니다.

  • 03:05:00 이 비디오는 선형 회귀의 역사와 신경망을 사용하는 방법을 포함하여 기계 학습의 기본 사항을 다룹니다. 그런 다음 발표자는 선형 회귀 및 신경망에 대한 평균 제곱 오차를 계산하는 방법을 보여주고 결과를 비교합니다.

  • 03:10:00 이 비디오에서 강사는 지도 학습과 비지도 학습이 어떻게 작동하는지 설명합니다. 그는 선형 회귀와 신경망을 사용하여 예측을 수행하는 방법에 대해 설명합니다.

  • 03:15:00 이 비디오에서 발표자는 기계 학습을 사용하여 데이터를 세 개의 클러스터로 나누는 방법을 설명합니다. 그런 다음 이 정보를 사용하여 새 중심을 계산하고 새 클러스터를 만듭니다.

  • 03:20:00 이 동영상에서는 데이터에서 패턴을 찾는 비지도 학습과 미래 결과를 예측하는 방법을 학습하기 위해 교육 세트를 사용하는 지도 학습의 두 가지 유형의 기계 학습에 대해 설명합니다. 비지도 학습 기법에는 데이터의 주성분을 찾아 차원을 줄이는 기대값 최대화 및 주성분 분석이 포함됩니다. 감독 학습 기술에는 선형 회귀 및 베이지안 추론이 포함됩니다.

  • 03:25:00 기계 학습은 알려지지 않은 데이터에 대한 예측을 돕는 데이터 분석 분야입니다. 이 과정에서 강사는 주성분 분석(PCA)을 사용하여 데이터 세트의 차원을 줄이는 방법을 설명합니다. 이를 통해 데이터 포인트를 더 쉽게 시각화하고 식별할 수 있습니다.

  • 03:30:00 이 비디오에서 발표자는 선형 회귀의 개념과 2차원(2D) 데이터에 대한 적용을 소개합니다. 다음으로 데이터 세트를 가장 관련성이 높은 차원으로 줄이는 데 사용되는 기술인 주성분 분석(PCA)의 개념을 소개합니다. 마지막으로 기계 학습에서 비지도 학습의 사용에 대해 논의합니다.

  • 03:35:00 이 비디오는 비지도 학습을 사용하여 분류를 위해 기계 학습을 사용하는 방법에 대해 설명합니다. 발표자는 pandas를 사용하여 데이터를 가져오는 방법을 보여주고 데이터를 서로 플롯하여 결과를 확인합니다. 그들은 일부 데이터가 어떻게 보이는지 논의하면서 결론을 내리고 다른 분류자를 사용하여 클러스터링을 개선할 수 있다고 제안합니다.

  • 03:40:00 동영상은 기계 학습 알고리즘을 사용하여 데이터를 클러스터링하는 방법을 알려줍니다.

  • 03:45:00 이 비디오에서는 기계 학습 전문가가 특정 문제를 해결하기 위해 다양한 기계 학습 기술을 적용하는 방법에 대해 설명합니다. 이 비디오는 클러스터 분석 및 PCA도 다룹니다.

  • 03:50:00 이 동영상은 기계 학습과 비지도 학습을 포함한 다양한 단계를 설명합니다. 또한 k-평균을 사용하여 클러스터링을 수행하는 방법도 다룹니다. 비디오는 지도 학습과 분류 및 회귀를 포함한 다양한 단계에 대한 논의로 마무리됩니다.
 

TensorFlow 2.0 단기집중과정


TensorFlow 2.0 단기집중과정

"TensorFlow 2.0 Crash Course" 비디오는 이미지 분류에 중점을 두고 신경망의 기본 사항과 아키텍처를 다룹니다. 강사는 손실 함수를 기반으로 가중치와 편향을 조정하는 과정을 통해 신경망을 훈련하기 위해 스네이크 게임과 패션 mnist 데이터 세트를 예로 사용합니다. 이 비디오는 더 복잡한 모델을 만들기 위해 데이터 전처리 및 시그모이드 및 ReLU와 같은 활성화 기능을 사용하는 것의 중요성을 보여줍니다. 연사는 또한 테스트 및 교육 데이터의 중요성을 강조하고 모델의 이미지 데이터를 로드하고 수정하는 방법을 보여줍니다. 마지막으로 발표자는 Keras에서 모델의 아키텍처를 정의하고, 컴파일 및 맞춤 방법을 사용하여 모델을 훈련하고, "model.predict"를 사용하여 특정 이미지에 대한 예측을 수행하는 방법을 보여줍니다.

비디오 자습서의 두 번째 부분에서는 패션 항목을 분류하고 영화 리뷰에 대한 감정 분석을 수행할 수 있는 기본 신경망을 만드는 다양한 측면을 다룹니다. 학습을 위한 데이터 로드 및 준비로 시작하여 자습서는 데이터 사전 처리 및 입력 시퀀스 길이 정규화의 중요성을 설명합니다. 그런 다음 자습서에서는 임베딩 및 밀집 레이어와 같은 다양한 레이어 사용을 포함하여 적합한 모델 아키텍처 생성을 다룹니다. 마지막으로 튜토리얼에서는 하이퍼파라미터를 미세 조정하고, 모델을 검증하고, 모델을 저장 및 로드하고, 외부 데이터에서 모델의 성능을 평가하는 방법을 설명합니다. 전반적으로 자습서는 고급 신경망 지식을 구축하는 데 필수적인 구조를 제공합니다. 또한 모델용 데이터 인코딩, 예측을 위해 저장된 모델 실행, Ubuntu Linux에 TensorFlow 2.0 GPU 버전 설치 등 TensorFlow 2.0과 관련된 다양한 주제를 다룹니다. 인코딩 섹션에서 발표자는 적절한 단어 매핑을 보장하기 위해 데이터를 다듬고 정리하는 과정과 예측을 위해 데이터를 인코딩하는 조회 함수를 만드는 과정을 안내합니다. 그런 다음 Linux 시스템에 TensorFlow 2.0 GPU 버전을 설치하는 방법에 대한 자습서로 이동하기 전에 모델이 처리할 올바른 형식으로 입력 데이터를 준비하는 것의 중요성을 보여주고 관련 다운로드 크기로 인해 청중에게 인내심을 갖도록 조언합니다. .

  • 00:00:00 이 섹션에서 강사는 신경망의 개념과 작동 방식을 소개합니다. 신경망은 우리 뇌의 뉴런이 작동하는 방식과 유사하게 상호 연결된 뉴런 층으로 구성됩니다. 이 뉴런은 발화하거나 발화하지 않을 수 있으며, 이들 사이의 연결에 따라 발화 시기와 발화를 유발할 수 있는 다른 뉴런이 결정됩니다. 신경망은 뉴런의 한 계층에서 입력을 가져와 최종 계층에서 출력을 생성하기 전에 하나 이상의 숨겨진 계층을 통과하는 방식으로 작동합니다. 신경망의 아키텍처는 해결하는 데 사용되는 문제 유형에 따라 달라질 수 있지만 한 가지 일반적인 접근 방식은 한 계층의 각 뉴런이 다음 계층의 모든 뉴런에 연결되는 완전히 연결된 신경망을 사용하는 것입니다. 강사는 성공적이고 복잡한 네트워크를 만들 수 있도록 신경망 이면의 수학을 이해하는 것의 중요성을 강조합니다.

  • 00:05:00 이 섹션에서 강사는 신경망의 기본 사항과 신경망이 문제 해결에 어떻게 작용하는지 설명합니다. 그는 게임에서 뱀을 살리도록 훈련된 4개의 입력과 1개의 출력을 사용하여 간단한 신경망을 구축합니다. 입력은 뱀의 앞, 왼쪽, 오른쪽에 장애물이 있는지 여부이며 권장 이동 방향은 왼쪽은 -1, 직선은 0, 오른쪽은 1의 세 가지 값이 있습니다. 입력이 주어지면 신경망은 권장 방향을 따라야 하는지 여부를 나타내는 0 또는 1을 출력으로 제공합니다. 뱀을 살릴 수 있으면 권장 방향을 따르도록 설계되어 있고, 그렇지 않으면 따르지 않습니다.

  • 00:10:00 이 섹션에서 발표자는 신경망의 아키텍처와 작동 방식에 대해 설명합니다. 입력 레이어와 출력 레이어는 가중치로 연결되며, 이 가중치를 곱한 값의 가중치 합과 편향 값도 포함하여 출력이 결정됩니다. 그런 다음 정확한 출력을 생성하기 위해 많은 양의 데이터를 입력하고 편향과 가중치를 조정하여 네트워크를 훈련합니다. 출력이 올바르면 조정이 이루어지지 않지만 올바르지 않으면 신경망이 가중치와 편향을 조정하여 정확도를 높입니다.

  • 00:15:00 이 섹션에서 강사는 정보가 네트워크를 통해 전달되어 더 많은 정답을 얻기 위해 가중치와 편향을 조정할 수 있는 신경망 교육 과정을 설명합니다. 네트워크는 임의의 가중치와 편향으로 시작하여 높은 수준의 정확도를 달성할 때까지 반복적으로 조정합니다. 그런 다음 네트워크에 복잡성을 추가하는 비선형 함수인 활성화 함수가 도입됩니다. 특히 시그모이드 활성화 함수는 음수 1과 1 사이의 입력 값을 매핑하여 특정 범위 내에서 출력을 허용하는 것으로 설명됩니다. 이것은 네트워크에 더 많은 복잡성과 풍부함을 도입합니다.

  • 00:20:00 이 섹션에서는 화자가 활성화 기능과 신경망에서의 역할에 대해 설명합니다. 이러한 함수를 사용하면 실제 데이터를 근사화하는 데 더 나은 비선형 함수를 활성화하여 모델의 복잡성을 높일 수 있습니다. Sigmoid는 출력을 0에서 1 사이의 범위로 변환하는 기본 활성화 함수 중 하나입니다. 최근에 사용되는 함수는 음수 값을 0으로 설정하고 양수 값을 더 양수 값으로 만들어 데이터를 유지하는 Rectified Linear Unit(ReLU)입니다. 0에서 양의 무한대 범위 내의 포인트. 연사는 또한 손실 함수가 모델의 가중치와 편향을 조정하는 방법을 이해하는 데 중요하다고 설명합니다. 예측 출력과 실제 출력 사이의 오류를 계산하여 보다 효율적인 조정 및 조정이 가능합니다.

  • 00:25:00 이 섹션에서 발표자는 신경망의 개념과 숨겨진 레이어를 사용하여 어려운 문제를 해결할 수 있는 더 복잡한 모델을 만드는 방법을 설명합니다. 또한 비디오는 데이터의 중요성과 데이터가 어레이로 전송되기 전에 사전 처리되고 올바른 형식으로 입력되는 방법에 중점을 둡니다. 발표자는 TensorFlow의 2.0 자습서에서 작업하고 있지만 신경망을 처음 접하는 사람들에게 혼동을 줄 수 있는 추가 정보를 추가합니다. 튜토리얼에서는 이미지 분류의 예로 의류 항목의 이미지가 포함된 패션 mnist 데이터 세트를 사용합니다. 동영상은 시청자에게 TensorFlow 2.0 및 matplotlib 설치 방법을 보여주며 끝납니다.

  • 00:30:00 이 섹션에서는 이미지를 그래프로 표시하고 표시하기 위해 설치해야 하는 tensorflow, keras, numpy 및 matplotlib와 같은 필수 패키지를 비디오에서 다룹니다. 비디오는 또한 테스트 데이터와 훈련 데이터의 차이점을 설명합니다. 여기서 데이터의 약 90-80%는 네트워크로 전달되어 훈련되고 나머지 데이터는 정확성을 테스트하고 네트워크가 단순히 기억하는 것이 아닌지 확인하는 데 사용됩니다. 데이터. 비디오는 Keras를 사용하여 데이터 세트를 레이블이 있는 학습 및 테스트 데이터로 분할합니다. 마지막으로 비디오는 레이블 표현에 대한 통찰력을 제공하며 각 이미지에는 0에서 9 사이의 특정 레이블이 지정되어 있습니다.

  • 00:35:00 이 섹션에서 강사는 TensorFlow 2.0 모델의 이미지 데이터를 로드하고 수정하는 방법을 보여줍니다. 그는 각 레이블 번호가 무엇을 나타내는지 보여주는 레이블 이름 목록을 만듭니다. 그런 다음 그는 Matplotlib 라이브러리를 사용하여 이미지를 표시하고 이미지가 28x28 픽셀의 배열이라고 설명합니다. 픽셀 값을 255로 나누어 데이터 크기를 줄여 모델에서 작업하기 쉽게 만듭니다. 10진수 값으로 구성된 수정된 데이터가 모델에 로드되어 0과 9 사이의 클래스, 즉 레이블 번호를 예측합니다. 다음 섹션.

  • 00:40:00 TensorFlow 2.0 단기집중과정의 이 섹션에서 발표자는 이미지 분류를 위한 신경망의 아키텍처를 설명합니다. 입력은 그레이스케일 값이 있는 28x28 픽셀의 배열이며, 신경망의 입력 레이어에 공급하기 위해 784픽셀 목록으로 평면화됩니다. 출력 레이어에는 10개의 뉴런이 있으며 각 뉴런은 10개의 클래스(0-9) 중 하나를 나타냅니다. 목표는 가장 활성화된 뉴런이 예측된 클래스를 나타내는 것입니다. 발표자는 숨겨진 계층도 다루며 2계층 네트워크가 가능하지만 더 복잡한 이미지 인식 작업에는 적합하지 않음을 강조합니다.

  • 00:45:00 TensorFlow 2.0 단기집중과정의 이 섹션에서 강사는 신경망의 숨겨진 레이어 개념을 설명합니다. 128개의 뉴런이 있는 숨겨진 레이어를 추가함으로써 네트워크는 이미지를 분석하고 이미지를 더 잘 인식하는 데 도움이 될 수 있는 패턴을 식별할 수 있습니다. 128개의 뉴런 선택은 다소 임의적이며 은닉층의 뉴런 수는 애플리케이션에 따라 다릅니다. 그런 다음 강사는 Keras에서 모델의 아키텍처 또는 계층을 정의합니다. 이 아키텍처에는 평면화된 입력 레이어, 두 개의 조밀하거나 완전히 연결된 레이어, 네트워크가 특정 클래스를 인식할 확률을 제공하기 위해 10개의 뉴런과 소프트맥스 활성화가 있는 출력 레이어가 포함됩니다.

  • 00:50:00 이 섹션에서는 동영상에서 모델의 매개변수를 설정하고 TensorFlow 2.0에서 "컴파일" 및 "적합" 방법을 사용하여 모델을 교육하는 과정을 설명합니다. 여기에는 훈련을 위한 에포크 수를 설정하기 전에 컴파일된 모델에서 사용할 옵티마이저, 손실 함수 및 메트릭을 정의하는 것이 포함됩니다. 비디오는 또한 에포크가 무엇이며 모델의 정확도에 어떤 영향을 미치는지에 대한 간단한 설명을 제공합니다. 파일을 실행한 후 모델의 테스트 정확도를 평가한 결과 훈련 정확도보다 약간 낮은 87로 나타났습니다.

  • 00:55:00 이 섹션에서 발표자는 모델을 사용하여 특정 이미지를 예측하는 방법을 보여줍니다. 그는 "model.predict" 메서드를 사용하고 이미지의 입력 모양을 포함하는 목록 또는 np 배열을 전달해야 한다고 설명합니다. 그런 다음 이 메서드는 여러 가지 다양한 항목을 전달하고 모델을 사용하여 모든 항목을 예측할 것으로 예상하므로 예측 그룹을 제공합니다. 출력은 각각 특정 이미지에 대한 모델의 예측을 포함하는 일련의 서로 다른 목록입니다. 발표자는 이 기능이 튜토리얼 비디오에서 간과되는 경우가 있지만 실제로 모델을 사용하는 방법을 이해하는 것이 중요하다고 지적합니다.
  • 01:00:00 이 섹션에서 발표자는 목록에서 가장 높은 숫자의 인덱스를 찾는 np.argmax() 함수를 사용하여 네트워크 예측을 해석하고 검증하는 방법을 보여줍니다. 그들은 이 함수의 값을 가져와 클래스 이름으로 전달하여 예측된 클래스의 실제 이름을 얻습니다. 스피커는 계속해서 기본 for 루프를 설정하여 테스트 이미지의 여러 이미지를 표시하고 각 이미지에 대한 해당 예측을 보여줍니다. 모델이 정확하게 예측하고 표시되는 입력 이미지와 관련하여 예측이 의미가 있는지 확인하는 데 이것이 어떻게 사용될 수 있는지 보여줍니다. 마지막으로 화자는 자신이 만난 오류에 대한 빠른 수정 사항을 기록합니다.

  • 01:05:00 이 섹션에서 비디오 자습서는 TensorFlow 2.0을 사용하여 셔츠나 티셔츠와 같은 패션 아이템을 분류할 수 있는 간단한 모델을 만드는 방법을 보여줍니다. 튜토리얼은 여러 이미지에 대한 예측 프로세스와 하나의 이미지에 대한 예측 방법을 안내합니다. 이 모델은 간단한 분류 문제를 기반으로 하며 기본 신경망에 대한 개요를 제공하도록 설계되었습니다. 앞으로 영상에서는 콘텐츠가 더욱 고급화되고 실제 데이터로 문제를 다룰 것입니다. 이 튜토리얼에서 사용되는 데이터는 단순하지만 큰 데이터 세트를 로드하고 사전 처리하는 것은 어려울 수 있으며 사용 가능하게 하려면 조정이 필요합니다. 그러나 튜토리얼은 따라하기 쉬운 구조를 제공하여 신경망에 대한 지식을 쌓을 수 있는 건전한 기반을 제공합니다.

  • 01:10:00 이 섹션에서 자습서 작성자는 데이터를 로드하고 훈련 세트와 테스트 세트로 분할하여 훈련을 준비하는 방법을 설명합니다. 정수로 인코딩된 단어의 개념과 영화 리뷰를 나타내는 방법을 소개합니다. 그런 다음 저자는 이 숫자가 특정 단어에 해당한다고 설명하고 이러한 정수를 각각의 단어에 다시 매핑하는 방법을 보여줍니다. 또한 데이터 세트의 각 단어에 고유한 정수를 할당하는 단어 인덱스 생성을 보여줍니다. 마지막으로 색인이라는 단어에 특수 키를 추가하고 튜토리얼의 뒷부분에서 어떻게 사용되는지 설명합니다.

  • 01:15:00 이 섹션에서 발표자는 패딩, 시작, 알 수 없는 단어 및 사용되지 않는 단어에 대한 값을 교육 및 테스트 데이터 세트의 해당 키에 할당하는 프로세스를 설명합니다. 전체 영화 리뷰를 동일한 크기로 만들기 위해 목록 끝에 패딩 단어를 추가하여 모든 영화 리뷰 세트의 길이를 동일하게 만들기 위해 패드 태그를 추가합니다. 정수가 다른 방법 대신 단어를 가리키도록 허용하는 사전을 만들기 위해 역방향 단어 인덱스 목록을 사용하여 이를 달성하기 위해 키의 값을 반전시킵니다. 마지막으로 발표자는 조인된 빈 문자열과 역방향 단어 인덱스를 사용하여 교육 및 테스트 데이터를 사람이 읽을 수 있는 단어로 디코딩하는 기능을 설명합니다.

  • 01:20:00 이 섹션에서 튜터는 리뷰의 길이를 식별하기 위해 패딩 태그를 사용하여 모든 리뷰에 대해 정규화하거나 명확한 길이를 설정하는 방법을 설명합니다. 튜터는 데이터 세트의 길이가 다를 수 있기 때문에 입력 뉴런의 길이를 결정하는 것이 불가능하므로 이 제한을 해결하기 위해 패딩 태그를 사용한다고 설명합니다. 튜터는 전처리 및 시퀀스와 같은 Tensorflow 기능을 사용하여 시퀀스를 특정 길이로 채우거나 모든 시퀀스를 사용자 정의 길이로 정규화하는 방법을 보여줍니다. 마지막으로 튜터는 전체 섹션의 요약을 제공하고 데이터를 로드, 인코딩, 디코딩 및 전처리하는 데 사용되는 다양한 메커니즘을 강조합니다.

  • 01:25:00 이 섹션에서는 비디오 강사가 데이터의 사전 처리를 계속하고 모델에서 수용할 수 있는 일관된 형식으로 마무리합니다. 데이터의 일관성을 확인한 후 비디오는 모델 아키텍처 정의로 이동합니다. 강사는 임베딩, 전역 평균 풀링 1D 및 다른 활성화 기능을 가진 밀집 계층과 같은 다양한 계층의 사용을 설명합니다. 또한 모델 출력이 0과 1 사이의 값을 갖는 단일 뉴런이 되는 방법에 대해 논의하여 리뷰가 긍정적이거나 부정적일 확률을 나타냅니다. 비디오는 단어 임베딩의 중요성과 모델의 아키텍처를 이해하는 데 어떻게 도움이 되는지 논의하는 것으로 끝납니다.

  • 01:30:00 이 섹션에서 발표자는 단어 벡터의 개념과 임베딩 레이어가 유사한 의미를 가진 단어를 그룹화하는 데 어떻게 도움이 되는지 설명합니다. 임베딩 레이어는 입력 데이터의 모든 단어 또는 정수로 인코딩된 용어에 대해 본질적으로 16차원 공간의 계수인 단어 벡터를 생성합니다. 처음에 계층은 모든 용어에 대해 10,000개의 단어 벡터를 생성하고 무작위로 그룹화합니다. 그런 다음 레이어는 벡터 사이의 각도를 보고 벡터 사이의 유사성을 결정하고 유사한 단어를 서로 더 가깝게 그룹화하려고 시도합니다. 이 프로세스는 컴퓨터가 단어의 의미와 맥락을 이해하는 데 도움이 되며, 이는 영화 리뷰를 긍정 또는 부정으로 정확하게 분류하는 데 필수적입니다.

  • 01:35:00 이 섹션에서는 동영상이 신경망의 임베딩 레이어를 사용하여 콘텐츠가 아닌 컨텍스트를 기반으로 유사한 단어를 그룹화하는 방법을 설명합니다. 신경망은 특정 단어 주변의 단어를 살펴봄으로써 어떤 단어가 서로 관련이 있는지 확인하고 임베딩 레이어에서 함께 그룹화할 수 있습니다. 그런 다음 이 계층의 출력은 전역 평균 풀링 계층을 사용하여 축소됩니다. 이 계층은 데이터를 더 낮은 차원에 배치하여 네트워크를 더 쉽게 계산하고 훈련할 수 있도록 합니다. 비디오는 입력 데이터가 신경망의 포함 계층과 후속 계층을 통과한 후 네트워크가 어떻게 보이는지에 대한 다이어그램을 제공합니다.

  • 01:40:00 이 섹션에서는 감정 분석에 사용되는 신경망에서 패턴 인식을 위한 고밀도 레이어 생성에 대해 설명합니다. 신경망은 서로 다른 단어를 나타내는 단어 벡터를 가져와서 평균화한 다음 16개의 뉴런이 있는 밀집 계층으로 전달합니다. 밀집 계층은 단어의 패턴을 찾고 0과 1 사이의 값을 출력하는 시그모이드 함수를 사용하여 긍정적 또는 부정적 리뷰를 분류하려고 시도합니다. 그런 다음 모델은 옵티마이저, 손실 함수 및 이진 교차 엔트로피로 컴파일되어 다음을 계산합니다. 예측값과 실제값의 차이. 데이터는 테스트 중 새 데이터에 대한 모델의 성능을 정확하게 측정하기 위해 유효성 검사 및 교육 세트로 분할됩니다.

  • 01:45:00 이 섹션에서 발표자는 테스트 데이터를 유효성 검사 데이터로 수정합니다. 이는 모델 유효성 검사에 사용될 교육 데이터의 하위 집합입니다. 그는 기계 학습과 신경망에서 하이퍼 매개변수가 중요하며 사용자가 정확한 결과를 얻으려면 개별 매개변수를 미세 조정해야 한다고 설명합니다. 그는 또한 한 번에 로드할 영화 리뷰 수를 지정하고 512로 설정하는 배치 크기의 개념을 설명합니다. 마지막으로 모델을 데이터에 맞추고 테스트 데이터에서 평가합니다. 정확도는 다음과 같습니다. 87%. 발표자는 유효성 검사 데이터의 중요성을 강조하고 때로는 모델이 새 데이터에 대해 덜 정확할 수 있다고 설명합니다.

  • 01:50:00 비디오의 이 섹션에서 연사는 TensorFlow에서 모델을 저장하고 로드하여 예측이 이루어질 때마다 모델을 재훈련하지 않아도 되는 방법을 설명합니다. 이는 며칠이 걸릴 수 있는 더 큰 모델의 경우 특히 불편할 수 있습니다. 훈련하는 데 몇 주 또는 몇 달이 걸립니다. 모델의 어휘 크기를 늘린 후 화자는 "model.save()" 함수를 사용하여 모델을 저장하는 방법을 보여주고 TensorFlow에서 저장된 모델에 사용되는 확장자인 ".h5" 확장자로 이름을 지정합니다. 그리고 케라스. 향후 비디오에서 연사는 다양한 크기의 데이터를 사용하여 검사점 모델 및 배치 모델 로드에 대해 논의할 계획입니다.

  • 01:55:00 이 섹션에서는 발표자가 TensorFlow 2.0에서 모델을 저장하고 로드하는 방법을 설명합니다. 모델을 이진 데이터로 저장할 수 있으므로 매번 모델을 다시 훈련할 필요가 없으므로 예측 시 시간을 절약할 수 있습니다. 모델을 로드하려면 파일 이름과 함께 한 줄의 코드를 추가해야 합니다. 그런 다음 연사는 코드에서 텍스트 파일을 열고 모델에 공급할 수 있도록 데이터를 사전 처리하여 외부 데이터에서 모델을 테스트하는 방법을 시연합니다. 학습 데이터와 일치하려면 텍스트 파일의 크기가 최대 250단어여야 한다는 점에 유의해야 합니다. 사전 처리에는 쉼표 및 괄호와 같은 원치 않는 문자 제거가 포함됩니다.
  • 02:00:00 이 섹션에서는 비디오 제작자가 예측을 위해 모델에서 사용할 수 있도록 데이터를 인코딩하고 250단어로 줄이는 과정에 대해 설명합니다. 올바른 단어 매핑을 위해 마침표, 따옴표 및 대괄호와 같은 기호를 제거해야 합니다. 데이터의 모든 단어에 대한 매핑을 조회하고 인코딩된 목록을 반환하는 함수가 생성됩니다. 데이터가 인코딩되면 모델을 사용하여 예측하고 원본 텍스트, 인코딩된 검토 및 예측이 인쇄됩니다. 마지막으로 문자열 데이터를 인코딩된 목록으로 변환하기 위해 review_in_code 함수가 정의됩니다.

  • 02:05:00 비디오의 이 섹션에서 발표자는 저장된 모델을 실행하고 코드 인코딩 문제로 인해 오류가 발생합니다. 문제를 수정한 후 발표자는 리뷰의 각 단어에 해당 인덱스를 할당하기 위해 88,000 단어의 어휘를 사용하여 네트워크가 이해할 수 있는 형식으로 리뷰를 번역하는 방법을 시연합니다. 결과 출력은 리뷰를 긍정적으로 정확하게 식별하여 입력 데이터를 조작하여 네트워크가 처리할 올바른 형식인지 확인하는 것의 중요성을 강조합니다. 그런 다음 비디오는 GPU 가속을 위한 CUDA 및 cuDNN 설치에 대한 지침과 함께 Ubuntu Linux 시스템에 TensorFlow 2.0 GPU 버전을 설치하는 방법에 대한 자습서로 이동합니다.

  • 02:10:00 이 섹션에서 발표자는 GPU 버전을 사용하여 컴퓨터에 TensorFlow 2.0을 설치하는 과정을 통해 시청자를 안내합니다. 올바른 드라이버와 TensorFlow 2.0 프레임워크 자체를 포함하여 NVIDIA 패키지 설치에 대한 단계별 가이드를 제공합니다. 발표자는 프로세스가 비교적 간단하지만 관련된 다운로드 크기로 인해 완료하는 데 약간의 시간이 걸릴 수 있다고 말합니다. 또한 GPU 사용에 문제가 있는 시청자에게 TensorFlow의 CPU 버전을 제거하고 추가 지원을 위해 댓글 섹션을 참조하라고 조언합니다.
 

기계 학습을 위한 Python TensorFlow – 신경망 텍스트 분류 자습서



기계 학습을 위한 Python TensorFlow – 신경망 텍스트 분류 자습서

이 YouTube 자습서에서 발표자는 기계 학습 및 신경망 텍스트 분류를 위한 Python TensorFlow와 관련된 다양한 주제를 다룹니다. 그들은 Wine Reviews 데이터 세트에 집중하고 Matplotlib를 사용하여 다양한 기능의 히스토그램을 그리기 전에 Google Colab의 설정 프로세스와 필요한 라이브러리 가져오기에 대해 논의하는 것으로 시작합니다. 이 자습서에서는 지도 학습을 비롯한 기계 학습 개념, 정성적 데이터와 정량적 데이터의 차이, 이진 및 다중 클래스 분류와 같은 분류 시나리오의 입력 및 예측을 다룹니다. 다루는 다른 주제에는 손실 함수, 신경망, 활성화 함수, 경사 하강법, 역전파, TensorFlow 내 신경망 구현이 포함됩니다. 마지막으로 발표자는 텍스트 분류를 위해 TensorFlow를 사용하여 신경망을 구현하여 패키지 및 라이브러리를 사용하여 효율성을 높이는 이점을 보여줍니다.

비디오 자습서의 두 번째 부분에서는 특히 신경망 텍스트 분류에 중점을 두고 Python에서 TensorFlow를 사용한 기계 학습의 다양한 측면을 다룹니다. 이 자습서에서는 데이터를 교육 및 테스트 세트로 분할하고, TensorFlow 및 Keras로 간단한 모델을 생성하고, 데이터 세트를 확장 및 균형 조정하고, 순환 신경망을 사용하고, 텍스트 분류를 위해 TensorFlow Hub를 사용하는 방법을 다룹니다. 이 자습서에서는 모델 정확도 평가의 중요성과 활성화 함수, 드롭아웃 레이어 및 다양한 유형의 셀과 같은 다양한 신경망 구성 요소의 사용을 강조합니다. 이 튜토리얼은 신경망 구축, 텍스트 분류를 위한 TensorFlow 사용, 수치 데이터 작업을 포함하여 핵심 내용을 요약하여 마무리합니다.

  • 00:00:00 비디오의 이 섹션에서 Kylie Ying은 시청자에게 Google Colab에서 새 노트북을 설정하고 NumPy, Pandas, Matplotlib, TensorFlow 및 TensorFlow Hub와 같은 필수 라이브러리를 가져오는 방법을 보여주며 시작합니다. 이러한 라이브러리를 가져온 후 그녀는 "Wine Reviews"라는 데이터 세트를 CSV 파일로 업로드하고 Pandas DataFrame으로 읽어 국가, 설명, 포인트 및 가격과 같이 분석에 관심이 있는 열을 선택합니다. 그녀는 신경망 모델이 와인 리뷰가 포인트 스펙트럼의 하단 또는 상단에 있는지 분류하도록 훈련할 수 있는지 확인하기 위해 설명과 포인트 열 사이의 관계를 분석하는 데 집중하기로 결정했습니다.

  • 00:05:00 비디오의 이 섹션에서 발표자는 pandas 데이터 프레임에서 열을 삭제하고 Matplotlib를 사용하여 히스토그램을 그리는 방법에 대해 설명합니다. 그들은 값의 분포를 보기 위해 포인트 열을 구성하고 리뷰를 90 미만과 90 이상으로 분류하기로 결정합니다. 연사는 또한 인공 지능, 기계 학습 및 데이터 과학의 차이점을 포함하여 기계 학습에 대해 간략하게 설명합니다. 기계 학습은 데이터를 사용하여 특정 문제를 해결하는 데 중점을 둔 AI의 하위 집합입니다. AI, 기계 학습 및 데이터 과학 분야는 중복되며 기계 학습 기술을 사용하여 데이터를 분석하고 통찰력을 얻을 수 있습니다.

  • 00:10:00 이 섹션에서 연사는 지도 학습, 비지도 학습 및 강화 학습의 세 가지 기계 학습 유형을 소개합니다. 이 자습서는 입력에 해당 출력 레이블이 있고 출력을 학습하도록 모델을 교육하는 데 사용되는 감독 학습에 중점을 둡니다. 발표자는 기계 학습 모델이 데이터의 패턴을 학습하여 예측을 하고 입력 목록을 특징 벡터라고 설명합니다. 화자는 또한 범주 또는 그룹의 범주 및 유한 수라는 두 가지 유형의 질적 데이터 입력에 대해 설명합니다. 이 자습서는 레이블이 지정된 입력 및 출력 쌍을 사용하여 미래를 예측하는 데 중점을 둡니다.

  • 00:15:00 이 섹션에서는 비디오에서 질적 및 양적 특성의 개념과 이를 컴퓨터의 숫자로 인코딩하는 방법을 소개합니다. 국적이나 연령 그룹과 같은 정성적 특성은 연관된 숫자가 없는 특성이며 원-핫 인코딩을 사용하여 인코딩할 수 있습니다. 책상 크기나 불의 온도와 같은 수치적 특징은 정량적이며 연속적이거나 불연속적일 수 있습니다. 또한 이 비디오는 고유한 순서가 없는 명목 데이터와 고유한 순서가 있는 순서 데이터를 구분하고 다양한 유형의 정성적 기능에 서로 다른 인코딩 기술이 필요한 방법에 대해 설명합니다.

  • 00:20:00 이 섹션에서 화자는 감독 학습의 다양한 유형의 입력 및 예측에 대해 설명합니다. 입력은 연속적이거나 불연속적일 수 있으며 예측은 이진 또는 다중 클래스로 분류될 수 있습니다. 이진 분류의 경우 모델은 입력이 두 범주 중 하나에 속하는지 여부를 예측하는 반면 다중 클래스 분류에는 입력을 여러 범주 중 하나에 매핑하는 작업이 포함됩니다. 또한 회귀는 연속 값을 예측하는 데 사용됩니다. 그런 다음 연사는 모델의 주제를 애타게 하지만 아직 구체적인 내용은 다루지 않습니다. 마지막으로 연사는 모델을 학습시키고 성능을 평가하는 방법에 대해 간략하게 설명합니다.

  • 00:25:00 이 섹션에서 발표자는 실제 사례에 사용할 데이터 세트에 대해 논의하고 데이터 구조를 설명합니다. 데이터 세트에는 임신 횟수, 혈당, 혈압과 같은 정량적 변수와 당뇨병 여부를 나타내는 결과 변수를 포함하여 개인에 대한 정보가 포함됩니다. 각 행은 서로 다른 개인을 나타내고 각 열은 모델에 입력할 수 있는 서로 다른 기능을 나타냅니다. 특징 벡터는 예측할 출력이 되는 특징 벡터의 대상과 함께 모델에 연결되는 것입니다. 연사는 계속해서 데이터 세트가 훈련 데이터 세트, 검증 데이터 세트, 테스트 데이터 세트로 나뉘고 검증 데이터 세트는 모델이 실행되기 전에 모델이 보이지 않는 데이터를 처리할 수 있는지 확인하는 데 사용된다고 설명합니다. 테스트 데이터 세트에서 테스트했습니다.

  • 00:30:00 이 섹션에서 발표자는 손실 함수와 회귀 및 이진 분류 시나리오에서 예측 값과 실제 값의 차이를 정량화하는 방법에 대해 설명합니다. 회귀에서 L1 손실 함수는 예측 값과 실제 값의 차이를 찾고 L2 손실 함수는 차이를 제곱합니다. 이진 분류에서 이진 교차 엔트로피 손실은 특정 클래스에 속하는 예측 확률과 실제 확률 간의 차이를 찾습니다. 화자는 또한 분류 시나리오에서 성능의 척도로 정확도를 설명합니다. 마지막으로 연사는 모델의 개념과 모델이 전체 기계 학습 프로세스에 어떻게 적용되는지 소개합니다.

  • 00:35:00 이 섹션에서 발표자는 신경망이 분류 및 회귀에 사용되는 능력으로 인해 인기가 있다고 말하면서 신경망에 대해 논의합니다. 그러나 화자는 신경망이 때때로 과도하게 사용되며 단순한 모델에 신경망을 사용하는 것이 불필요할 수 있다고 언급합니다. 발표자는 신경망이 어떻게 블랙박스인지에 대해 논의하며 따라서 때때로 투명성이 부족합니다. 활성화 함수를 통과하기 전에 기능에 가중치를 곱하고 편향을 추가하는 방법을 포함하여 신경망의 구조를 설명합니다. 화자는 신경망이 단순 선형 회귀가 되는 것을 방지하기 위해 비선형 활성화 함수를 사용하는 것의 중요성을 강조합니다.

  • 00:40:00 이 섹션에서 비디오는 활성화 기능과 신경망에서의 역할에 대해 설명합니다. 신경망이 단순히 선형 함수를 사용했다면 그 목적을 달성하지 못했을 것입니다. sigmoid, tange 및 relu와 같은 활성화 기능을 사용하면 각 뉴런을 비선형 공간으로 투영하여 훈련 프로세스를 가능하게 합니다. 그런 다음 비디오는 신경망이 작동하는 이유인 경사 하강법 및 역전파의 개념을 설명합니다. 경사하강법은 손실 함수의 기울기를 측정하고 역전파는 손실을 최소화하기 위해 가중치 값을 조정합니다. 이 과정을 통해 각 매개변수에 대해 이전 가중치에 일부 알파를 더한 새로운 가중치 값이 설정됩니다.

  • 00:45:00 이 섹션에서는 이미 개발되고 최적화된 TensorFlow와 같은 라이브러리를 사용하여 기계 학습에서 신경망을 구현하는 방법에 대해 설명합니다. TensorFlow 라이브러리는 기계 학습 모델을 개발하고 교육하는 데 도움이 되는 오픈 소스 라이브러리입니다. 라이브러리는 Keras를 비롯한 많은 모듈로 구성되어 있으며 여기에는 다양한 옵티마이저와 같이 사용자가 모델을 만들고 최적화하는 데 도움이 되는 모듈이 포함되어 있습니다. 이 비디오는 신경망을 처음부터 코딩하는 것보다 기존 라이브러리를 사용하는 것이 유익한 이유도 설명합니다.

  • 00:50:00 이 섹션에서 발표자는 시청자에게 텍스트 분류를 위해 TensorFlow를 사용하여 신경망을 구현하는 방법을 보여줍니다. 그들은 read csv 기능을 사용하여diabetes.csv라는 데이터 세트를 로드하는 새 노트북을 만들기 전에 패키지와 라이브러리를 사용하여 효율성을 향상시키는 이점을 소개하는 것으로 시작합니다. 이 데이터 세트는 국립 당뇨병 및 소화기 및 신장 질환 연구소에서 제공되며 다양한 기능과 환자 인구 통계는 물론 환자가 당뇨병이 있는지 여부에 대한 분류를 포함합니다. 그런 다음 발표자는 Jupyter Notebook의 for 루프를 사용하여 환자의 당뇨병 여부에 따라 색인이 지정된 다양한 기능의 히스토그램을 플로팅하여 데이터를 시각화하는 방법을 시연합니다.

  • 00:55:00 기계 학습 및 신경망 텍스트 분류에 Python TensorFlow를 사용하는 방법에 대한 비디오 자습서의 이 섹션에서 발표자는 당뇨병 환자를 구별하기 위해 결과가 0으로 설정된 새 데이터 프레임과 1로 설정된 다른 데이터 프레임을 만듭니다. 그리고 없는 것. 다음 단계는 당뇨병 양성 환자와 음성 환자의 수를 시각화하는 것인데, 서로 다른 값 사이에 분리 가능한 패턴이 없기 때문에 결정적이지 않은 것으로 보입니다. 이는 모든 기능을 함께 고려하여 당뇨병을 예측하는 기계 학습의 중요성을 강조합니다. 마지막으로 발표자는 추가 분석을 위해 데이터 프레임을 x 및 y 값으로 분할합니다.
  • 01:00:00 이 섹션에서 발표자는 Scikit-learn 모듈을 사용하여 데이터를 교육 및 테스트 세트로 분할하는 방법을 설명합니다. 화자는 모듈을 가져오고 train_test_split 함수를 호출하고 입력 및 출력 기능을 전달합니다. 테스트 크기는 20%로 설정되고 훈련 크기는 데이터 세트의 60%로 설정됩니다. 그런 다음 임시 세트는 50/50 분할을 사용하여 유효성 검사 및 테스트 세트를 만드는 데 사용됩니다. 마지막으로 스피커는 TensorFlow 및 Keras를 사용하여 간단한 모델, 특히 이전 레이어에 조밀하게 연결된 16개의 뉴런이 있는 조밀한 레이어를 구축합니다.

  • 01:05:00 이 섹션에서는 화자가 Python에서 TensorFlow를 사용하여 이진 분류를 위한 신경망을 만드는 과정을 설명합니다. 단일 클래스에 속하는지 여부에 대한 확률에 입력을 매핑하는 시그모이드라는 활성화 함수와 레이어를 추가합니다. 그런 다음 이 모델은 "adam"이라는 옵티마이저, "binary cross-entropy"라는 손실 함수 및 정확도 메트릭으로 컴파일됩니다. 모델을 교육하기 전에 교육 및 검증 데이터에 대한 성능을 평가하므로 정확도가 낮습니다. 마지막으로 화자는 "model.fit" 함수를 사용하여 모델을 훈련하고 훈련 및 검증 데이터, 배치 크기 및 에포크 수를 전달합니다.

  • 01:10:00 이 섹션에서 발표자는 더 표준화된 범위에 있는지 확인하기 위해 데이터 세트 기능을 확장해야 하는 필요성에 대해 논의합니다. 발표자는 sklearn 전처리 및 표준 스칼라를 사용하여 기능을 확장하기 위해 필요한 패키지를 가져오는 방법을 설명합니다. 기능의 크기를 조정한 후 Presenter는 값의 범위를 확인하고 변환된 데이터 프레임을 플로팅하여 대부분의 기능이 현재 유사한 크기에 있음을 보여줍니다. 기능을 확장하면 다양한 범위로 인해 기능이 신경망의 결과에 영향을 미치지 않도록 할 수 있습니다.

  • 01:15:00 이 섹션에서 비디오 자습서는 랜덤 오버 샘플링이라는 프로세스를 통해 데이터 세트를 정규화하고 균형을 맞추는 데 중점을 둡니다. 강사는 데이터를 시각화하여 당뇨병 환자와 비당뇨병 환자에 대한 데이터 세트가 얼마나 불균형하여 잘 훈련되지 않을 수 있는 신경망으로 이어지는지 보여줍니다. 랜덤 오버 샘플러를 사용하면 더 많은 랜덤 샘플이 데이터 세트에 추가되어 두 범주의 길이가 균형을 이룹니다. 이것은 Random Over Sampler를 포함하는 Imbalance learn dot over sampling이라는 또 다른 패키지를 가져옴으로써 달성됩니다. 데이터 세트는 fit_resample 함수를 사용하여 다시 분할되어 두 결과를 거의 1로 만듭니다. 셀을 다시 실행한 후 모델의 정확도는 50%에 가까워져 데이터 세트의 균형을 조정한 결과 모델 성능이 향상되었음을 나타냅니다.

  • 01:20:00 이 섹션에서 생성자는 테스트 데이터 세트에서 신경망 모델을 평가하고 77.5%의 정확도를 달성하여 모델이 보이지 않는 데이터로 일반화하는 데 성공했음을 보여줍니다. 그런 다음 튜토리얼은 순환 신경망(RNN)에 대해 논의하고 시퀀스 또는 시리즈와 관련된 데이터에 RNN이 어떻게 유용한지 설명합니다. RNN을 사용하면 신경망 내에서 메모리를 생성하여 이전 시간 단계의 정보를 기억할 수 있습니다. 그러나 RNN을 사용하면 역전파 중에 그래디언트가 폭발하거나 사라지는 등의 문제가 발생할 수 있습니다.

  • 01:25:00 이 섹션에서 발표자는 그래디언트가 점점 0에 가까워져 모델 업데이트 및 학습을 방해하는 문제에 대해 논의합니다. 이를 방지하기 위해 게이트 반복 단위 및 장기 단기 기억 단위와 같이 사용할 수 있는 다양한 유형의 세포 또는 뉴런이 있습니다. 그런 다음 연사는 와인 리뷰를 사용하여 텍스트를 분류하는 TensorFlow 예제로 이동하고 데이터를 교육, 검증 및 테스트 데이터 세트로 분할하는 방법을 시연합니다. 발표자는 numpy의 분할 기능을 사용하여 데이터를 분할하는 다른 방법을 보여주고 데이터 세트로 작업할 때 유연성의 중요성을 강조합니다.

  • 01:30:00 이 섹션에서 비디오 자습서는 데이터 세트를 교육, 검증 및 테스트 세트로 분할하는 방법과 이를 TensorFlow에서 tf.data.Dataset 객체로 변환하는 방법을 다룹니다. 강사는 데이터 세트의 크기가 크기 때문에 더 큰 배치 크기와 tf.data.autotune을 사용하고, 데이터에 이미 레이블이 지정되었으므로 대상 변수를 "레이블"로 변경하도록 함수 코드를 조정합니다. 튜토리얼에서는 또한 이 튜토리얼에서 텍스트 분류에 사용되는 TensorFlow 허브의 작동 방식에 대해 설명합니다. 이 비디오는 TensorFlow 데이터 세트 개체 내에서 데이터 세트를 시각화하는 방법도 보여줍니다.

  • 01:35:00 이 섹션에서는 비디오 자습서에서 사전 훈련된 기계 학습 모델의 리포지토리인 TensorFlow Hub를 사용하여 텍스트 분류를 지원하는 방법을 설명합니다. 비디오는 컴퓨터가 텍스트를 이해하지 못하므로 텍스트를 컴퓨터가 이해할 수 있는 숫자로 변환해야 한다고 설명합니다. 이 변환을 수행하기 위해 비디오는 영어 Google 뉴스에서 훈련된 토큰 기반 텍스트 임베딩인 nnlm을 사용하고 모든 텍스트를 숫자 벡터로 변환합니다. 그런 다음 비디오는 밀집 계층, ReLU 활성화 함수 및 이진 분류 출력과 함께 TensorFlow Keras를 사용하여 신경망 모델을 구축하는 방법을 보여줍니다. 비디오는 모델을 컴파일하고 훈련 및 검증 데이터에서 평가하여 약 40%의 정확도를 보여줍니다.

  • 01:40:00 비디오의 이 섹션에서는 화자가 기계 학습 모델을 훈련하고 결과를 관찰합니다. 훈련 정확도가 증가하고 손실이 감소하여 모델이 잘 훈련되었음을 나타냅니다. 그러나 유효성 검사 정확도는 정체되고 심지어 약간 감소하여 모델이 잘 일반화되지 않고 과적합되었음을 나타냅니다. 이 문제를 해결하기 위해 연사는 드롭아웃 레이어를 추가할 것을 제안합니다. 이 레이어는 각 훈련 반복 동안 "끄기" 위해 몇 개의 노드를 무작위로 선택합니다. 이것은 모델에 더 많은 무작위성과 가변성을 도입하여 더 나은 일반화를 돕습니다. 마지막으로 화자는 허브 레이어를 반복하고 모델을 컴파일합니다.

  • 01:45:00 이 섹션에서 사용자는 이전 섹션에서 생성되고 훈련된 신경망을 평가합니다. 손실은 감소하고 정확도는 증가하지만 사용자는 단 5개의 에포크 후에 조기에 훈련을 중단합니다. 이 모델은 테스트 데이터에 대해 평가되며 정확도는 약 83%입니다. 그런 다음 사용자는 LSTM을 사용하여 모델을 재생성하는 방법을 보여주고 최대 토큰이 2000으로 설정된 인코더를 생성하여 시작합니다. 그런 다음 모델은 인코더와 인코더 어휘의 길이로 설정된 입력 차원이 있는 임베딩 레이어를 사용하여 정의됩니다. 출력 차원은 32로 설정됩니다. 마지막으로 32개의 노드가 있는 LSTM 계층이 추가됩니다.

  • 01:50:00 비디오의 이 섹션에서 강사는 과적합을 방지하기 위해 고밀도 레이어와 드롭아웃 레이어를 추가하여 신경망을 구축하고 있습니다. 출력에 대한 활성화 기능은 시그모이드이며 입력에는 토크나이저가 필요합니다. 모델의 정확도는 약 53이고 손실은 약 0.7인 것으로 나타났습니다. 그런 다음 훈련 및 검증 데이터를 평가하여 모델을 훈련합니다. 훈련이 끝날 때 테스트 데이터의 정확도는 84인 것으로 나타났습니다. 자습서는 강사가 피드포워드 신경망을 구축하고 텍스트 분류를 위해 TensorFlow를 사용하고 수치를 구현하는 방법을 배우는 요점을 요약하는 것으로 끝납니다. 데이터.
 

TensorFlow 2.0 전체 과정 - 초보자를 위한 Python 신경망 자습서(1-4부)



TensorFlow 2.0 전체 과정 - 초보자를 위한 Python 신경망 자습서

00:00:00 - 01:00:00 이 동영상은 데이터 조작 및 기계 학습을 위한 라이브러리인 TensorFlow 2.0을 소개합니다. 강사는 텐서가 무엇이며 텐서를 사용하여 부분적으로 정의된 계산을 저장하는 방법을 설명합니다. 그는 또한 TF dot rank 및 TF dot reshape 함수를 사용하여 텐서의 차원 수를 제어하는 방법을 보여줍니다.

01:00:00 - 02:00:00 비디오 자습서에서는 선형 회귀를 사용하여 데이터 세트의 값을 예측하는 방법을 설명합니다. Titanic 데이터 세트가 예로 사용됩니다. 발표자는 선형 회귀를 사용하여 데이터 세트의 값을 예측하는 방법과 TensorFlow를 사용하여 데이터 세트에서 기능 열을 만드는 방법을 설명합니다.

02:00:00 - 03:00:00 이 비디오 자습서는 신경망에 Python을 사용하는 기본 사항을 다룹니다. 비디오는 신경망이 상호 연결된 뉴런의 레이어로 구성되는 방법에 대한 설명으로 시작합니다. 그런 다음 비디오에서는 난수 생성기를 만드는 방법과 신경망을 훈련시키는 방법을 다룹니다. 마지막으로 뉴런과 가중치를 연결하는 방법, 네트워크를 통해 정보를 전달하는 방법, 뉴런의 출력 값을 계산하는 방법을 영상으로 보여줍니다.

03:00:00 - 04:00:00 이 동영상은 TensorFlow를 사용하여 이미지 인식을 위한 컨벌루션 신경망을 구축하는 방법을 설명합니다. 이 비디오는 작동 방식과 사전 훈련된 모델을 사용하는 방법을 포함하여 컨볼루션 신경망의 기본 사항을 다룹니다.

04:00:00 - 05:00:00 이 동영상은 TensorFlow를 사용하여 이미지의 클래스를 예측할 수 있는 기계 학습 모델을 교육하는 방법을 설명합니다. 이 비디오는 딥 러닝 및 Convolutional Neural Networks와 같은 기본 개념을 다룹니다.

05:00:00 - 06:00:00 이 동영상은 신경망 훈련을 위해 TensorFlow 2.0을 사용하는 방법을 완벽하게 안내합니다. 신경망의 입력 및 출력 모양, 손실 함수를 만드는 방법, 모델을 사용하여 시퀀스를 예측하는 방법을 다룹니다. 동영상은 또한 TensorFlow로 텍스트를 생성하는 방법을 보여줍니다.

06:00:00 - 06:50:00 이 비디오 자습서에서는 강력한 기계 학습 라이브러리인 TensorFlow 2.0의 기본 사항을 소개합니다. TensorFlow와 핵심 개념을 소개한 후 이 튜토리얼에서는 시청자에게 딥 러닝 및 강화 학습과 같은 다양한 기계 학습 작업에 대한 일련의 튜토리얼을 안내합니다.


1 부

  • 00:00:00 이 동영상 자습서는 초보자에게 Python의 신경망에 TensorFlow 2.0을 사용하는 방법을 알려줍니다. 강사는 인공 지능, 신경망 및 기계 학습의 차이점을 설명하고 실습 및 코드 예제를 포함하여 과정에 대한 리소스를 제공합니다.

  • 00:05:00 기계 학습은 컴퓨터가 명시적으로 프로그래밍하지 않고도 스스로 규칙을 생성할 수 있도록 하는 인공 지능의 하위 분야입니다.

  • 00:10:00 이 비디오는 신경망 및 딥 러닝의 기본 사항과 이러한 시스템이 여러 계층을 통해 데이터를 변환하여 작동하는 방식을 설명합니다. 신경망은 기계 학습 및 인공 지능을 비롯한 다양한 작업에 사용할 수 있습니다. 비디오는 또한 학생 성적의 예제 데이터 세트를 제공합니다.

  • 00:15:00 이 비디오는 인공 지능, 기계 학습 및 신경망의 차이점에 대해 설명하고 감독 학습에 대해 설명합니다.

  • 00:20:00 비지도 머신 러닝은 입력 데이터가 없을 때 사용됩니다. 유사한 데이터 포인트 그룹을 파악하는 데 사용됩니다.

  • 00:25:00 이 비디오는 지도, 비지도 및 강화 학습의 세 가지 기계 학습 유형에 대한 개요를 제공합니다. 마지막 유형인 강화 학습은 인공 지능(AI) 에이전트가 특정 목표에 도달하려고 시도하는 게임을 예로 들어 보다 자세히 설명합니다.

  • 00:30:00 이 비디오에서는 TensorFlow에 대한 기본 소개가 제공되고 하위 수준에서 라이브러리가 작동하는 방식에 대해 설명합니다. 그런 다음 그래프와 세션이라는 두 가지 주요 구성 요소를 포함하여 TensorFlow에 대해 자세히 설명합니다. 그래프는 서로 관련된 부분적인 연산들의 집합이며, 세션은 그래프의 일부 또는 전체를 실행하는 방법입니다.

  • 00:35:00 이 비디오에서 강사는 그래프 및 세션의 개념을 포함하여 TensorFlow의 기본 사항을 소개합니다. 그런 다음 Google Collaboratory를 사용하여 코드 블록을 만들고 실행하는 방법과 다양한 모듈을 가져오고 사용하는 방법을 보여줍니다. 마지막으로 리소스가 제한된 컴퓨터에서 TensorFlow를 사용할 때의 이점에 대해 설명합니다.

  • 00:40:00 이 비디오에서 강사는 Python 신경망과 함께 TensorFlow 2.0을 가져오고 사용하는 방법을 시연합니다. TensorFlow는 데이터 조작 및 기계 학습을 위한 라이브러리입니다. TensorFlow 2.0은 성능을 향상시키는 새로운 버전의 라이브러리입니다. 강사는 또한 텐서가 무엇이며 벡터와 행렬을 일반화하는 방법을 설명합니다.

  • 00:45:00 TensorFlow 2.0에는 부분적으로 정의된 계산을 저장하는 중요한 객체인 텐서가 도입되었습니다. Tensor에는 데이터 유형과 모양이 있으며 각 Tensor에는 순위와 차수가 있습니다. 텐서의 순위를 결정하려면 TF 점 순위 방법을 사용합니다.

  • 00:50:00 이 비디오에서 저자는 텐서 모양의 개념을 소개하고 텐서의 요소 수를 식별하는 데 사용할 수 있는 방법을 설명합니다. 그는 또한 텐서 순위의 개념을 소개하고 텐서의 차원 수를 제어하는 데 사용할 수 있는 방법을 보여줍니다. 마지막으로 그는 TF dot reshape 기능을 사용하여 데이터 벡터를 다른 모양으로 재구성하는 방법을 시연합니다.

  • 00:55:00 이 동영상은 다양한 유형, 텐서를 만들고 평가하는 방법, 변형하는 방법을 포함하여 텐서의 기본 사항을 설명합니다.


2 부

  • 01:00:00 이 비디오는 과거 데이터에서 미래 가치를 예측하는 데 사용되는 기계 학습 알고리즘인 선형 회귀의 기본 아이디어를 설명합니다. 선형 회귀는 데이터 포인트가 선형 방식으로 상관될 때 사용됩니다.

  • 01:05:00 이 자습서에서는 선형 회귀를 사용하여 최적선을 사용하여 새 데이터 포인트를 예측하는 방법을 배웁니다.

  • 01:10:00 이 비디오에서 발표자는 선형 회귀를 사용하여 데이터 세트의 값을 예측하는 방법을 설명합니다. 먼저 선형 회귀가 3차원에서 작동하는 방식을 설명한 다음 TensorFlow에서 코딩하는 방법을 보여줍니다.

  • 01:15:00 비디오는 타이타닉 데이터 세트를 소개하고 선형 회귀가 배에서 누가 살아남을지 예측하는 데 좋은 알고리즘인 이유를 설명합니다. 데이터 세트가 pandas 및 Excel에 로드됩니다.

  • 01:20:00 이 비디오는 데이터 프레임을 사용하여 데이터를 저장하는 방법과 도트 연산자를 사용하여 데이터 프레임 내부의 특정 값을 조회하는 방법을 설명합니다.

  • 01:25:00 이 비디오에서 강사는 Tensor의 기본 사항과 기계 학습에서 어떻게 사용되는지 설명합니다. 그런 다음 학습 데이터 세트와 테스트 데이터 세트를 사용하여 모델을 만드는 방법을 보여줍니다.

  • 01:30:00 이 비디오에서 저자는 TensorFlow를 사용하여 데이터 세트에서 기능 열을 만드는 방법을 설명합니다. 이 열은 선형 추정기 또는 모델을 교육하는 데 사용됩니다.

  • 01:35:00 이 비디오에서 강사는 TensorFlow 모델에서 기능 열과 숫자 열을 만드는 방법과 배치를 사용하여 모델을 교육하는 방법을 설명합니다.

  • 01:40:00 TF 2.0 전체 과정에서는 Python을 사용하여 신경망을 만드는 방법과 신경망을 교육하고 평가하는 방법을 설명합니다. 비디오 자습서는 입력 함수를 만드는 방법과 함수를 사용하여 panda 데이터 세트의 이미지를 만드는 방법을 보여줍니다.

  • 01:45:00 이 1단락 요약에서는 TensorFlow 모델을 사용하여 데이터 세트를 예측하는 방법을 설명합니다. 먼저 추정기 모듈의 구문을 사용하여 모델을 만듭니다. 다음으로 선형 분류자 개체를 사용하여 모델을 훈련합니다. 마지막으로 모델을 평가하고 정확도를 출력합니다.

  • 01:50:00 이 비디오는 TensorFlow를 사용하여 예측을 반복하고 실제 값에 액세스하는 방법을 포함하여 결과 예측을 위한 신경망을 만드는 방법을 다룹니다.

  • 01:55:00 이 튜토리얼에서 저자는 TensorFlow를 사용하여 신경망을 훈련시켜 데이터 세트에서 꽃의 종을 예측하는 방법을 보여줍니다. 저자는 또한 다양한 유형의 신경망과 입력 함수를 사용하여 성능을 최적화하는 방법을 설명합니다.


파트 3

  • 02:00:00 이 비디오에서 저자는 TensorFlow 2.0에서 신경망을 만드는 과정을 살펴보고 사용 가능한 다양한 모델을 설명합니다. 그런 다음 신경망을 구축하고 dnn 분류기를 사용하여 훈련시키는 방법을 보여줍니다.

  • 02:05:00 이 비디오에서는 신경망에 대한 훈련 및 평가 기능이 생성됩니다. 람다는 한 줄로 함수를 정의하는 데 사용됩니다. 그런 다음 이 함수는 신경망을 훈련하는 데 사용됩니다. 훈련된 신경망의 정확도가 표시됩니다.

  • 02:10:00 동영상은 TensorFlow의 예측 기능을 사용하여 꽃의 등급을 예측하는 방법을 보여줍니다. 사용자는 먼저 꽃받침 길이, 꽃잎 길이, 너비와 같은 꽃의 특징을 입력합니다. 그런 다음 예측 사전을 만들고 기능을 제공합니다. 그런 다음 TensorFlow는 입력 기능을 기반으로 꽃의 등급을 예측합니다. 마지막으로 사용자는 예측과 예측 확률을 출력합니다.

  • 02:15:00 이 비디오는 분류 및 클러스터링을 포함하여 신경망의 기본 사항을 다룹니다.

  • 02:20:00 비디오에서는 Python 신경망을 사용하여 데이터 포인트를 클러스터링하는 방법에 대해 설명합니다. 모든 데이터 포인트에 레이블을 지정한 후 비디오는 모든 클러스터 사이에서 가장 가까운 질량 중심을 찾는 방법과 가장 가까운 클러스터에 데이터 포인트를 재할당하는 방법을 설명합니다.

  • 02:25:00 이 비디오에서 강사는 신경망 및 숨겨진 Markov 모델의 기본 사항을 다룹니다. 그는 k-평균 및 선형 회귀와 같은 기계 학습에 사용되는 데이터 유형에 대해 논의하는 것으로 시작합니다. 그런 다음 기본 날씨 모델과 특정 날짜의 날씨를 예측하기 위해 숨겨진 Markov 모델을 만드는 방법에 대해 설명합니다.

  • 02:30:00 이 비디오 자습서에서 발표자는 신경망 사용을 포함하여 TensorFlow의 기본 사항을 소개합니다. 그런 다음 두 가지 상태와 두 가지 확률 분포를 사용하여 TensorFlow에서 기본 날씨 모델을 만드는 방법을 시연합니다. 그런 다음 발표자는 모델을 사용하여 다음 주 기온을 예측하는 방법을 시연합니다.

  • 02:35:00 이 비디오는 TensorFlow를 사용하여 신경망을 만들어 주어진 시퀀스의 매일 평균 온도를 예측하는 방법을 보여줍니다. 비디오는 필요한 모듈을 가져오고 모델을 만드는 방법을 설명합니다. 모델은 시퀀스의 첫 번째 날의 평균 온도를 올바르게 예측하지만 다음 날에는 잘못된 온도를 예측합니다. 문제를 해결한 후 비디오는 다른 TensorFlow 모듈을 사용하여 시퀀스의 매일 평균 온도를 성공적으로 예측하는 방법을 보여줍니다.

  • 02:40:00 이 비디오는 Mean 명령을 사용하여 TensorFlow 2.0에서 모델을 실행하는 방법을 설명합니다. 모델에서 변수의 예상 값을 비교하는 데 유용한 명령입니다.

  • 02:45:00 이 모듈에서 강사는 신경망과 그 작동 방식에 대해 논의하고 신경망이 계층으로 구성되는 방식을 설명합니다. 또한 입력 레이어가 원시 데이터를 수신하는 방법과 신경망이 해당 데이터를 분류할 수 있는 방법에 대해서도 설명합니다.

  • 02:50:00 "TensorFlow 2.0 전체 과정 - 초보자를 위한 Python 신경망 자습서"에서는 Python에서 기본 신경망을 만드는 단계별 가이드를 제공합니다. 첫 번째 레이어는 입력 뉴런이고, 숨겨진 레이어, 출력 레이어 순입니다. 출력 레이어에는 모든 입력 정보에 대해 하나의 뉴런이 있으며 숨겨진 레이어의 뉴런은 서로 연결되고 출력 레이어에 연결됩니다. 숨겨진 계층은 입력 계층과 출력 계층에 연결되며, 이를 조밀하게 연결된 신경망이라고 합니다.

  • 02:55:00 이 비디오 자습서는 신경망에 Python을 사용하는 방법을 보여 주며, 난수 생성기를 만들고 신경망을 훈련시키는 방법을 보여줍니다. 이 비디오는 또한 뉴런과 가중치를 연결하는 방법, 네트워크를 통해 정보를 전달하는 방법 및 뉴런의 출력 값을 계산하는 방법을 다룹니다.


파트 4

  • 03:00:00 이 비디오에서는 활성화 함수를 사용하여 Python 신경망에 대해 설명합니다. 이 기능은 음수와 양수를 찌그러뜨리거나 제곱하여 네트워크가 빨간색과 파란색을 더 쉽게 식별할 수 있도록 합니다.

  • 03:05:00 이 비디오에서 저자는 활성화 함수의 개념과 그것이 신경망의 출력에 미치는 영향을 설명합니다. 또한 활성화 기능을 사용하여 네트워크에 복잡성을 도입하는 방법도 설명합니다. 그런 다음 저자는 신경망 훈련에 사용되는 손실 함수에 대해 계속 논의합니다.

  • 03:10:00 이 비디오는 신경망의 개념을 소개하고 신경망 훈련에 사용되는 세 가지 주요 손실 함수인 평균 제곱 오차, 평균 절대 오차 및 힌지 손실에 대해 설명합니다. 그런 다음 신경망 성능을 최적화하는 데 사용되는 알고리즘인 경사 하강법을 설명합니다.

  • 03:15:00 이 비디오 자습서에서는 신경망을 만들고 훈련하는 방법을 포함하여 TensorFlow의 기본 사항을 소개합니다. 이 비디오는 또한 신경망 최적화 알고리즘의 사용을 다루고 신경망의 성능을 평가하는 방법을 설명합니다.

  • 03:20:00 이 비디오에서 강사는 TensorFlow를 사용하여 Python에서 신경망을 교육하는 방법을 시연합니다. 데모에 사용된 데이터 세트에는 다양한 유형의 의류 이미지가 포함되어 있으며 강사는 TensorFlow의 교육 및 테스트 기능을 사용하여 네트워크의 예측을 검증하는 방법을 보여줍니다.

  • 03:25:00 이 비디오에서 강사는 신경망의 레이어와 노드를 포함한 신경망의 기본 사항과 뉴런의 출력 값을 결정하는 데 사용되는 활성화 함수에 대해 설명합니다. 강사는 TensorFlow에서 모델을 만드는 방법과 모델을 실행하는 방법도 설명합니다.

  • 03:30:00 1시간 분량의 이 동영상 자습서에서 작성자는 신경망의 아키텍처 및 기능을 포함하여 TensorFlow의 기본 사항을 다룹니다. 그런 다음 신경망을 컴파일하고 맞추는 방법을 보여주고 마지막으로 훈련 세트에서 훈련시킵니다. 과대적합에 대해 설명하고 훈련된 모델의 정확도를 테스트 세트의 정확도와 비교합니다.

  • 03:35:00 이 비디오에서 강사는 신경망이 과적합될 수 있는 방법과 하이퍼파라미터를 조정하여 일반화를 개선하는 방법을 설명합니다. 그런 다음 그는 신경망에서 예측된 개체를 사용하여 테스트 이미지에서 예측을 수행하는 방법을 보여줍니다.

  • 03:40:00 이 비디오 자습서는 TensorFlow를 사용하여 깊은 컴퓨터 비전을 위한 컨벌루션 신경망을 구축하는 방법을 설명합니다. 이 비디오는 컨볼루션 신경망이 무엇인지, 어떻게 작동하는지, 사전 훈련된 모델을 사용하는 방법을 다룹니다.

  • 03:45:00 영상은 조밀한 신경망과 컨볼루션 신경망의 차이점을 설명하고 컨볼루션 신경망이 글로벌 패턴이 아닌 로컬 패턴을 학습한다고 설명합니다.

  • 03:50:00 CNN(Convolutional Neural Network)은 이미지를 분석하고 이해하는 데 사용되는 기계 학습 알고리즘입니다. Convolutional Neural Network는 이미지를 분석하고 이해하는 데 사용되는 여러 계층으로 구성됩니다. 첫 번째 레이어는 이미지에서 특정 필터의 존재를 식별하는 데 사용됩니다.

  • 03:55:00 이 영상에서 강사는 외적을 이용하여 이미지에서 필터를 찾는 방법을 설명합니다. 필터는 이미지와 필터 사이의 픽셀 값이 얼마나 유사한지에 따라 결정됩니다.
 

TensorFlow 2.0 전체 과정 - 초보자를 위한 Python 신경망 자습서(5-7부)



TensorFlow 2.0 전체 과정 - 초보자를 위한 Python 신경망 자습서


파트 5

  • 04:00:00 이 비디오는 컨벌루션 신경망이 작동하는 방식과 패딩 및 보폭이 네트워크를 사용하기 쉽게 만드는 데 어떻게 도움이 되는지 설명합니다.

  • 04:05:00 이 비디오에서 강사는 min 및 max와 같은 풀링 작업을 사용하여 기능 맵의 차원을 줄이는 방법을 설명합니다. 그런 다음 기능 맵에서 값을 샘플링하고 차원이 축소된 기능 맵을 생성하는 방법을 보여줌으로써 이것이 어떻게 수행되는지 보여줍니다. 다음으로 강사는 2x2 풀링 작업을 사용하여 기능 맵의 크기를 절반으로 줄이는 방법을 보여줍니다. 그런 다음 최대 풀링 작업을 사용하여 영역에서 기능을 찾는 방법을 보여줍니다. 그런 다음 평균 풀링 작업을 사용하여 영역에서 기능을 찾는 방법을 보여줍니다. 마지막으로 강사는 Kerris를 사용하여 컨볼루션 신경망을 만드는 방법을 보여줍니다.

  • 04:10:00 이 비디오 자습서에서 강사는 Python을 사용하여 CNN(컨볼루션 신경망)을 만드는 방법을 시연합니다. CNN의 첫 번째 계층은 입력 데이터의 차원을 줄이는 최대 풀링 계층입니다. 다음 두 계층은 컨볼루션 계층과 최대 풀링 계층입니다. 마지막 계층은 입력 데이터를 분류하는 dense 계층입니다.

  • 04:15:00 이 비디오는 데이터 증강을 사용하여 기계 학습 모델의 성능을 개선하는 방법을 설명합니다. 데이터 확대에는 이미지를 수정하여 훈련 데이터와 더 유사하게 만들어 모델의 일반화 능력을 향상시킬 수 있습니다.

  • 04:20:00 이 동영상은 TensorFlow 2.0에서 사전 학습된 모델을 사용하여 분류 정확도를 개선하는 방법을 보여줍니다.

  • 04:25:00 이 동영상에서 발표자는 사전 훈련된 TensorFlow 모델을 사용하여 다양한 동물의 이미지를 인식하는 방법을 설명합니다. 먼저 모델을 TensorFlow에 로드하고 이미지를 동일한 크기로 조정하는 방법을 설명합니다. 다음으로 훈련 및 검증 데이터 세트에 모델을 적용하는 방법을 보여줍니다. 마지막으로 모델을 사용하여 동물 이미지를 인식하는 방법을 시연합니다.

  • 04:30:00 이 동영상에서 강사는 1000개 등급의 개와 고양이로 구성된 데이터 세트에 대한 교육을 위해 TensorFlow 2.0을 사용하여 신경망을 만드는 방법을 시연합니다. 네트워크는 기본 모델을 사용하여 사전 훈련된 다음 예측 계층이 추가됩니다. 강사는 또한 예측에 네트워크를 사용할 때 네트워크가 재훈련되지 않도록 계층의 훈련 가능한 매개변수를 고정하는 방법을 보여줍니다. 그런 다음 모델을 평가하고 새 데이터 세트에서 교육합니다.

  • 04:35:00 이 동영상은 TensorFlow를 사용하여 이미지의 클래스를 예측할 수 있는 모델을 학습시키는 방법을 설명합니다. 이 비디오는 딥 러닝 및 Convolutional Neural Networks와 같은 기본 개념을 다룹니다.

  • 04:40:00 이 비디오는 순환 신경망을 사용하여 자연어를 이해하고 처리하는 방법을 설명합니다. 첫 번째 섹션에서는 자연어 처리가 무엇인지, 순환 신경망이 일반 신경망과 어떻게 다른지 설명합니다. 두 번째 섹션에서는 텍스트 데이터를 순환 신경망에서 사용할 수 있는 숫자 데이터로 변환하는 방법에 대해 설명합니다. 마지막 섹션에서는 반복 신경망을 사용하여 감정 분석 및 문자 슬래시 텍스트 생성을 수행하는 방법에 대해 설명합니다.

  • 04:45:00 우리가 논의할 첫 번째 방법은 단어 모음입니다. 이 알고리즘은 문장을 보고 문장의 모든 단어가 숫자로 인코딩된 숫자 표현으로 변환합니다. 이것은 단어의 존재만으로도 문장의 의미를 결정하기에 충분한 작업에 유용할 수 있습니다. 그러나 더 복잡한 입력을 처리할 때 이 기술이 제대로 작동하지 않을 수 있습니다.

  • 04:50:00 비디오는 텍스트에 대한 단어 인코딩의 사용과 몇 가지 다른 인코딩 방법에 대해 설명합니다. 이 접근 방식의 한 가지 문제는 단어의 순서가 손실되어 기계 학습 모델이 텍스트의 감정을 올바르게 식별하기 어렵게 만들 수 있다는 것입니다.

  • 04:55:00 이 비디오에서 강사는 단어 임베딩이 작동하는 방식과 이를 사용하여 신경망 예측의 정확도를 개선하는 방법을 설명합니다. 그런 다음 강사는 텍스트 데이터 처리에 특히 뛰어난 신경망 유형인 순환 신경망을 소개합니다.


6부

  • 05:00:00 순환 신경망은 서로 다른 시간 단계에서 데이터를 처리하고 내부 메모리를 유지하는 일종의 신경망입니다. 이를 통해 네트워크는 텍스트 또는 입력에 대한 이해를 점진적으로 구축할 수 있습니다.

  • 05:05:00 이 비디오는 TensorFlow 2.0의 기본 사항을 설명하며 간단한 RNN(Recurrent Neural Network) 계층과 LSTM(Long Short-Term Memory) 계층에 대한 설명을 포함합니다. LSTM 레이어는 RNN 레이어가 텍스트 시퀀스의 이전 문장을 기억할 수 있도록 설계되었으며 시퀀스 길이가 증가함에 따라 점점 어려워질 수 있습니다.

  • 05:10:00 TensorFlow 2.0 전체 과정 - 초보자를 위한 Python 신경망 자습서에서는 영화 리뷰의 감정 분석에 사용되는 순환 신경망을 비롯한 신경망의 기본 사항을 다룹니다.

  • 05:15:00 이 비디오에서 발표자는 Python을 사용하여 텍스트 리뷰를 특정 길이로 채우는 방법을 보여주고 모델이 훈련되는 방법을 설명합니다. 그들은 또한 GPU를 사용하여 훈련 프로세스를 가속화한다고 언급합니다.

  • 05:20:00 이 비디오에서 저자는 초보자를 위한 Python 신경망 교육에 대한 전체 과정을 제공합니다. 이 과정은 신경망 소개로 시작하여 TensorFlow 2.0을 사용하여 신경망을 교육하는 방법에 대한 자습서로 이어집니다. 신경망이 훈련되면 작성자는 영화 리뷰 데이터 세트에서 예측을 수행하는 방법을 시연합니다. 결과는 신경망이 충분히 정확하지 않다는 것을 보여주고, 저자는 신경망이 처리할 수 있도록 텍스트를 토큰으로 인코딩하는 기능을 제공합니다. 저자는 또한 텍스트를 다시 단어로 변환하는 디코딩 기능을 제공합니다.

  • 05:25:00 이 1단락 요약에서는 디코딩 정수가 Python에서 영화 리뷰로 인코딩된 텍스트를 어떻게 작동하는지 설명합니다. 이 함수는 일련의 단어를 가져와 정수로 변환한 다음 ENCODE 텍스트 함수를 사용하여 정수를 인코딩합니다. 마지막으로 이 모델은 주어진 텍스트에 대한 리뷰를 예측하는 데 사용됩니다. 첫 번째 리뷰는 72% 긍정적일 것으로 예상되는 반면, 두 번째 리뷰는 23% 긍정적일 것으로 예상됩니다.

  • 05:30:00 TensorFlow 2.0 전체 과정의 이 최종 동영상에서는 셰익스피어 텍스트를 기반으로 희곡을 생성하기 위해 순환 신경망이 생성됩니다. 파일이 로드되고 읽혀지고 텍스트 길이가 계산됩니다. 인코딩 체계를 결정하기 위해 처음 250자를 읽고 분석합니다. 문자는 정수로 인코딩되고 어휘가 생성됩니다. 각 문자의 인덱스가 계산되어 어휘에 저장됩니다.

  • 05:35:00 이 비디오에서 강사는 TensorFlow를 사용하여 텍스트 데이터 세트를 사용하여 신경망을 교육하는 방법을 가르칩니다. 강사는 먼저 텍스트 데이터 세트를 정수로 변환한 다음 Epoch당 101개의 훈련 예제 시퀀스를 사용하여 신경망을 훈련시킵니다.

  • 05:40:00 이 동영상은 내장 함수인 '모델 빌드'를 사용하여 TensorFlow 2.0에서 모델을 만드는 방법을 설명합니다. 이 모델은 64개의 훈련 예제 세트에 대해 훈련된 다음 하나의 입력 시퀀스에서 예측이 이루어질 수 있도록 저장됩니다.

  • 05:45:00 저자는 TensorFlow를 사용하여 신경망을 교육하는 데 필요한 단계를 설명합니다. 먼저 저자는 신경망의 입력 및 출력 형태에 대해 설명합니다. 다음으로 저자는 신경망을 최적화하기 위해 손실 함수를 만드는 방법을 설명합니다. 마지막으로 저자는 모델을 사용하여 100개의 샘플 시퀀스를 예측하는 방법을 보여줍니다.

  • 05:50:00 이 비디오에서는 TensorFlow가 순환 신경망과 작동하는 방식을 포함하여 자세히 설명합니다. 이 동영상에서는 모델이 얼마나 잘 수행되고 있는지 확인하기 위해 손실 함수를 만드는 방법도 다룹니다.

  • 05:55:00 이 비디오는 신경망 훈련을 위한 TensorFlow 2.0 라이브러리를 소개하고 새로운 배치 크기 1로 모델을 다시 빌드하는 방법을 보여줍니다. 동영상에는 TensorFlow로 텍스트를 생성하는 방법에 대한 데모도 포함되어 있습니다.


7부

  • 06:00:00 이 비디오 TensorFlow 2.0 전체 과정 - 초보자를 위한 Python 신경망 자습서에서 사용자는 순환 신경망을 사용하여 텍스트 시퀀스를 생성하는 방법을 설명합니다. 첫 번째 단계는 네트워크 상태를 재설정하고 예측 목록을 생성하는 것입니다. 그런 다음 사용자는 B 무비 스크립트에서 네트워크를 훈련하고 결과를 보여줍니다.

  • 06:05:00 이 비디오 자습서는 Python에서 간단한 신경망을 만드는 방법을 포함하여 TensorFlow 2.0의 기본 사항을 다룹니다. 그런 다음 비디오는 보다 복잡하고 고급 기술인 강화 학습에 대해 논의합니다. 비디오는 용어에 대한 토론과 강화 학습이 무엇인지 요약하는 것으로 끝납니다.

  • 06:10:00 강화 학습은 성능 향상으로 이어지는 행동에 대해 보상함으로써 환경에서 작업을 수행하도록 AI를 훈련시키는 방법입니다. 강화 학습의 목표는 에이전트가 환경에서 달성하려고 하는 모든 것이 될 수 있는 보상을 최대화하는 것입니다. 이 과정에서 강사는 상태, 행동 및 보상의 개념을 다룹니다.

  • 06:15:00 이 예제에서 에이전트의 목표는 다른 상태에서 다른 작업에 대한 보상을 예측하는 큐 테이블을 학습하여 환경에서 보상을 최대화하는 것입니다.

  • 06:20:00 TensorFlow는 사용자가 데이터에서 학습할 수 있는 모델을 만들 수 있는 기계 학습 라이브러리입니다. 이 비디오에서 강사는 Q 학습이 어떻게 작동하는지, 시뮬레이션 환경에서 에이전트의 행동을 최적화하는 데 어떻게 사용되는지 설명합니다. 계속해서 큐 테이블을 사용하여 상담원의 행동을 최적화하는 방법을 설명합니다.

  • 06:25:00 이 비디오에서는 TensorFlow 2.0 초보자용 튜토리얼에서 사용되는 신경망에 대해 배웁니다. 비디오의 첫 번째 부분에서는 신경망의 기본 사항과 작동 방식을 다룹니다. 그런 다음 현재 큐 테이블을 사용하거나 작업을 임의로 선택하여 3D 환경을 탐색하는 방법을 배우는 간단한 에이전트를 만드는 방법을 살펴봅니다. 비디오의 두 번째 부분에서는 에이전트의 큐 테이블을 업데이트하는 데 사용되는 공식을 설명합니다.

  • 06:30:00 "TensorFlow 2.0 전체 과정 - 초보자를 위한 Python 신경망 자습서" 동영상에서는 TensorFlow 2.0 프로그래밍 언어와 기계 학습 모델의 일종인 신경망을 위한 관련 데이터 구조 및 알고리즘을 소개합니다. 그런 다음 비디오는 openAI 체육관 소프트웨어를 사용하여 간단한 신경망 모델을 만들고 훈련하는 방법을 보여줍니다.

  • 06:35:00 TensorFlow 2.0 전체 과정은 신경망 훈련에 사용되는 액터 비평 모델을 소개하는 것으로 시작합니다. 그런 다음 NumPy 및 TensorFlow를 사용하여 얼어붙은 호수 환경을 만드는 방법을 보여줍니다. 이 과정은 환경에서 탐색 문제를 해결하기 위해 q 학습을 사용하는 방법을 다룹니다.

  • 06:40:00 이 비디오는 TensorFlow 2.0을 사용하여 초보자를 위한 신경망을 만드는 방법에 대한 완전한 자습서를 제공합니다. 먼저 강사는 엡실론 변수와 에이전트가 무작위 행동을 취할 가능성에 미치는 영향을 설명합니다. 다음으로 강사는 보상 목록을 만드는 방법과 보상 공식을 사용하여 에이전트의 q 값을 업데이트하는 방법을 시연합니다. 마지막으로 강사는 에이전트의 현재 상태를 설정하고 환경 탐색이 완료되었는지 확인하는 방법을 보여줍니다.

  • 06:45:00 "TensorFlow 2.0 전체 과정 - 초보자를 위한 Python 신경망 자습서"의 마지막 모듈에서 강사는 큐 테이블을 사용하여 엡실론 값을 조정하여 에이전트가 움직일 때 평균 보상을 천천히 높이는 방법을 설명합니다. 미로.

  • 06:50:00 이 동영상 자습서에서는 강력한 기계 학습 라이브러리인 TensorFlow의 기본 사항을 소개합니다. 이 튜토리얼은 TensorFlow와 핵심 개념을 소개한 후 시청자에게 딥 러닝 및 강화 학습과 같은 다양한 기계 학습 작업에 대한 일련의 튜토리얼을 안내합니다.
 

TensorFlow 과정을 사용한 Keras - 초보자를 위한 Python 딥 러닝 및 신경망 자습서



TensorFlow 과정을 사용한 Keras - 초보자를 위한 Python 딥 러닝 및 신경망 자습서

Keras with TensorFlow 과정은 사용자에게 Python으로 작성되고 TensorFlow와 통합된 신경망 API인 Keras를 사용하는 방법을 가르치는 데 중점을 둡니다. 데이터 구성 및 사전 처리, 인공 신경망 구축 및 교육, 데이터 정규화 및 유효성 검사 세트 생성의 중요성에 대한 기본 사항을 다룹니다. 이 과정은 또한 비디오 및 텍스트 파일과 같은 리소스와 효율성 향상을 위해 GPU를 설정하는 방법에 대한 가이드를 제공합니다. 또한 사용자는 모든 것, 아키텍처만 또는 가중치만 저장하는 옵션을 포함하여 모델을 저장하고 로드하는 방법을 배웁니다. 이 과정은 기본적인 프로그래밍 기술과 Python에 대한 경험이 있는 사람들에게 적합합니다.

"Keras with TensorFlow 과정"의 두 번째 섹션에서는 원래 모델과 동일한 아키텍처를 사용하여 새로운 Keras 모델에 가중치를 로드하는 것부터 시작하여 다양한 주제를 다룹니다. 그런 다음 강사는 첫 번째 CNN에 대한 Keras 순차 모델을 구축하고 교육하기 전에 이미지를 고양이 또는 개로 분류하기 위해 컨벌루션 신경망을 교육하기 위해 이미지 데이터를 준비하고 전처리하는 방법을 설명합니다. 이 섹션에는 모델 맞춤 중 유효성 검사를 위해 레이블 데이터가 포함된 생성기를 사용하여 모델을 교육하는 방법과 모델 성능을 평가하기 위해 혼동 행렬을 그리는 방법에 대한 세부 정보가 포함되어 있습니다. 사전 훈련된 VGG 16 모델을 미세 조정하여 고양이와 개의 이미지를 분류하고 전처리를 조정하고 훈련시키는 방법을 보여줌으로써 결론을 내립니다.

세 번째 섹션에서 강사는 더 복잡한 모델에 대한 더 작고 빠른 대안인 MobileNets를 소개합니다. 그들은 Jupyter 노트북에서 MobileNets를 다운로드 및 사용하고, 수화 숫자에 대한 데이터 세트를 구성하고, 새로운 분류 작업을 위해 모델을 미세 조정하는 방법을 시연합니다. 강사는 디스크에서 데이터 세트의 위치, 교육 중에 고정할 레이어 수, 과적합 문제를 줄이기 위한 하이퍼파라미터 조정에 대한 반복자를 올바르게 가리키는 것이 중요하다고 강조합니다. 마지막 섹션에서는 데이터 확대와 과적합을 줄이고 데이터 세트 크기를 늘릴 수 있는 가능성을 소개하고 다양한 유형의 확대(예: 이동, 뒤집기, 회전), 증강 이미지를 디스크에 저장하고 교육에 다시 추가하는 방법에 대한 지침을 제공합니다. 세트.

  • 00:00:00 이 섹션에서는 이 과정이 Python으로 작성되고 TensorFlow와 통합된 신경망 API인 Keras를 사용하는 방법을 가르치는 데 중점을 둔다고 설명합니다. 데이터 구성 및 사전 처리의 기본 사항으로 시작한 다음 인공 신경망 구축 및 교육으로 이동합니다. 이 과정은 몇 가지 기본 프로그래밍 기술과 Python 사용 경험을 권장하지만 코드 구현을 진행하기 전에 각 딥 러닝 개념에 대한 간략한 소개도 제공합니다. 이 과정은 또한 정기적으로 테스트되고 유지 관리되는 과정에서 사용되는 코드 파일을 포함하여 비디오 및 텍스트 리소스를 제공하며 이러한 파일에 대한 다운로드 액세스는 Deep Lizard Hive Mind의 구성원이 사용할 수 있습니다. Keras는 빠른 사용자 실험을 가능하게 하는 데 중점을 두고 개발되었으며 TensorFlow와 통합되면서 이제 Keras는 TensorFlow API와 완전히 통합되었습니다. 여러 신경망 API를 학습하고 이들 간의 경험과 비교를 보여주기 위해 하나에 영원히 집착하지 않는 것에 대한 권장 사항이 제공되어 후보자를 더 가치있게 만듭니다.

  • 00:05:00 Keras with TensorFlow 과정의 이 섹션에서는 GPU의 필요성에 대해 논의하며 과정에 필요하지 않다는 점에 주목합니다. 그러나 사용자가 GPU를 사용하려는 경우 TensorFlow와 함께 작동하도록 GPU를 설정하는 방법에 대한 가이드가 있습니다. CPU로 먼저 과정을 진행한 다음 효율성과 속도를 높이기 위해 GPU를 설정하는 것이 좋습니다. 다음 섹션에서는 인공 신경망에 대한 수치 데이터를 준비하고 처리하는 방법과 Keras의 순차 모델이 기대하는 다양한 데이터 형식에 대해 설명합니다. fit 함수는 입력 데이터(x)가 NumPy 배열, TensorFlow 텐서, 사전 매핑, TF 데이터 데이터 세트 또는 Keras 생성기에 있을 것으로 예상합니다. 대상 데이터(y)도 x와 동일한 형식이어야 합니다.

  • 00:10:00 이 섹션에서 강사는 데이터 정규화 또는 표준화 기술이 딥 러닝 모델이 더 쉽게 학습할 수 있는 형식으로 데이터를 넣을 수 있다고 설명합니다. 강사는 간단한 수치 데이터 세트를 예로 사용합니다. 여기서 실험 약물은 13세에서 100세 사이의 개인에 대해 테스트되었고, 65세 이상의 노인 인구에 있는 환자의 약 95%가 부작용을 경험한 반면 약 95%는 부작용을 경험했습니다. 65세 미만 환자의 %는 부작용을 경험하지 않았습니다. 그런 다음 강사는 부작용을 경험했거나 경험하지 않은 환자의 실제 시나리오를 모방하는 임의의 정수를 생성하는 for 루프를 거친 다음 이러한 샘플과 해당 레이블을 두 개의 개별 목록에 추가합니다.

  • 00:15:00 비디오의 이 섹션에서 강사는 TensorFlow에 통합된 Keras API의 NumPy 배열을 사용하여 신경망용 데이터를 생성하고 준비하는 프로세스를 요약합니다. 그들은 샘플 목록에 연령이 포함되어 있고 레이블 목록에는 각 연령에 해당하는 부작용을 나타내는 0과 1이 포함되어 있거나 부작용이 없다고 설명합니다. 그런 다음 데이터가 처리되고 fit 함수가 예상하는 NumPy 배열 형식으로 변환되며 데이터 생성 프로세스에서 부과된 순서를 제거하기 위해 shuffle 함수를 사용하여 데이터를 섞습니다. 또한 데이터는 13에서 100까지의 척도에서 0에서 1까지의 척도로 재조정되고 적합 변환 함수가 1차원 데이터를 허용하도록 재구성됩니다. 마지막으로 강사는 keras API의 순차 모델을 사용하여 이 데이터에 인공 신경망을 구축하는 방법을 시연합니다.

  • 00:20:00 비디오의 이 섹션에서 발표자는 TensorFlow와 통합된 Keras API를 사용하여 신경망 모델을 만드는 방법을 설명합니다. 모델은 순차 모델이며 Sequential 클래스의 인스턴스로 생성됩니다. 첫 번째 dense layer는 첫 번째 hidden layer를 생성하고 ReLU 활성화 함수가 있는 16개의 유닛을 가집니다. 두 번째 밀집 계층은 두 번째 은닉 계층을 만들고 ReLU 활성화 함수가 있는 32개의 단위를 가집니다. 마지막 계층은 두 개의 가능한 출력 클래스를 나타내는 두 개의 단위가 있는 출력 계층입니다. 발표자는 출력 레이어 다음에는 각 출력 클래스에 대한 확률을 제공하는 Softmax 함수가 나온다고 설명합니다. 그런 다음 발표자는 model.summary() 함수를 사용하여 모델 아키텍처의 시각적 요약을 표시하는 방법을 보여줍니다.

  • 00:25:00 이 섹션에서는 이전 섹션에서 생성 및 처리된 데이터에 대해 신경망을 교육하는 방법을 배웁니다. 모델을 구축한 후 적절한 손실, 옵티마이저 및 메트릭으로 컴파일합니다. 그런 다음 fit 함수에서 교육을 위한 입력 데이터, 대상 데이터, 배치 크기 및 에포크 수를 지정합니다. 교육이 시작되고 30 epoch 이내에 간단한 모델이 많은 노력 없이 94% 정확도를 달성하는 것을 볼 수 있습니다. 이것은 Keras를 쉽게 시작할 수 있다는 좋은 예입니다.

  • 00:30:00 이 섹션에서는 기계 학습 모델을 교육하는 맥락에서 유효성 검사 세트의 개념을 설명하고 사용의 중요성을 강조합니다. 검증 세트를 생성하면 모델이 훈련되지 않은 데이터를 얼마나 잘 일반화하는지 측정할 수 있습니다. 과적합은 검증 세트 결과의 정확도를 검사하여 피할 수 있으며, 이는 훈련 데이터의 정확도보다 현저히 낮지 않아야 합니다. Keras 순차 모델로 검증 세트를 생성하고 사용하는 두 가지 방법에 대해 설명합니다. 두 번째 방법은 Keras가 사용자를 위한 검증 세트를 생성하도록 허용합니다.

  • 00:35:00 이 섹션에서는 훈련 데이터의 지정된 비율을 검증 세트로 분할하는 검증 분할 매개변수를 사용하여 훈련 세트에서 검증 세트를 생성하는 방법에 대해 설명합니다. 비디오는 유효성 검사 세트가 훈련 세트에서 완전히 제외되며 적합 함수가 호출될 때마다 즉석에서 생성된다는 점에 주목합니다. 유효성 검사 세트가 섞이지 않은 데이터의 마지막 X%가 아님을 확인하기 위해 훈련 데이터를 전달하기 전에 섞는 것도 중요합니다. 비디오는 또한 검증 세트를 사용하여 모델이 과적합 또는 일반화되었는지 확인하는 방법을 설명하고 추론을 위해 테스트 세트를 사용하는 다음 단계에 대해 설명합니다.

  • 00:40:00 이 섹션에서는 강사가 딥러닝에서 추론하는 과정을 설명합니다. 추론은 훈련된 모델을 실제 데이터 세트에 배포하여 모델이 이전에 본 적이 없는 새로운 데이터에 대한 예측을 얻는 프로세스입니다. 모델이 새 데이터에 대해 정확한 예측을 할 수 있을 만큼 충분히 잘 일반화할 수 있도록 강사는 테스트 세트 사용을 제안합니다. 테스트 세트는 학습 데이터와 동일한 형식으로 처리되어야 합니다. 저자는 테스트 데이터를 섞고 0과 1 사이로 크기를 조정하고 훈련된 모델로 테스트 데이터를 예측하여 테스트 세트의 각 요소가 속한 클래스의 확률을 얻음으로써 이를 수행하는 방법을 보여줍니다.

  • 00:45:00 이 섹션에서는 신경망 모델이 테스트 데이터를 얼마나 잘 예측하는지 시각적으로 관찰하기 위해 혼동 행렬을 사용하는 방법을 살펴봅니다. 필요한 패키지를 가져오고 scikit-learn을 사용하여 혼동 행렬을 생성함으로써 테스트 세트의 실제 레이블을 예측된 레이블과 비교할 수 있으므로 모델 예측의 정확도를 더 잘 이해할 수 있습니다. 또한 혼란 행렬 함수를 구성하는 방법과 그 내부의 특정 값을 얻고 전처리하고 시각화하는 방법도 알아봅니다. Keras with TensorFlow 과정에 대한 유용한 기능에 대한 링크는 deep lizard 블로그에서도 사용할 수 있습니다.

  • 00:50:00 이 섹션에서 강사는 모델 예측의 정확도를 시각화하기 위해 혼동 행렬을 그리는 방법을 보여줍니다. 플롯은 x축에 예측 레이블을 표시하고 y축에 실제 레이블을 표시합니다. 올바른 예측은 플롯의 왼쪽 상단에서 오른쪽 하단으로 대각선으로 이동하는 파란색 사각형으로 표시됩니다. 혼동 행렬을 통해 사용자는 모델이 얼마나 잘 수행되고 있는지 시각화하고 개선이 필요할 수 있는 클래스를 식별할 수 있습니다. 강사는 혼동 행렬이 모델의 성능을 평가하는 데 사용할 수 있는 훌륭한 도구이며 추가 작업이 필요한 클래스를 드릴다운하는 데 도움이 될 수 있다고 설명합니다. 마지막으로 강사는 모델의 아키텍처, 가중치 및 훈련 구성을 h5 파일에 저장하는 `.save()` 함수를 사용하여 Keras 순차 모델을 저장하는 방법을 보여줍니다.

  • 00:55:00 이 섹션에서 강사는 TensorFlow를 사용하여 Keras에서 모델을 저장하고 로드하는 다양한 방법을 설명합니다. 가장 포괄적인 첫 번째 옵션은 아키텍처, 가중치 및 교육 구성을 포함하여 모델에 대한 모든 것을 저장하고 로드하는 것입니다. 두 번째 옵션은 "to JSON" 기능을 사용하여 모델의 아키텍처만 저장하는 것입니다. 그런 다음 나중에 동일한 아키텍처로 새 모델을 만드는 데 사용할 수 있습니다. 세 번째 옵션은 "가중치 저장" 기능을 사용하여 모델의 가중치만 저장하는 것입니다. 이 기능은 새 모델에 로드하여 가중치를 업데이트할 수 있지만 모델에 대한 다른 세부 정보는 저장하지 않습니다. 또한 강사는 JSON 문자열 대신 YAML 문자열을 사용하여 동일한 프로세스를 수행할 수 있다고 설명합니다.
  • 01:00:00 이 섹션에서 발표자는 원래 모델과 동일한 아키텍처를 사용하여 새로운 Keras 모델에 가중치를 로드하는 방법에 대해 설명합니다. 그는 로드되는 가중치의 모양이 작동할 가중치 매핑을 위한 모델 아키텍처의 모양과 일치해야 한다고 설명합니다. 발표자는 Keras의 "가중치 로드" 및 "가중치 가져오기" 기능을 사용하여 원래 모델의 가중치로 새 모델을 로드하고 채우는 방법을 보여줍니다. 그런 다음 이 섹션은 Kaggle 고양이 대 개 경쟁의 데이터 세트를 사용하여 이미지를 고양이 또는 개로 분류하기 위해 컨볼루션 신경망을 훈련하기 위한 이미지 데이터를 준비하고 처리하는 새로운 주제로 전환합니다. 발표자는 처리할 데이터를 준비하는 데 필요한 수동 및 프로그래밍 방식 단계를 설명합니다.

  • 01:05:00 이 섹션에서 강사는 데이터를 교육, 검증 및 테스트 세트의 세 가지 하위 집합으로 구성합니다. 튜토리얼에서 사용된 데이터 세트에는 25,000개의 고양이와 개 이미지가 있지만 훈련 프로세스 속도를 높이기 위해 훈련에 1,000개, 검증에 200개, 테스트에 100개만 사용했습니다. 데이터는 각 집합에 대해 서로 다른 디렉터리로 구성되며 디렉터리 구조가 이미 존재하지 않는지 확인하기 위해 확인됩니다. 이미지는 파일 이름에 따라 무작위로 선택되며 고양이와 강아지 이미지는 각각의 파일 이름에 "고양이"와 "개"라는 단어가 있습니다. 마지막으로 디스크의 올바른 위치를 가리키도록 각 세트에 대한 데이터 경로가 지정됩니다.

  • 01:10:00 이 섹션에서는 이미지 데이터 생성기를 사용하여 데이터 배치를 생성하여 Keras 순차 모델용 데이터를 준비하는 방법을 설명하는 동영상입니다. 교육, 검증 및 테스트 세트가 정의되고 균일성을 위해 지정된 높이와 너비로 크기가 조정됩니다. 사전 처리 기능인 tf.keras.applications.VGG16.preprocess_input은 이미지가 네트워크에 전달되기 전에 이미지에 적용됩니다. 이 비디오는 시청자에게 전처리의 기술적 세부 사항에 대해 스트레스를 받지 말라고 경고합니다. 또한 비디오는 셔플이 테스트 세트에 대해 거짓과 같음을 지정하여 추론을 실행할 때 혼동 매트릭스에서 예측 결과를 보려면 테스트 세트에 대한 불안정한 레이블이 필요하며 데이터에 액세스하기 위해 데이터를 셔플해서는 안 된다고 설명합니다.

  • 01:15:00 이 섹션에서 강사는 컨벌루션 신경망에 대한 이미지 데이터를 얻고 구성하는 방법을 시연합니다. 10개의 이미지와 해당 레이블로 구성된 훈련 배치는 RGB 색상 데이터를 왜곡하는 전처리 기능을 사용하여 플롯됩니다. 그러나 레이블에 대한 하나의 핫 인코딩된 벡터를 사용하여 이미지를 여전히 고양이 또는 개로 구분할 수 있습니다. 강사는 때때로 테스트 세트에 해당하는 레이블을 사용할 수 없을 수 있음을 지적하고 시청자에게 이러한 사례 처리에 대한 지침이 있는 블로그를 안내합니다. 이 에피소드는 길쌈 신경망이 고양이와 개 이미지 데이터에 대해 구축되고 훈련되는 다음 섹션의 미리 보기로 끝납니다.

  • 01:20:00 TensorFlow 튜토리얼의 이 섹션에서는 Keras 순차 모델이 첫 번째 CNN(컨볼루션 신경망)에 사용됩니다. 모델의 첫 번째 계층은 32개의 필터와 3x3의 커널 크기가 있는 2D 컨볼루션 계층이며, 이미지를 제로 패딩하기 위해 "동일한" 패딩을 사용하는 인기 있는 ReLU 활성화 함수가 뒤따릅니다. 입력 모양은 RGB 형식 이미지의 경우 224x224x3으로 지정됩니다. 첫 번째 컨볼루션 레이어 다음에는 풀 크기가 2x2이고 스트라이드가 2인 최대 풀링 레이어가 이어집니다. 첫 번째 레이어와 유사하지만 32개 대신 64개의 필터가 있는 또 다른 2D 컨볼루션 레이어가 추가되고 그 뒤에 또 다른 최대 풀링 레이어가 추가됩니다. 최대 풀링 계층의 평면화된 출력은 각각 고양이와 개에 해당하는 두 개의 노드가 있는 고밀도 출력 계층으로 전달됩니다. 출력 레이어 다음에는 모델의 각 해당 출력에 대한 확률을 제공하는 softmax 활성화 함수가 옵니다.

  • 01:25:00 이 섹션에서 강사는 TensorFlow와 함께 Keras를 사용하여 모델을 교육하는 방법과 모델 맞춤 중에 유효성 검사를 위해 레이블 데이터가 포함된 생성기를 사용하는 방법에 대해 설명합니다. 모델은 컴파일로 훈련되고 훈련 및 검증 세트를 사용하여 적합 함수가 정의되고 epoch 및 verbosity가 설정됩니다. 훈련 중 발생하는 경고는 TensorFlow 내부의 버그이며 강사는 이 경고를 무시하는 방법을 지적합니다. 결과는 훈련 세트의 정확도가 100%인 반면 검증 정확도는 69%에 불과해 과적합을 나타냅니다. 모델을 생산에 사용하려면 과적합 문제를 해결하기 위해 더 많은 주의가 필요합니다. 다음 에피소드에서는 학습된 모델이 테스트 세트의 이미지를 예측할 때 추론을 유지하는 방법을 살펴봅니다.

  • 01:30:00 비디오의 이 섹션에서 강사는 플롯 이미지 기능을 사용하여 테스트 배치에서 테스트 데이터 배치를 플롯하고 이미지에 해당 레이블을 인쇄하는 과정을 설명합니다. 강사는 레이블과 샘플 간의 올바른 매핑을 보장하기 위해 테스트 데이터 세트를 섞지 않는 것의 중요성을 강조합니다. 다음으로 입력으로 지정된 테스트 배치와 함께 model.predict를 호출하여 예측을 얻습니다. 강사는 반올림된 예측을 인쇄하고 이를 해석하는 방법을 설명합니다. 그들은 또한 결과를 시각화하기 위해 혼란 행렬의 사용을 언급하고 scikit-learn의 혼란 행렬 함수는 테스트 배치 클래스를 사용하여 전달된 실제 레이블과 함께 사용됩니다.

  • 01:35:00 이 섹션에서는 동영상에서 TensorFlow의 Keras API를 사용하여 고양이와 개의 이미지를 분류할 때 모델의 성능을 평가하기 위해 혼동 행렬을 구성하는 방법에 대해 설명합니다. 혼란 행렬은 scikit-learn의 함수를 사용하여 플로팅되고 그에 따라 클래스 인덱스가 조정됩니다. 혼동 행렬의 대각선은 올바른 예측을 나타내며 모델이 과적합된 것으로 보입니다. 다음 섹션에서는 사전 학습된 VGG 16 모델을 미세 조정하여 2014년 ImageNet 경쟁에서 우승한 고양이와 개의 이미지를 분류하는 방법을 보여줍니다. 또한 영상 데이터에서 training set의 각 픽셀에서 계산된 평균 RGB 값만 빼는 VGG 16 전처리 기능에 대해서도 간략하게 설명합니다.

  • 01:40:00 이 섹션에서 강사는 VGG-16 모델에 대해 수행된 사전 처리와 VGG-16이 원래 학습된 방식과 일치하도록 동일한 방식으로 새 데이터를 처리하는 방법을 설명합니다. 강사는 Keras에 VGG-16과 같은 인기 모델용 기능이 내장되어 있으며 해당 모델과 일치하는 사전 처리 기능이 있다고 언급합니다. 또한 강사는 VGG-16 모델이 원래 1000개의 서로 다른 imageNet 클래스에 대해 예측했으며 목표는 고양이와 개에 해당하는 두 개의 출력 클래스만 예측하도록 마지막 출력 레이어를 변경하는 것이라고 설명합니다. 마지막으로 강사는 모든 VGG-16 레이어를 반복하고 마지막 출력 레이어를 제외하여 새로운 순차 모델을 생성합니다. 이 새 모델은 미세 조정용이며 출력 클래스가 두 개뿐입니다.

  • 01:45:00 이 섹션에서는 고양이와 개의 데이터 세트에서 미세 조정된 VGG 16 모델을 수정하고 훈련하는 방법을 살펴봅니다. 1000개의 출력 클래스를 예측하는 모델의 마지막 레이어가 제거되었으며 cat 및 dog에 대해 두 개의 출력 클래스만 있는 새로운 dense 레이어가 추가되었습니다. 8000개의 학습 가능한 매개변수가 포함된 출력 레이어를 제외하고 이전의 모든 레이어는 학습할 수 없도록 설정되었습니다. 모델은 범주형 교차 엔트로피를 손실로, 정확도를 메트릭으로 사용하여 컴파일되며, 훈련 데이터 세트 및 유효성 검사 세트를 전달하여 fit() 메서드를 사용하여 훈련됩니다.

  • 01:50:00 이 섹션에서 강사는 훈련 및 검증 세트의 정확도에 대한 특이성을 가진 고양이와 개 이미지에 대한 VGG 16 모델 훈련 결과에 대해 논의합니다. VGG 16 모델은 이미 이미지 넷 라이브러리에서 고양이와 개 이미지에 대해 훈련을 받았고, 출력 레이어에서 수행되는 훈련은 고양이 또는 개 클래스만 출력하도록 모델을 훈련하는 것입니다. 단 5개의 에포크에서 VGG 16 모델은 훈련 정확도가 99%인 반면 검증 정확도는 98%로 이 모델이 단순한 컨벌루션 신경망과 비교하여 검증 세트의 고양이 및 개 데이터에 얼마나 잘 일반화되는지 나타냅니다. 다음 에피소드에서는 미세 조정된 VGG 16 모델이 테스트 세트의 고양이 및 개 이미지를 예측하는 추론에 사용되며 유효성 검사 세트의 정확도가 주어지면 테스트 세트에서도 좋은 결과를 기대할 수 있습니다. .

  • 01:55:00 비디오의 이 섹션에서 강사는 보이지 않는 테스트 세트에서 미세 조정된 VGG16 모델의 성능을 평가하기 위해 혼동 행렬을 사용하는 방법에 대해 설명합니다. 혼동 행렬의 대각선을 검사하여 모델이 96%의 정확도를 달성했음을 나타냅니다. VGG16 모델에 대한 미세 조정 접근 방식은 미미했지만 강사는 다음 에피소드에서 MobileNets와 같은 다른 사전 훈련된 모델에 대한 미세 조정 방법을 더 많이 다룰 것이라고 설명합니다. 이러한 더 작고 저전력 모델은 훨씬 더 작은 크기와 매개 변수 수로 인해 모바일 장치에 배포하는 데 더 적합합니다.
  • 02:00:00 비디오의 이 섹션에서 강사는 VGG 16과 같은 더 큰 모델에 대한 더 작고 빠른 대안인 MobileNets를 소개합니다. MobileNet은 이러한 무거운 모델 중 일부만큼 정확하지는 않지만 정확도 감소는 상대적으로 적습니다. 강사는 필요한 패키지 가져오기, MobileNet 모델 다운로드 및 할당, MobileNet을 통과하기 전에 이미지 크기 조정 및 형식 지정을 위한 "prepare_image"라는 함수 생성을 포함하여 Jupyter 노트북에서 MobileNet을 다운로드하고 작업하는 단계를 안내합니다. 가공용 모델. 전반적으로 초점은 다양한 딥 러닝 모델로 작업할 때 정확도와 크기/속도 사이의 장단점을 이해하고 이를 효과적으로 사용하는 방법에 있습니다.

  • 02:05:00 이 섹션에서 강사는 미리 훈련된 MobileNet 모델을 사용하여 주어진 이미지의 가능한 상위 5개 클래스를 예측하는 방법을 보여줍니다. 먼저 도마뱀 이미지를 표시하고 MobileNet의 예측 기능에 전달하기 전에 사전 처리 기능을 통과합니다. MobileNet은 높은 확률로 상위 3개 클래스를 예측하며 American Chameleon이 가장 가능성이 높습니다. 그들은 커피 한 잔의 이미지로 동일한 프로세스를 반복하고 모델은 99% 확률로 에스프레소라고 예측합니다. 마지막으로 딸기 이미지를 모델에 전달하고 가능한 상위 클래스에 대한 예측을 얻습니다.

  • 02:10:00 비디오의 이 섹션에서 발표자는 딸기 및 기타 과일을 포함하는 이미지의 임의 샘플에 대한 모바일 네트워크 모델의 예측 결과를 보여줍니다. 발표자는 모델의 정확도가 약간 감소했지만 비디오에 표시된 것과 같은 테스트를 수행할 때 눈에 띄지 않는다고 언급합니다. 다음 단계는 수화 숫자로 구성된 맞춤형 데이터 세트에 대한 모바일 네트워크 모델을 미세 조정하는 것입니다. 발표자는 Jupyter Notebook에서 프로그래밍 방식으로 처리하기 전에 디스크에서 데이터 세트를 구성하고 작업 디렉터리로 이동하는 방법을 보여줍니다.

  • 02:15:00 이 섹션에서 강사는 Python 스크립트를 사용하여 이미지 데이터를 훈련, 유효 및 테스트 디렉토리로 구성하는 방법을 설명합니다. 첫 번째 단계는 각 클래스의 샘플 수를 확인하는 것입니다. 범위는 204에서 208입니다. 그런 다음 for 루프를 사용하여 스크립트는 각 클래스 디렉토리를 train 디렉토리로 이동하고 각 클래스에 대한 유효한 및 테스트 세트에 대한 별도의 디렉토리를 만듭니다. . 마지막으로 스크립트는 train 디렉터리의 각 클래스에서 임의의 이미지를 샘플링하여 유효한 디렉터리로 이동하고 더 많은 이미지를 샘플링하여 테스트 디렉터리로 이동합니다. 스크립트를 실행한 후 데이터는 세트별로 별도의 디렉토리로 구성되며 해당 디렉토리를 확인하여 각 클래스의 이미지 수를 확인할 수 있습니다.

  • 02:20:00 비디오의 이 섹션에서 발표자는 작업할 데이터 세트의 구성 구조에 대해 논의합니다. 이는 과정 초반에 사용된 고양이 및 개 데이터 세트와 유사하지만 이제 대신 10개의 클래스를 포함합니다. 둘. 그런 다음 훈련, 검증 및 테스트 디렉토리를 정의하고 이미지 데이터 생성기를 사용하여 디렉토리 반복자를 생성하여 데이터를 전처리하는 방법을 보여줍니다. 사용되는 전처리 기능은 모바일 네트워크 전처리 기능으로 이미지 데이터를 마이너스 1에서 1로 스케일링합니다. 대상 이미지 크기 및 배치 크기와 같은 반복자 설정도 정의됩니다. 발표자는 반복자를 디스크의 데이터 세트 위치로 올바르게 가리키는 것이 중요하다고 강조합니다. 잘못된 포인팅으로 인해 0개의 이미지가 발견될 수 있기 때문입니다.

  • 02:25:00 Keras with TensorFlow 과정의 이 섹션에서 강사는 새로운 분류 작업을 위해 사전 훈련된 MobileNet 모델을 미세 조정하는 방법을 설명합니다. 첫 번째 단계는 MobileNet 모델을 다운로드하고 "model.summary()" 함수를 사용하여 레이어를 검사하는 것입니다. 그런 다음 여섯 번째에서 마지막 레이어까지 레이어를 선택하고 10개 단위로 새로운 밀도 출력 레이어를 만듭니다. 그 다음 마지막 계층에서 여섯 번째까지의 이전 계층을 모두 전달하고 모바일 네트워크를 출력 계층으로 전달하는 새로운 기능 모델을 생성합니다. 새 모델이 생성되고 다음 단계는 훈련을 위해 마지막 23개 계층을 제외한 모든 계층을 동결하는 것입니다. 강사는 고정할 레이어의 수는 개인적인 실험이 필요하며 작업에 따라 달라질 수 있다고 지적합니다.

  • 02:30:00 이 섹션에서 강사는 원래 MobileNet 모델을 미세 조정하여 마지막 23개 계층만 교육하고 출력 계층을 1,000개 대신 10개 클래스가 있는 계층으로 바꿉니다. 이 모델은 학습률이 0.0001이고 범주형 교차 엔트로피 손실 함수가 있는 Adam 옵티마이저를 사용하여 컴파일 및 학습됩니다. 30 에포크 동안 훈련한 후 모델은 훈련 세트에서 100% 정확도를 달성하고 검증 세트에서 92% 정확도를 달성합니다. 약간의 과적합이 있지만 검증 정확도가 교육 정확도보다 낮지만 강사는 더 많은 epoch를 실행하거나 하이퍼파라미터를 조정하면 과적합 문제를 줄이는 데 도움이 될 수 있다고 제안합니다.

  • 02:35:00 비디오의 이 섹션에서 강사는 테스트 세트에서 미세 조정된 모델을 사용하고 예측을 혼란 행렬에 플로팅하는 방법을 보여줍니다. 혼동 행렬은 모델이 테스트 세트에서 대부분 정확한 예측으로 잘 수행되었음을 나타냅니다. 이 모델은 테스트 세트에서 90%의 정확도를 가지며 이는 검증 세트의 정확도를 고려할 때 예상됩니다. 강사는 MobileNet의 시리즈가 맞춤형 데이터 세트에 대한 모델을 미세 조정하고 전이 학습을 사용하는 방법에 대한 통찰력을 제공했다고 강조합니다. 다음 에피소드에서는 TensorFlow의 Keras API를 사용하여 이미지에서 데이터 증대를 사용하는 방법을 보여줍니다.

  • 02:40:00 이 섹션에서는 특히 모델을 교육할 데이터가 충분하지 않은 경우 딥 러닝을 위한 데이터 증대의 중요성을 강조합니다. 데이터 증가는 과적합을 줄이고 훈련 세트의 크기를 늘리는 데 도움이 될 수 있습니다. 그런 다음 Keras를 사용하여 이미지 데이터를 보강하는 코드를 소개합니다. 여기서 이미지 데이터 생성기가 생성되고 회전 범위, 너비 이동 범위 및 줌 범위와 같은 다양한 증가 매개변수가 지정됩니다. dog 디렉토리에서 임의의 이미지가 선택되고 이 단일 이미지에서 증강 이미지 배치를 생성하기 위해 흐름 함수가 호출됩니다. 결과 증강 이미지는 사전 정의된 플롯 이미지 함수를 사용하여 플롯됩니다.

  • 02:45:00 이 섹션에서 강사는 기존 데이터의 변형을 만들어 데이터 집합의 크기를 인위적으로 늘리는 방법인 데이터 확대에 대해 설명합니다. 강사는 다른 이미지를 보면서 이동, 뒤집기 및 회전과 같이 그들에게 수행된 데이터 증가 유형을 식별하고 이 기술이 데이터 세트 성장에 어떻게 도움이 될 수 있는지 설명합니다. 데이터 세트의 다양성을 높임으로써 모델은 데이터 분류에서 더욱 견고해지고 더 잘 될 수 있습니다. 또한 강사는 이러한 증강 이미지를 디스크에 저장하고 훈련 세트에 다시 추가하는 방법에 대한 간단한 지침을 제공합니다.
 

Scikit-learn 단기집중과정 - Python용 기계 학습 라이브러리



Scikit-learn 단기집중과정 - Python용 기계 학습 라이브러리

"Scikit-learn Crash Course" 비디오는 Python에서 기계 학습을 위한 Scikit-learn 라이브러리 사용에 대한 개요를 제공합니다. 동영상은 데이터 준비, 모델 생성 및 피팅, 그리드 검색을 통한 하이퍼파라미터 튜닝, 모델 평가에 대해 다룹니다. 모델 성능을 향상시키는 전처리 및 변환기의 중요성은 표준 스케일러 및 Quantile 변환기의 예와 함께 강조됩니다. 이 비디오는 또한 모델 평가의 중요성과 문제에 대한 올바른 메트릭 선택, 원-핫 인코딩에서 불균형 데이터 세트 및 알 수 없는 범주 처리에 대해 설명합니다. 연사는 데이터 세트와 모델 예측의 잠재적 편향에 대한 이해를 강조하고 신용 카드 사기 감지의 예를 제공합니다.

비디오의 두 번째 부분에서는 그리드 검색, 메트릭, 파이프라인, 임계값 조정, 시계열 모델링 및 이상값 처리를 비롯한 여러 주제를 다룹니다. 강사는 사용자 정의 메트릭의 사용과 모델 생성에서 정밀도와 재현율의 균형의 중요성을 탐구합니다. 또한 투표 분류기는 모델 유연성과 표현력을 높이는 메타 추정기로 표시됩니다. 이 비디오는 기계 학습 알고리즘과 결합할 수 있는 규칙 기반 시스템을 구성하고 벤치마킹하는 데 도움이 되는 Human Learn 도구를 소개하며 끝납니다. 또한 FunctionClassifier 도구를 탐색하여 사용자가 분류자 모델로 사용자 지정 논리를 생성하고 이상값 감지와 같은 동작을 추가할 수 있습니다. 전반적으로 비디오는 Scikit-learn과 유연한 API에 대한 포괄적인 개요를 제공하며 모델 생성 및 사용자 지정을 위한 관련 메트릭 이해의 중요성을 강조합니다.

  • 00:00:00 데이터 y. X에는 기능 또는 입력 변수가 포함되고 Y에는 예측하려는 대상 또는 출력 변수가 포함됩니다. 데이터를 훈련 세트와 테스트 세트로 나누어 모델의 성능을 평가합니다. 다음으로 데이터를 전처리해야 합니다. 가장 중요한 전처리 기술 중 하나는 스케일링으로, 기능 값을 정규화하여 모두 유사한 범위에 속하도록 합니다. 이는 모델이 보다 효과적으로 학습하는 데 도움이 됩니다. 마지막으로 모델을 선택하고 훈련 세트에서 훈련시킵니다. 모델이 훈련되면 테스트 세트에서 성능을 평가하고 새 데이터에 대해 예측합니다. 다음 섹션에서는 전처리, 모델 평가 및 메타 추정기의 주제에 대해 자세히 살펴보겠습니다.

  • 00:05:00 이 섹션에서 연사는 기계 학습 모델을 위해 데이터를 x 및 y 세트로 분할하는 방법에 대해 설명합니다. x 세트는 예측에 사용되는 데이터를 나타내고 y 세트는 관심 있는 예측을 포함합니다. scikit-learn 라이브러리를 사용하여 사용자는 교육 목적으로 벤치마크 데이터 세트를 로드할 수 있습니다. 발표자는 또한 예측을 위해 데이터에서 학습할 모델을 만들고 피팅하는 2단계 프로세스를 설명합니다. k-최근접 이웃 모델이 예로 사용되지만 scikit-learn 내에서 여러 모델이 여전히 동일한 API를 가질 수 있는 방법을 설명하기 위해 선형 회귀 모델도 표시됩니다.

  • 00:10:00 이 섹션에서 Scikit-learn 단기 과정 동영상은 집의 평방 피트와 학교와의 근접성을 특징으로 하는 간단한 데이터 세트에서 K-최근접 이웃 모델이 작동하는 방식을 설명합니다. 이 모델은 가장 가까운 5개의 이웃을 기반으로 예측을 하지만 척도가 다른 거리를 사용할 때 문제가 발생할 수 있습니다. 즉, 한 축이 다른 축보다 예측에 훨씬 더 큰 영향을 미칠 수 있습니다. 이를 위해서는 기계 학습 모델이 무엇인지 다시 생각해야 하며 데이터가 K-최근접 이웃 모델에 제공되기 전에 사전 처리가 필요하므로 예측이 이루어지기 전에 스케일링이 수행되고 사전 내부의 모든 것이 처리 상자는 모델의 일부입니다.

  • 00:15:00 이 섹션에서 동영상은 Scikit-learn의 파이프라인 개념을 살펴봅니다. 이를 통해 학습 시 전체 파이프라인에 대해 처리 단계를 연결하고 도트 맞춤 및 도트 예측을 호출할 수 있습니다. 파이프라인을 사용하면 스케일링 및 정규화와 같은 전처리 단계를 자동으로 처리하여 데이터에서 학습하여 강력한 시스템을 보장할 수 있습니다. 그러나 이 접근 방식은 모델이 원본 데이터를 기억하도록 허용되는 문제를 야기합니다. 이 비디오는 차트가 어떻게 완벽한 예측을 잘못 제안하는지 보여주지만 모델은 원래 데이터 포인트를 기억할 수 있기 때문에 새 데이터에 대한 공정한 비교와 신뢰할 수 있는 예측 가능성을 방지하기 때문에 그렇게 할 수 있습니다.

  • 00:20:00 이 섹션에서 강사는 훈련된 동일한 데이터 세트로 모델을 판단하지 않도록 별도의 테스트 데이터 세트를 사용하여 모델의 성능을 평가하는 방법을 설명합니다. 그는 데이터 세트를 세그먼트로 나누고 하나는 훈련용으로, 다른 하나는 테스트용으로 사용할 것을 제안합니다. 또한 그는 Scikit-learn의 그리드 검색 cv 개체를 소개합니다. 이를 통해 자동화된 교차 검증을 통해 모델에서 사용할 최상의 하이퍼파라미터를 결정할 수 있습니다. 이 개체는 모델을 미세 조정하고 예측 기능을 개선하기 위해 이전에 만든 파이프라인과 함께 사용할 수 있습니다.

  • 00:25:00 이 섹션에서 강사는 KNearestNeighbors 모델의 다양한 매개변수를 살펴보고 GridSearch 개체를 사용하여 최상의 하이퍼 매개변수 집합을 찾는 방법을 보여줍니다. GridSearch 개체는 자동으로 교차 유효성 검사를 수행하고 결과를 추적하므로 쉽게 분석하고 최상의 구성을 선택할 수 있습니다. 그러나 강사는 scikit-learn으로 작업할 때 적절한 API 및 빌딩 블록을 사용하는 것이 중요하지만 사용 중인 데이터 세트를 이해하고 분석하는 것도 마찬가지로 중요하다고 강조합니다. 강사는 데이터 세트의 설명에 액세스하고 표시하는 방법을 보여주고 모델을 구축하기 전에 시간을 들여 데이터 세트의 변수를 이해하는 것이 중요함을 강조합니다.

  • 00:30:00 이 섹션에서 연사는 학습 및 예측에 사용되는 데이터를 완전히 이해하지 않고 맹목적으로 기계 학습 모델을 적용할 때 발생할 수 있는 위험에 대해 논의합니다. 마을의 특정 인종 비율과 같이 겉보기에 무해해 보이는 변수도 편향되고 심지어 인종차별적인 알고리즘으로 이어질 수 있습니다. 연사는 모델을 프로덕션 환경에 배포하기 전에 모델을 철저히 검사하고 테스트하는 것의 중요성을 강조합니다. 그리드 검색 및 기타 방법을 사용하면 통계적 보장을 제공할 수 있지만 잘못된 낙관론을 만들고 사각지대를 유발할 수도 있습니다. 사용 중인 데이터에 대해 스스로 교육하고 윤리 및 피드백 메커니즘을 고려하는 것은 물론 프로덕션에서 문제가 발생할 경우를 대비한 대체 시나리오를 고려하는 것은 사용자의 책임입니다.

  • 00:35:00 이 섹션에서는 모델 구축에서 데이터 변환의 중요성을 강조합니다. 이 비디오에서는 변압기의 사용과 모델 성능 향상에 있어 변압기의 중요성에 대해 설명합니다. Scikit-Learn의 표준 스케일러는 데이터 세트를 재조정하는 데 사용되며 성능은 좋지만 비디오는 다른 스케일링 방법을 사용하여 어떻게 개선할 수 있는지 보여줍니다. 접근 방식은 데이터 세트에서 평균을 빼고 표준 편차로 나누는 것입니다. 이 접근 방식은 데이터를 확장하는 동안 일부 알고리즘에 영향을 줄 수 있는 이상값을 남깁니다. 비디오는 원하는 모델 결과를 달성하기 위한 사전 처리의 중요성을 더욱 강조합니다.

  • 00:40:00 비디오의 이 섹션에서 화자는 정규화의 개념과 평균값 대신 분위수를 계산하여 정규화를 효과적으로 사용하는 방법에 대해 설명합니다. 분위수를 사용하면 이상값이 데이터에 미치는 영향이 줄어들고 프로세스가 더욱 견고해집니다. 발표자는 기계 학습 모델에서 더 나은 결과를 얻기 위해 표준 스케일러를 대체하는 사전 처리 단계로 Quantile 변환기를 구현하는 방법을 보여줍니다. 출력 데이터에 대한 변환기의 중대한 영향은 k-최근접 이웃 모델을 훈련하고 표준 스케일러와 분위수 변환기 모두에 대한 예측을 생성하는 플롯 출력 함수를 통해 표시됩니다.

  • 00:45:00 비디오의 이 섹션에서 발표자는 전처리가 데이터 세트 분류에 얼마나 큰 영향을 미칠 수 있는지 설명합니다. 첫 번째 예에서 화자는 Quantile Transformer를 사용하여 장기적으로 이상값을 처리하는 데 더 적합하고 모델을 더 안정적으로 만듭니다. 두 번째 예는 새 기능을 추가하여 모델의 성능을 어떻게 향상시킬 수 있는지 보여줍니다. 다항식 기능을 통해 x1 곱하기 x2 및 x1의 2승 및 x2의 2승과 같은 비선형 기능을 생성함으로써 로지스틱 회귀 모델은 거의 완벽에 가까운 분류를 생성할 수 있었습니다. 마지막으로 One Hot Encoder는 텍스트 또는 범주를 저위험, 중위험 또는 고위험과 같은 클래스를 예측하는 데 유용한 숫자 데이터로 변환하는 기술로 도입됩니다.

  • 00:50:00 이 섹션에서는 비디오에서 Scikit-learn 라이브러리로 원-핫 인코딩을 사용할 때 알 수 없는 범주를 처리하는 방법에 대해 설명합니다. 발표자는 인코더가 이전에 본 적이 없는 데이터를 변환하도록 요청하면 값 오류가 발생한다고 설명합니다. 그러나 "handle_unknown" 매개변수를 "ignore"로 조정하여 변경할 수 있습니다. 비디오는 또한 "DrawData.xyz"라는 웹 사이트를 소개합니다. 이 웹 사이트를 통해 사용자는 전처리 및 파이프라인에서 연습할 자신만의 데이터 세트를 만들 수 있습니다. 연사는 전처리 단계가 모델의 결과에 큰 영향을 미칠 수 있기 때문에 중요하다고 강조합니다. 마지막으로 비디오에서는 신용 카드 사기 데이터 세트를 예로 사용하여 여러 모델을 비교하고 예측에 가장 적합한 모델을 선택하기 위해 그리드 검색을 사용하는 이점을 설명합니다.

  • 00:55:00 이 섹션에서 동영상은 올바른 메트릭 선택의 중요성과 Scikit-learn이 이를 처리하는 방법을 설명합니다. 이 비디오는 익명화된 기능 및 거래 금액의 데이터 세트를 사용하여 Scikit-learn을 사용하여 사기 사례를 정확하게 예측하는 방법을 보여줍니다. 그러나 데이터 세트는 사기가 아닌 경우보다 더 많은 사기 사례로 불균형하므로 모델이 기본 반복 횟수로 수렴하지 못합니다. 따라서 최대 반복 횟수를 늘리고, 모델의 부정 탐지를 개선하기 위해 부정 사건의 가중치를 두 배로 클래스 가중치 매개 변수를 조정합니다. 비디오는 또한 클래스 가중치 매개 변수에 대한 최상의 값을 찾기 위해 GridSearchCV를 소개합니다.
  • 01:00:00 이 섹션에서 강사는 그리드 검색을 사용하여 scikit-learn에서 로지스틱 회귀에 대한 최상의 모델 매개변수를 찾는 방법을 설명합니다. 매개변수 값의 그리드를 정의함으로써 강사는 이러한 하이퍼 매개변수를 반복하고 교차 검증을 사용하여 테스트하는 방법을 보여줍니다. 그리드 개체는 클래스 가중치 및 점수를 포함하여 결과 사전을 반환합니다. 로지스틱 회귀 모델에는 최상의 모델을 결정하는 데 사용되는 점수라는 바인딩된 메서드가 있습니다. 그런 다음 강사는 scikit-learn 메트릭 모듈의 두 가지 메트릭인 정밀도와 재현율 점수를 소개하고 점수 사전을 사용하여 그리드 검색에 포함하는 방법을 설명합니다.

  • 01:05:00 이 섹션에서 화자는 테스트 정밀도와 테스트 리콜 점수를 추가하고 교차 유효성 검사 결과에 열차 점수를 추가할 수 있는 플래그를 설정합니다. 그런 다음 교차 유효성 검사의 수를 늘리고 4의 범위를 numpy 선형 공간으로 대체하여 더 높은 값을 설정하여 사기 사례에 집중하도록 알고리즘에 지시합니다. 그들은 결과를 요약하는 차트를 만들고 재현율이나 정밀도에 초점을 맞추면 완전히 다른 결과가 나온다는 점에 주목합니다. 그런 다음 정밀도와 재현율 사이의 최소값을 계산하고 이를 그리드 검색에 추가하는 메트릭인 최소 재현율 정밀도를 만들기로 결정합니다. 그들은 두 지표의 균형을 맞추기 위해 이를 수행하고 재현율과 정밀도 점수의 균형을 맞추는 모델을 갖습니다.

  • 01:10:00 , 우리는 y_true 및 y_pred를 입력으로 허용하는 사용자 지정 메트릭 min_precision_recall과 함께 그리드 검색에서 make_scorer 함수를 사용하고 있습니다. 그러나 make_scorer 함수에는 추정기, X 데이터 세트, y true 및 일부 형태의 샘플 가중치가 필요하므로 메트릭 함수를 그리드 검색에 사용할 수 있는 예측 스코어러 개체로 바꿉니다. 샘플 가중치는 기계 학습 모델에 전달할 수 있는 추가 기능이며 특정 행이 다른 행보다 더 중요하다고 말할 수 있습니다. make_scorer 함수를 사용하는 대신 추정기를 직접 전달하고 예측 함수로 예측된 y 값을 계산할 수 있습니다.

  • 01:15:00 이 섹션에서 발표자는 사기를 감지하는 데 샘플 가중치를 사용하는 방법에 대해 논의하고 수치 안정성을 위해 함수에 추가할 수 있는 방법을 보여줍니다. 또한 알고리즘 모델에 샘플 가중치를 추가하는 효과를 보여줍니다. 그런 다음 연사는 이상치 감지 알고리즘을 사용하여 사기를 감지할 것을 제안하고 이 접근 방식에 대한 메트릭을 조정하는 방법을 보여줍니다. 그들은 로지스틱 회귀를 격리 포리스트 알고리즘으로 대체하고 이것이 정밀도 및 재현율 점수에 어떤 영향을 미치는지 보여줍니다. 마지막으로 화자는 이상치 예측을 사기 라벨 예측으로 바꾸기 위해 메트릭 함수의 변형을 작성합니다.

  • 01:20:00 이 섹션에서 내레이터는 Scikit-learn의 API의 유연성과 사용자 지정 메트릭에 y 레이블을 전달하여 마치 분류자인 것처럼 이상값 감지 알고리즘을 사용할 수 있는 기능에 대해 설명합니다. 이것은 이상값 모델이 분류 문제에서 유용한지 판단하는 데 유용할 수 있습니다. 그러나 내레이터는 레이블의 품질이 모델의 메트릭에 상당한 영향을 미칠 수 있으므로 레이블의 품질에 관심을 갖는 것이 중요하다고 경고합니다. 또한 내레이터는 클수록 더 나은지 여부 및 일부 메트릭에 대한 확률 측정의 필요성을 지정하는 것과 같은 메트릭에 대한 일부 사용자 지정 설정을 지적합니다. 마지막으로 해설자는 Scikit-learn의 메타 모델 작업 기능에 대해 언급합니다.

  • 01:25:00 이 섹션에서 강사는 scikit-learn 파이프라인의 작동 방식과 기계 학습 모델에 scikit-learn 파이프라인만 사용할 때의 제한 사항을 설명합니다. 강사는 모델에 추가 단계 및 사후 처리 도구를 추가하기 위해 파이프라인의 한계를 우회하는 방법으로 메타 추정기를 사용할 것을 제안합니다. 강사는 메타 추정기, 투표 분류기 및 각 추정기에 가중치를 부여하여 데이터 세트에 대한 다양한 모델의 균형을 맞추는 데 사용할 수 있는 방법의 예를 제공합니다.

  • 01:30:00 이 섹션에서 강사는 더 정확한 예측을 생성하기 위해 다양한 방식으로 작동하는 다양한 모델을 결합할 수 있는 scikit-learn과 함께 투표 분류기를 사용하는 방법을 보여줍니다. 또한 이 모델은 다른 추정기의 입력으로 사용할 수 있으므로 유연성과 표현력이 향상됩니다. 강사는 또한 로지스틱 회귀 모델의 임계값을 조정하여 임계값 메타 모델을 사용하여 재현율을 위해 또는 그 반대로 정밀도를 절충하는 아이디어를 소개합니다. 이는 그리드 검색에서 임계값 모델을 사용하는 방법의 예를 통해 설명됩니다. scikit-learn에서 제공하는 이러한 기술을 사용하면 모델 매개변수를 조정하고 더 나은 성능을 얻을 수 있습니다.

  • 01:35:00 이 섹션에서 발표자는 그리드 검색을 사용하여 이진 분류기의 임계값을 조정하는 방법에 대해 이야기합니다. 그들은 임계값이 변함에 따라 정밀도와 재현율 곡선이 변하지만 정확도는 상대적으로 일정하게 유지된다는 것을 보여줍니다. 발표자는 이러한 종류의 후처리 단계가 다른 모델을 입력으로 받아들이는 메타 모델로 가장 잘 구현된다고 설명합니다. 그런 다음 연사는 Scikit-learn의 파이프라인 및 Group( byRegressor 클래스로 메타 모델을 구축하여 식단별로 데이터를 그룹화한 다음 각 그룹에 대해 다른 선형 회귀 모델을 사용하는 예를 보여줍니다. 그들은 이러한 종류의 그룹화가 다음에 유용할 수 있다고 설명합니다. 범주형 변수의 효과가 단순히 일정한 이동이 아닐 수 있는 상황.

  • 01:40:00 이 섹션에서 비디오는 시계열 작업을 설명하고 그룹화된 예측자와 더미 회귀자를 사용하여 모델링하는 방법을 보여줍니다. 중간 연도에는 예측이 양호하지만 최근에는 언더슈트하고 과거에는 오버슈트한다는 점에 주목합니다. 모델을 더 좋게 만들기 위해 비디오는 더 최근의 데이터에 집중하고 과거 데이터는 잊을 것을 제안합니다. 샘플 가중치의 개념을 도입하여 사용자가 특정 데이터 포인트의 가중치를 지정할 수 있습니다. 그런 다음 비디오는 모델에 붕괴를 추가하여 최근 데이터 포인트가 이전 데이터 포인트보다 더 중요하게 만드는 방법을 보여줍니다. 이렇게 함으로써 모델은 멀리 떨어져 있는 기록을 무시하면서 최근 데이터에서 더 표현력이 좋아지고 성능이 향상됩니다. 그러나이 트릭은 훈련 데이터가 테스트 데이터보다 성능이 떨어지는 상황을 초래할 수 있습니다.

  • 01:45:00 이 섹션에서 발표자는 규칙 기반 시스템을 구성하고 벤치마킹하는 데 도움이 되는 scikit-learn 호환 도구를 제공하도록 설계된 오픈 소스 프로젝트인 Human Learn이라는 도구를 소개합니다. 연사는 과거에는 기계 학습 알고리즘보다 데이터 분류를 위한 비즈니스 규칙 및 시스템을 마련하기 위해 인간 전문가를 사용하는 것이 더 일반적이었다고 설명합니다. 그러나 기계 학습 모델은 완벽하지 않으며 문제가 있거나 비효율적인 동작을 보일 수 있습니다. Human Learn의 목표는 기계 학습 모델에 대해 쉽게 벤치마킹할 수 있는 동시에 결합할 수 있는 규칙 기반 시스템을 구축하는 것입니다. 발표자는 Titanic 데이터 세트를 사용하여 규칙 기반 시스템을 구성하는 방법을 시연하고 Human Learn이 일상적인 워크플로에서 이러한 시스템을 보다 쉽게 통합할 수 있는 방법을 설명합니다.

  • 01:50:00 비디오의 이 섹션에서 발표자는 사용자 정의 함수를 가져와 scikit-learn 호환 분류기로 변환하는 scikit-learn의 FunctionClassifier 도구를 소개합니다. 이 도구는 또한 사용자 기능에 정의된 모든 매개변수의 그리드 검색 최적화를 허용합니다. 연사는 FunctionClassifier 도구를 사용하여 타이타닉 재해와 관련된 데이터 세트로 임계값 매개변수에 대한 그리드 검색을 수행하는 방법을 보여줍니다. 이 도구의 유연성을 통해 사용자는 분류자 모델로 사용자 지정 논리를 사용하여 모든 Python 함수를 생성하고 이상값 감지와 같은 동작을 추가할 수 있습니다.

  • 01:55:00 이 섹션에서 강사는 기존 기계 학습 모델에서 이상값을 처리하는 방법을 설명합니다. 모델 앞에 논리를 추가하면 이상값을 식별하고 다른 레이블을 할당할 수 있습니다. 이 패키지를 사용하면 기존 기계 학습 모델을 사용하여 규칙 기반 시스템을 구축할 수 있으므로 자연 지능과 인공 지능 간의 균형을 맞출 수 있습니다. 강사는 scikit-lego 패키지와 load penguins 기능을 사용하여 속성을 기반으로 펭귄의 종을 효율적으로 예측하는 방법을 설명합니다. 이 기능은 대화형 차트를 사용하고 강사는 분류가 필요한 데이터 포인트 주위에 다각형을 그립니다. 그런 다음 point-in-poly 알고리즘을 사용하여 데이터 포인트를 분류합니다. 대화형 분류기를 사용하면 json blob에서 scikit-learn 호환 모델을 정의할 수 있습니다. 그런 다음 데이터 프레임에서 x 및 y 데이터 세트를 생성할 수 있으며 모델은 모든 순환기 모델처럼 사용할 수 있습니다.
  • 02:00:00 이 섹션에서 발표자는 그려진 기계 학습 모델의 속성과 이점을 강조합니다. 그는 Matplotlib의 차트 기능을 사용하여 그려진 모델이 새로운 예에 대한 분류를 예측하고 누락된 데이터를 효과적으로 처리하는 방법을 보여줍니다. 또한 발표자는 점이 다각형 외부에 있는지 확인하여 동일한 그림을 이상치 감지 시스템으로 사용할 수 있는 방법을 보여줍니다. 그는 또한 라벨을 쉽게 사용할 수 없는 경우에도 그리기 메커니즘을 사용하여 데이터 포인트에 라벨을 할당하는 방법을 보여주어 유용한 전처리 단계로 만듭니다.

  • 02:05:00 이 섹션에서 발표자는 비교적 실험적이며 scikit-learn 변환기 또는 pandas 파이프라인에서 데이터 포인트의 모양과 관련된 개수가 있는 두 개의 새로운 열을 추가할 수 있는 Interactive Charts API에 대해 설명합니다. 다각형. 연사는 비즈니스 규칙과 함께 기계 학습 알고리즘을 사용하여 규칙 기반 시스템을 만들 것을 권장합니다. 또한 연사는 기계 학습 및 scikit-learn에 대해 자세히 알아보기 위해 freeCodeCamp, 파이 데이터 YouTube 채널 및 scikit-learn 설명서 페이지와 같은 여러 리소스를 제안합니다.
 

딥 러닝 및 기계 학습을 위한 PyTorch - 전체 과정(1-4부)


딥 러닝 및 기계 학습을 위한 PyTorch - 전체 과정

00:00:00 - 01:00:00 "PyTorch for Deep Learning & Machine Learning" 온라인 과정 강사인 Daniel Bourke가 시청자에게 Python 코드를 사용하여 PyTorch에서 기계 학습 개념을 구현하는 데 중점을 둔 과정을 소개합니다. 과정에서 다루는 주요 주제에는 전이 학습, 모델 배포 및 실험 추적이 포함됩니다. 이 비디오는 머신 러닝과 딥 러닝에 대한 소개와 차이점을 제공합니다. 딥 러닝은 대량의 데이터가 필요한 복잡한 문제에 더 적합하고 구조화되지 않은 데이터에 대한 통찰력을 제공합니다. 신경망의 구조를 설명하고 지도 학습 및 전이 학습과 같은 기계 학습의 다양한 패러다임을 다룹니다. 또한 이 비디오는 특히 객체 감지 및 자연어 처리에서 딥 러닝의 잠재적인 응용 분야를 탐색합니다. 마지막으로 연구 방법론을 표준화하고 GPU에서 기계 학습 코드를 실행하여 수치 계산을 효율적으로 마이닝하는 것과 같은 PyTorch의 이점에 대해 설명합니다.

01:00:00 - 02:00:00 이 부분에서는 PyTorch의 기본 사항, 데이터 사전 처리, 사전 훈련된 딥 러닝 모델 구축 및 사용, 데이터 세트에 모델 맞추기, 예측 수행 및 모델 예측 평가를 다룹니다. 강사는 GitHub, 토론 및 learnpytorch.io를 포함한 과정의 리소스 사용뿐만 아니라 실험, 시각화 및 질문의 중요성을 강조합니다. 또한 학습자는 더 빠른 컴퓨팅 시간, 사전 설치된 PyTorch 및 기타 데이터 과학 패키지를 위해 GPU 또는 TPU 가속을 사용할 수 있는 기능을 제공하는 Google Colab을 소개받습니다. 이 과정은 딥 러닝의 기본 구성 요소인 텐서에 대해 심도 있게 다루며 스칼라, 벡터 및 매트릭스 텐서를 포함하여 다양한 차원과 모양을 가진 텐서를 만드는 방법을 보여줍니다. 이 과정은 또한 임의 텐서, 0과 1의 텐서 생성, 데이터 유형, 장치 지정 방법을 다루고 텐서를 생성할 때 등급 매개변수가 필요합니다.

02:00:00 - 03:00:00 이 PyTorch 자습서에서 강사는 문제 해결, 조작, 행렬 곱셈, 전치 및 집계를 포함하여 텐서 작업의 다양한 측면을 다룹니다. 딥 러닝 모델로 작업할 때 올바른 텐서 모양과 데이터 유형을 유지하는 것의 중요성을 설명하고 PyTorch 명령을 사용하여 이러한 매개변수를 확인하고 변경하는 방법을 보여줍니다. 이 자습서에는 행렬 곱셈 연습 및 텐서의 위치 최소값 및 최대값 찾기와 같은 시청자를 위한 과제가 포함되어 있으며 for 루프에서 벡터화 사용과 같이 일반적인 모양 오류를 방지하고 성능을 개선하는 데 유용한 팁을 제공합니다. 또한 강사는 텐서를 재구성, 쌓기, 압착 및 압착 해제하기 위한 몇 가지 유용한 PyTorch 함수를 소개합니다.

03:00:00 - 04:00:00 이 파트에서는 reshape, view, stacking, squeeze, unsqueeze 및 permute와 같은 텐서 조작 방법을 포함하여 PyTorch와 관련된 다양한 주제를 다룹니다. 강사는 코드 예제를 제공하고 기계 학습 및 딥 러닝에서 텐서 모양 조작의 중요성을 강조하며 시청자에게 텐서를 인덱싱하여 특정 값을 반환하도록 도전합니다. 이 과정은 또한 PyTorch 텐서와 NumPy 배열 사이의 데이터 변환과 각각의 기본 데이터 유형, 신경망의 재현성 개념 및 실험에서 무작위성을 줄이기 위한 무작위 시드 사용을 다룹니다. 강사는 더 빠른 계산을 위해 GPU에 액세스하는 방법을 설명하고 자체 GPU를 사용하거나 GCP, AWS 또는 Azure와 같은 클라우드 컴퓨팅 서비스를 사용하는 Google Colab, Colab Pro와 같은 옵션을 제공합니다.

04:00:00 - 05:00:00 이 파트에서는 PyTorch로 GPU 액세스를 설정하는 방법, PyTorch에서 nn 모듈 사용, 선형 회귀 모델 생성 등 초보자를 위한 광범위한 주제를 다룹니다. 강사는 다양한 장치에서 실행하고 텐서와 모델이 저장되는 장치 유형을 염두에 두기 위해 장치에 구애받지 않는 코드의 중요성을 강조합니다. 이 과정에는 배운 내용을 연습할 수 있는 연습과 추가 커리큘럼도 포함되어 있으며 강사는 Colab에서 연습에 접근하는 방법에 대한 팁을 제공합니다. 이 과정에서는 기계 학습 모델의 교육 및 평가, 일반화를 위한 교육 및 테스트 세트로 데이터 분할, 데이터 시각화를 다룹니다. 강사는 순수 PyTorch를 사용하여 선형 회귀 모델을 만드는 방법을 설명합니다. 여기에는 init 함수로 생성자를 만들고, nn.parameter를 사용하여 가중치 매개변수를 만들고, torch.rand를 사용하여 임의 매개변수로 설정하는 작업이 포함됩니다.

05:00:00 - 06:00:00 이 부분에서는 PyTorch를 사용하여 선형 회귀 모델 만들기, PyTorch를 통한 경사 하강법 및 역전파와 같은 최적화 알고리즘 구현, PyTorch 모델의 예측력 테스트 방법 이해와 같은 주제를 다룹니다. 예측할 때 torch.inference_mode 컨텍스트 관리자를 사용하고, 모델 매개변수를 초기화하고, 손실 함수를 사용하여 모델 예측의 정확도를 측정하고, 모델 매개변수를 최적화하여 모델의 정확도를 개선하는 것의 중요성에 대해서도 설명합니다. 또한 torch.nn, torch.nn.module, torch.optim 및 torch.utils.dataset를 포함한 PyTorch의 기본 모듈이 제공됩니다.

06:00:00 - 07:00:00 이 부분에서는 PyTorch 및 기계 학습의 다양한 측면을 다룹니다. 한 섹션은 데이터 루핑, 손실 계산, 역전파 수행을 포함하여 PyTorch에서 훈련 루프를 구축하는 데 필요한 단계에 중점을 두었습니다. 강사는 적절한 손실 함수와 옵티마이저 선택의 중요성을 강조하고 경사하강법의 개념을 소개했습니다. 다른 섹션에서는 옵티마이저와 학습률, 그리고 모델의 매개변수에 미치는 영향에 대해 설명했습니다. 비디오는 또한 테스트의 중요성을 강조하고 테스트 예측 생성 및 테스트 손실 계산에 대한 개요를 제공했습니다. 이 과정은 역전파 및 경사하강법의 수학적 배경에 관심이 있는 사람들을 위한 추가 리소스를 제공합니다.

07:00:00 - 08:00:00 이 부분에서는 PyTorch와 관련된 여러 주제를 다룹니다. 이 과정에서는 손실 값을 기록하고 감소 추세를 보여야 하는 손실 곡선을 플로팅하여 모델의 진행 상황을 추적하는 것의 중요성에 대해 설명합니다. 강사는 상태 사전 저장, torch.nn.module.loadStateDict 메서드 또는 torch.load 메서드를 사용하여 모델 로드, 로드된 모델 테스트를 포함하는 PyTorch 모델 저장 및 로드 방법을 설명합니다. 이후 섹션에서는 nn.module을 서브클래싱하여 선형 회귀 모델을 만들고 선형 레이어와 같은 PyTorch의 기존 모델을 사용하는 방법을 다룹니다.

08:00:00 - 09:00:00 이 부분은 딥 러닝 및 기계 학습 영역의 광범위한 주제를 다룹니다. 첫 번째 섹션에서는 torch.nn에서 사용할 수 있는 다양한 계층, 이러한 계층의 사전 구축된 구현, 손실 및 최적화 기능을 사용하여 PyTorch 모델을 교육하는 방법을 다룹니다. 후속 섹션에서 강사는 장치에 구애받지 않는 코드의 중요성, PyTorch 모델 저장 및 로드, 분류 문제에 접근하는 방법을 설명합니다. 강사는 예제를 제공하고 입력에 대한 수치 인코딩의 중요성, 사용자 정의 데이터 생성 및 숨겨진 계층, 뉴런, 손실 함수 및 최적화 프로그램과 같은 분류 모델과 관련된 설계 복잡성을 강조합니다. 마지막으로 강사는 데이터로 기계 학습 문제를 시작하는 것이 가장 중요한 단계임을 강조합니다.

09:00:00 - 10:00:00 이 부분에서는 이진 분류를 위해 PyTorch를 사용하여 신경망을 만들고 훈련하는 방법에 대한 개요를 제공합니다. 이 비디오는 사용자 정의 데이터 세트 생성, 입력 및 출력 형태 확인, 교육용 데이터 준비, 모델 생성 및 GPU로 전송, 모델에 대한 최적화 및 손실 함수 선택, 예측 수행 등 다양한 주제를 다룹니다. 이 과정에는 이러한 개념에 대한 실용적인 데모가 포함되어 있으며 기계 학습 프로젝트에 PyTorch를 사용하는 것에 대한 포괄적인 이해를 제공하는 것을 목표로 합니다.

10:00:00 - 11:00:00 이 부분에서는 손실 함수, 옵티마이저, 활성화 함수, 교육 루프 및 평가 메트릭을 포함한 여러 주제를 다룹니다. 강사는 손실 함수 및 옵티마이저 설정, 정확도 함수 생성, 원시 로짓을 예측 확률 및 레이블로 변환하는 방법을 설명합니다. 이 과정은 또한 BCE 손실과 로짓 손실이 있는 BCE의 차이와 분류 모델의 테스트 손실 및 정확도를 계산하는 방법을 검토합니다. 또한 강사는 신경망의 깊이 증가, 하이퍼파라미터 조정, 외부 Python 스크립트에서 도우미 함수 가져오기 및 사용과 같은 모델 성능 향상에 대한 팁을 제공합니다.

11:00:00 - 12:00:00 이 부분에서 강사는 히든 유닛 수, 레이어 수, 에포크 수와 같은 하이퍼파라미터를 변경하여 모델을 개선하는 방법을 설명하고 테스트의 중요성을 강조합니다. 개선 또는 저하를 식별하기 위해 한 번에 하나씩 변경합니다. 또한 매개변수와 하이퍼 매개변수 간의 차이점과 이러한 구분이 중요한 이유에 대해서도 설명합니다. 또한 강사는 모델이 작동하지 않을 때 문제 해결 기술을 다루고 머신 러닝 및 딥 러닝 모델에서 비선형성의 중요성을 소개합니다. 강사는 선형 및 비선형 회귀 문제를 포함한 다양한 예제를 통해 이러한 개념을 시연하고 다양한 하이퍼파라미터 및 손실 함수를 테스트하면서 모델을 훈련 및 평가하는 방법을 보여줍니다.

12:00:00 - 13:00:00 이 심층 학습 및 기계 학습용 PyTorch 과정은 모델 구축을 위한 기본에서 고급 PyTorch 개념을 다룹니다. 강사는 비선형성의 개념을 소개하고 PyTorch에서 비선형성을 사용하여 분류 모델을 구축하는 방법을 시연합니다. 또한 옵티마이저, 손실 함수 및 사용자 지정 활성화 함수를 구축하는 방법에 대해서도 설명합니다. 선형 및 비선형 함수를 결합하여 데이터에서 패턴을 찾고 이러한 함수의 계층을 쌓아 모델을 생성하는 것의 중요성을 강조합니다. 이 과정은 이진 및 다중 클래스 분류 모델을 모두 다루고 PyTorch에서 이를 설정하는 방법을 설명합니다. 이 섹션은 입력 기능과 출력 기능을 사용하여 다중 클래스 분류 모델을 초기화하는 방법을 보여줌으로써 결론을 내립니다.

13:00:00 - 14:00:00 이 부분의 강사는 다중 클래스 분류를 수행하기 위해 PyTorch의 nn.Sequential 메서드를 사용하여 선형 레이어 스택 모델을 만드는 방법에 대해 설명합니다. 교차 엔트로피 손실과 확률적 경사하강법(SGD)을 사용하여 손실 함수와 옵티마이저를 생성하는 방법을 설명합니다. 또한 강사는 드롭아웃 계층과 오류를 해결하기 위한 기계 학습 코드 문제 해결의 중요성에 대해 설명합니다. 정확도, 정밀도, 재현율, F1 점수, 혼동 행렬, torchmetrics 및 scikit-learn 라이브러리를 사용한 분류 보고서와 같은 다양한 분류 평가 방법을 사용하여 훈련된 모델의 평가를 시연합니다. 마지막으로 강사는 torchmetrics 패키지를 사용하여 PyTorch에서 사전 구축된 메트릭 함수를 가져오고 사용하는 방법을 보여주고 자세한 탐색을 위해 torchmetrics 모듈 및 과외 기사에 대한 링크를 제공합니다.

14:00:00 - 15:00:00 이 파트에서는 기계 학습을 사용하는 PyTorch 및 컴퓨터 비전과 관련된 다양한 주제를 다룹니다. 여기에는 이진 또는 다중 클래스 분류 문제와 같은 컴퓨터 비전 문제 이해, 기계 학습 모델이 다양한 이미지 예제에서 패턴을 학습하는 방법 학습이 포함됩니다. 이 비디오는 또한 TorchVision과 같은 PyTorch 라이브러리와 여기에 데이터 세트, 사전 훈련된 모델, 비전 데이터를 기계 학습 모델에서 사용할 수 있는 숫자로 조작하기 위한 변환이 포함된 방법에 대해 설명합니다. 또한 강사는 FashionMNIST 데이터세트의 입력 및 출력 형태, 잠재적인 문제를 식별하기 위한 데이터세트 시각화 및 탐색의 중요성을 다루고 PyTorch 및 Matplotlib를 사용하여 이미지 데이터를 플롯하고 시각화하는 방법에 대한 데모를 제공합니다.

15:00:00 - 16:00:00 딥 러닝 및 기계 학습을 위한 PyTorch에 대한 이 비디오 과정은 데이터 준비와 PyTorch 데이터 세트 및 데이터 로더 사용의 중요성을 다룹니다. 딥러닝에서 미니배치의 개념을 강조하고 배치 크기 하이퍼파라미터를 32로 설정한 PyTorch를 사용하여 열차 및 테스트 데이터 로더를 생성하는 과정을 설명합니다. 배치에서 이미지를 시각화하는 것의 중요성에 대해 논의하고 개념 PyTorch 모델에서 사용하기 위해 다차원 데이터를 단일 벡터로 변환하기 위해 병합이 도입되었습니다. 평면화 계층과 두 개의 선형 계층으로 간단한 신경망 모델을 만드는 과정을 다루고 Python 기계 학습 프로젝트에서 도우미 함수를 사용하는 개념을 설명합니다. 마지막으로, 모델이 학습하는 데 걸리는 시간을 측정하기 위한 타이밍 기능의 중요성과 진행률 표시줄에 TQDM을 사용하는 방법을 설명합니다.

16:00:00 - 17:00:00 과정의 이 부분에서는 교육 및 테스트 루프 설정, 일반적인 오류 문제 해결, 모델 평가 및 예측을 시작으로 PyTorch와 관련된 다양한 주제를 다룹니다. 강사는 주어진 데이터 세트에 대한 최상의 신경망 모델을 찾기 위한 실험의 중요성을 강조하고 비선형 데이터 모델링을 위한 비선형성의 이점에 대해 논의합니다. 또한 PyTorch에서 도우미 함수를 만들고, 루프를 최적화 및 평가하고, 교육 및 테스트 단계를 수행하는 방법을 보여줍니다. 이 과정은 장치에 구애받지 않는 코드와 CPU 및 GPU에서 훈련 모델의 이점을 추가로 탐구하고 두 장치에서 훈련 시간을 측정하는 방법에 대한 데모로 결론을 내립니다.

17:00:00 - 18:00:00 이 파트에서는 딥 러닝 및 머신 러닝의 많은 주제를 다룹니다. 강사는 딥 러닝 모델을 생성 및 테스트하고, PyTorch를 사용하여 CNN(컨볼루션 신경망)을 구축하고, PyTorch에서 블록을 생성하는 방법을 시연합니다. 또한 이 자습서에서는 PyTorch 모델의 구성과 컨볼루션이 실제로 작동하는 방식, 컨볼루션 레이어의 보폭 및 패딩 값 변경, PyTorch의 컨볼루션 및 최대 풀링 레이어에 대해 설명합니다. 비디오 전체에서 강사는 리소스를 공유하고 PyTorch 코드와 단계별 설명을 제공하며 효율적이고 재사용 가능한 코드를 만드는 방법에 대한 지침을 제공합니다.

19:00:00 - 20:00:00 이 부분에서는 기계 학습 모델 예측 시각화, PyTorch에서 혼동 행렬을 사용하여 다중 클래스 분류 모델 평가, Google Colab에서 패키지 설치 및 업그레이드, PyTorch 저장 및 로드와 같은 다양한 주제를 다룹니다. 모델 및 사용자 정의 데이터 세트 작업. 이 과정은 또한 PyTorch를 사용하여 컴퓨터 비전 모델을 구축하는 과정을 보여줍니다. 강사는 데이터 로딩 기능 및 사용자 정의 가능한 데이터 로딩 기능을 위한 도메인 라이브러리 활용의 중요성을 강조하고 비전, 텍스트, 오디오, 추천 등 다양한 범주에 대한 예제를 제공합니다. 또한 learn pytorch.io 웹 사이트 및 PyTorch 딥 러닝 저장소와 같은 유용한 리소스를 제공합니다.

20:00:00 - 21:00:00 이 PyTorch for Deep Learning & Machine Learning 과정의 강사는 Food 101 데이터 세트를 소개하면서 시작하지만 3가지 음식 범주가 포함된 더 작은 하위 집합과 연습할 때 이미지의 10%만 제공합니다. 파이토치. 강사는 데이터를 위한 별도의 디렉터리를 갖는 것의 중요성을 강조한 다음 Python 이미지 라이브러리 Pillow 및 PyTorch 메서드를 사용하여 이미지를 열고 시각화하고 변환하는 방법을 보여줍니다. 이 섹션에서는 이미지 크기 조정 및 뒤집기와 같은 PyTorch를 사용한 데이터 변환도 다루고 강사는 PyTorch를 사용하여 기계 학습 모델을 위해 이미지를 텐서로 로드하고 변환하는 방법을 시연합니다. 이 섹션은 PyTorch에서 사용할 수 있는 다양한 이미지 변환 옵션을 탐색하기 위한 제안으로 끝납니다.

21:00:00 - 22:00:00 이 PyTorch 과정에서 강사는 이미지 데이터를 텐서로 로드 및 변환하는 방법, 교육 및 테스트를 위한 데이터 로더를 생성 및 사용자 정의하고 사용자 정의 데이터 로딩 클래스를 생성하는 방법을 설명합니다. 모든 이미지에 대한 변환을 사용자 정의하는 데 사용할 수 있는 사전 구축된 데이터 세트 기능인 이미지 폴더의 기능을 보여줍니다. 또한 디렉토리에서 클래스 이름 및 매핑을 가져오는 함수 생성, torch.utils.data.Dataset의 하위 클래스 지정, 항목 가져오기 및 len 메서드 덮어쓰기를 포함하여 사용자 지정 데이터 로더를 구축하는 데 필요한 단계를 안내합니다. 데이터 로더의 사용자 정의 기능은 유용하지만 오류가 있는 코드를 작성할 위험이 있습니다.

22:00:00 - 23:00:00 과정의 이 부분에서는 PyTorch에서 사용자 지정 데이터 세트 및 사용자 지정 로더를 만들고 활용하는 방법과 데이터 증대 기술을 구현하는 방법을 다룹니다. 강사는 PyTorch 라이브러리를 사용하여 컨볼루션 신경망을 구축하는 방법을 시연하고 커널 크기 및 보폭과 같은 하이퍼파라미터를 포함하여 실험할 영역에 대한 조언을 제공합니다. 이 과정에서는 증강 파이프라인을 테스트하고 사소한 증강 기술을 활용하여 모델 정확도를 개선하는 방법도 다룹니다. 이 과정에서 얻은 교훈에는 PyTorch의 유연성과 기본 데이터 세트 클래스에서 상속하여 사용자 지정 데이터 세트 로딩 함수를 생성하는 기능이 포함됩니다.

23:00:00 - 24:00:00 강사는 모델의 모양 오류 문제 해결, Torch Info를 사용하여 PyTorch 모델의 요약 인쇄, 평가를 위한 학습 및 테스트 단계 기능 생성을 포함하여 심층 학습 및 기계 학습을 위한 PyTorch의 다양한 측면을 다룹니다. 더 쉬운 모델 교육을 위해 데이터 세트에 대한 성능을 제공하고 이러한 기능을 학습 기능으로 결합합니다. 또한 강사는 딥 러닝 모델의 교육 프로세스 타이밍, 시간 경과에 따른 모델 진행 상황을 추적하기 위한 손실 곡선 플로팅, 계층 추가 또는 학습 속도 조정과 같은 다양한 설정을 실험하여 모델 성능 평가에 대해 논의합니다. 궁극적으로 이러한 기술은 PyTorch를 사용하여 고급 모델을 구축하고 평가하기 위한 견고한 기반을 제공합니다.

24:00:00 - 25:00:00 PyTorch for Deep Learning & Machine Learning 과정의 이 섹션에서 강사는 모델의 과적합 및 과소적합의 개념과 데이터 증대, 조기 중지 및 모델 단순화. 손실 곡선을 사용하여 시간 경과에 따라 모델의 성능을 평가하는 것의 중요성을 강조하고 다양한 모델의 성능을 비교할 수 있는 도구를 제공합니다. 또한 이 섹션에서는 예측을 위해 사용자 지정 이미지를 준비하는 방법을 다루고 torch vision.io를 사용하여 이미지를 PyTorch에 로드하고 텐서로 변환하는 방법을 보여줍니다. 강사는 모델을 통해 이미지를 전달하기 전에 크기를 조정하고 float32로 변환하고 올바른 장치에 넣어야 할 수도 있다고 말합니다.

25:00:00 - 26:35:00 PyTorch 과정의 이 부분에서는 데이터 유형 및 모양, PyTorch의 변환 패키지를 사용하여 이미지 데이터를 변환하고 사전 훈련된 모델을 사용하여 사용자 정의 데이터에 대한 예측과 같은 다양한 주제를 다룹니다. 데이터가 모델에 공급되기 전에 올바른 형식인지 확인하려면 데이터를 전처리하고 0과 1 사이로 크기를 조정하고 필요한 경우 변환하고 올바른 장치, 데이터 유형 및 모양이 있는지 확인하는 것이 중요합니다. . 또한 강사는 학습자가 PyTorch 사용자 지정 데이터 세트 연습을 수행하여 연습하도록 권장하고 솔루션을 참조로 제공합니다. 강사는 또한 학습, pytorch 모델 실험 추적, pytorch 종이 복제 및 pytorch 모델 배포와 같은 주제를 다루는 learnpytorch.io에서 탐색할 5개의 추가 챕터가 있다고 언급합니다.


1 부

  • 00:00:00 비디오의 이 섹션에서는 강사인 Daniel Bourke가 시청자에게 PyTorch 과정을 소개하고 초보자에게 친숙한 비디오 자습서에 대한 기대치를 설정합니다. 이 과정의 초점은 Python 기반 프레임워크인 PyTorch에서 기계 학습 개념을 구현하는 데 있으며 시청자는 코드를 작성하여 학습하게 됩니다. Bourke는 이 과정이 전이 학습, 모델 배포 및 실험 추적과 같은 중요한 주제를 다룰 것이며 시청자가 PyTorch에 대해 더 알고 싶다면 learn pytorch.io에서 사용할 수 있는 추가 리소스가 있다고 언급했습니다. 마지막으로 Bourke는 기계 학습을 알고리즘과 수학을 사용하여 데이터를 숫자로 바꾸고 패턴을 찾는 과정으로 정의하고 과정의 초점은 코드 작성에 있지만 시청자가 수학에 더 깊이 빠져들고 싶다면 추가 리소스를 찾을 수 있다고 설명합니다. 코드 뒤에.

  • 00:05:00 이 섹션에서는 기존 프로그래밍과 기계 학습의 차이점에 대해 설명합니다. 전통적인 프로그래밍에는 작업에 대한 규칙 작성이 포함되며 기계 학습 알고리즘은 입력 및 출력 데이터를 기반으로 규칙을 파악합니다. 전통적인 프로그래밍보다 기계 학습을 사용하는 이유는 모든 규칙을 수동으로 작성하는 것이 번거로워지는 복잡한 문제 때문입니다. 기계 학습은 숫자로 변환할 수 있는 한 무엇이든 사용할 수 있지만 Google의 기계 학습 제1 규칙은 기계 학습으로 전환하기 전에 먼저 간단한 규칙 기반 시스템을 구축하려고 시도하는 것입니다.

  • 00:10:00 이 섹션에서 강사는 딥 러닝이 좋은 점과 좋지 않은 점에 대해 논의합니다. 딥 러닝은 긴 규칙 목록이 필요한 문제를 해결하고, 지속적으로 변화하는 환경을 처리하고, 대규모 데이터 세트 내에서 통찰력을 발견하는 데 유용합니다. 그러나 딥 러닝 모델이 학습한 패턴은 일반적으로 사람이 해석할 수 없기 때문에 딥 러닝은 설명 가능성이 필요한 작업에는 적합하지 않습니다. 또한 간단한 규칙 기반 시스템으로 당면한 문제를 해결할 수 있다면 딥 러닝 대신 이를 사용하는 것이 더 나을 수 있습니다.

  • 00:15:00 딥 러닝 및 머신 러닝을 위한 PyTorch 전체 과정의 이 섹션에서 강사는 머신 러닝과 딥 러닝을 비교합니다. xg 부스트와 같은 그래디언트 부스트 기계와 같은 기존 기계 학습 기술은 행과 열의 구조화된 데이터에 가장 적합합니다. 자연어나 이미지와 같은 구조화되지 않은 데이터의 경우 일반적으로 딥 러닝이 더 나은 선택입니다. 딥 러닝 모델은 확률론적입니다. 즉, 규칙 기반 시스템은 예측 가능한 결과를 생성하는 반면 결과에 베팅합니다. 또한 딥러닝 모델은 좋은 결과를 내기 위해서는 많은 양의 데이터가 필요하지만 적은 데이터로도 좋은 결과를 얻을 수 있는 기술이 있습니다.

  • 00:20:00 이 섹션에서는 강사가 구조화 데이터와 비구조화 데이터의 차이점과 기계 학습 및 딥 러닝에서 각 유형에 사용되는 알고리즘을 설명합니다. 구조화된 데이터는 랜덤 포레스트 및 그래디언트 부스트 머신과 같은 얕은 알고리즘과 잘 작동하는 반면 구조화되지 않은 데이터에는 신경망이 필요합니다. 그런 다음 강사는 완전히 연결된 신경망, 컨볼루션 신경망, 순환 신경망 및 변환기와 같은 신경망 유형에 대해 자세히 설명합니다. 강사는 신경망의 기본 구성 요소를 학습하면 다른 유형의 신경망을 이해하기가 더 쉬워진다고 조언합니다. 이 섹션은 시청자가 다음 비디오를 보기 전에 신경망에 대한 자신만의 정의를 조사하고 형성하도록 격려하는 강사로 끝납니다.

  • 00:25:00 PyTorch 과정의 이 섹션에서 강사는 신경망과 해당 구조에 대한 개요를 제공합니다. 신경망은 입력 데이터를 숫자로 변환하는 입력 계층, 데이터의 패턴을 조작하고 학습하는 다중 숨겨진 계층 및 학습된 표현을 출력하는 출력 계층으로 구성됩니다. 숨겨진 레이어의 노드 수는 사용자 정의할 수 있으며 신경망은 자체적으로 기능 또는 가중치라고도 하는 표현을 학습합니다. 이미지용 CNN 및 자연어 처리용 변환기와 같은 다양한 유형의 신경망을 다양한 문제에 사용할 수 있습니다. 신경망이 표현을 출력하면 인간이 이해할 수 있는 형식으로 변환할 수 있습니다. 신경망의 해부학적 구조는 몇 개에서 100개 이상에 이르는 레이어 수로 사용자 정의할 수도 있습니다.

  • 00:30:00 이 섹션에서는 신경망의 구조를 설명합니다. 신경망은 입력 레이어, 각각 많은 뉴런 또는 숨겨진 유닛이 있는 하나 이상의 숨겨진 레이어 및 출력 레이어로 구성됩니다. 패턴과 데이터 세트는 선형 및 비선형 함수를 사용하여 수치 데이터로 변환됩니다. 패턴은 원하는 결과를 생성하기 위해 선형 및 비선형 함수의 조합을 사용하여 그려집니다. 데이터와 레이블을 함께 사용하는 지도 학습과 데이터만 사용하는 비지도 학습 등 다양한 학습 패러다임이 논의됩니다. 자기 지도 학습 알고리즘은 데이터를 사용하여 패턴을 찾는 반면 전이 학습은 다른 모델에서 이미 학습된 패턴을 사용하는 것입니다.

  • 00:35:00 이 섹션에서 강사는 기계 학습의 다양한 패러다임, 특히 지도 학습, 전이 학습 및 강화 학습에 대해 설명합니다. 이 과정에서는 감독 학습 및 전이 학습에 중점을 두지만 강사는 학습자가 자신의 시간에 강화 학습을 탐색하도록 권장합니다. 또한 강사는 추천 시스템, 번역, 음성 인식 및 컴퓨터 비전과 같은 딥 러닝이 사용되는 예를 제공합니다. 숫자로 변환하고 패턴을 찾도록 프로그래밍할 수 있는 모든 것이 기계 학습 알고리즘에 사용될 수 있으므로 기계 학습의 다양성이 강조됩니다.

  • 00:40:00 비디오의 이 섹션에서 강사는 범인의 차를 식별하기 위해 뺑소니 사건을 캡처하기 위해 컴퓨터 비전을 사용하는 물체 감지와 같은 딥 러닝의 잠재적인 응용에 대해 논의합니다. 강사는 자연어 처리의 개념과 스팸 탐지에 사용되는 방법을 설명합니다. 그런 다음 비디오는 Python에서 빠른 딥 러닝, 사전 구축된 모델에 대한 액세스 및 가속화된 GPU 성능을 허용하는 가장 인기 있는 연구 딥 러닝 프레임워크인 PyTorch의 기초를 다룹니다. PyTorch 웹 사이트는 과정에 필요한 리소스로 식별됩니다.

  • 00:45:00 이 섹션에서 강사는 가장 인기 있는 딥 러닝 연구 프레임워크라고 주장하는 PyTorch에 대해 설명합니다. 그는 코드가 있는 기계 학습 논문을 추적하는 Papers with Code를 인용하여 PyTorch의 인기를 입증했으며 사이트에서 추적한 65,000개의 논문 중 58%가 PyTorch로 구현되었음을 보여줍니다. 또한 그는 Facebook/Meta, Tesla, Microsoft 및 OpenAI와 같은 회사에서 사용하고 연구 방법론을 표준화하는 능력을 포함하여 PyTorch의 인기에 대한 다양한 이유를 제공합니다. 강사는 또한 Francois Chale의 트윗에서 PyTorch를 상당한 투자나 엔지니어링 팀 없이 누구나 문제를 해결하는 데 사용할 수 있는 도구로 칭찬했습니다. 전반적으로 강사는 PyTorch가 다양한 생태계와 업계 거물 사이에서 높은 채택률로 연구에서 선호하는 제품이라고 결론지었습니다.

  • 00:50:00 딥 러닝 및 기계 학습을 위한 PyTorch 과정의 이 섹션에서 강사는 농업 및 Facebook 및 Microsoft와 같은 소셜 미디어 플랫폼과 같은 PyTorch의 다양한 응용 프로그램에 대해 논의합니다. 또한 그는 PyTorch를 통해 사용자가 특히 병렬 처리에서 수치 계산을 수행하는 데 매우 효율적인 GPU에서 기계 학습 코드를 실행할 수 있는 방법을 설명합니다. PyTorch는 CUDA를 활용하여 기계 학습 코드가 NVIDIA GPU에서 실행될 수 있도록 하고 TPU를 사용할 수 있지만 PyTorch 코드를 실행할 때 GPU가 더 많이 사용되는 경향이 있습니다. 더불어 "텐서란 무엇인가?"라는 질문을 남긴다. 주제를 심도 있게 다루기 위해 다음 섹션을 사용하여 청중이 연구하도록 합니다.

  • 00:55:00 이 섹션에서 강사는 텐서가 PyTorch의 기본 빌딩 블록이며 숫자를 나타내는 모든 것이 될 수 있다고 설명합니다. 입력 데이터는 숫자로 인코딩되어 이미지 또는 백만 개의 이미지가 될 수 있는 텐서로 변환됩니다. 그런 다음 입력 텐서는 수학적 연산을 통해 이를 조작하고 다른 텐서를 출력하는 신경망으로 전달되며, 그런 다음 인간이 이해할 수 있는 형식으로 다시 변환됩니다. PyTorch를 사용하고 온라인에서 질문에 대한 답변을 검색하는 이유와 과정에서 다룰 특정 주제에 대한 소개가 강조됩니다.

2 부

  • 01:00:00 이 섹션에서 강사는 PyTorch 과정에서 다루는 주제를 강조 표시합니다. 이 과정은 텐서 및 텐서 작업에 중점을 둔 PyTorch의 기초부터 시작하여 데이터 전처리, 사전 훈련된 딥 러닝 모델 구축 및 사용, 모델을 데이터 세트에 피팅, 예측 수행 및 모델 예측 평가로 이동합니다. 강사는 데이터 준비, 사전 훈련된 모델 선택, 손실 함수 및 옵티마이저 선택, 훈련 루프 구축, 모델 피팅, 실험을 통한 모델 개선 등 워크플로우를 설명합니다. 마지막으로 강사는 코드 뒤에 있는 이론에 대해 자세히 알아보기 위해 과외 리소스를 연결하면서 코드를 따라 코딩하고 탐색하고 실험하는 것의 중요성을 강조합니다.

  • 01:05:00 이 섹션에서는 PyTorch for Deep Learning & Machine Learning 과정의 강사가 학습자에게 과학자와 요리사의 마음으로 과정에 접근할 것을 조언합니다. 그는 딥러닝에서 데이터를 이해하기 위한 실험과 시각화의 중요성을 강조합니다. 또한 강사는 학습자가 질문을 하고 제공된 연습을 수행할 뿐만 아니라 작업을 다른 사람과 공유하여 자신과 다른 사람의 학습을 돕도록 권장합니다. 마지막으로 그는 학습자들에게 지나치게 생각하지 말고 배울 수 없다고 말하면서 두뇌에 불이 붙는 것을 피하라고 조언합니다. 마지막으로 그는 필요한 모든 자료가 포함된 GitHub 리포지토리를 포함하여 과정에 필요한 기본 리소스로 학습자를 안내합니다.

  • 01:10:00 이 섹션에서는 강사가 코스에서 사용할 수 있는 리소스와 리소스를 효과적으로 활용하는 방법을 설명합니다. 코드 및 노트북을 포함한 과정 자료는 GitHub에서 사용할 수 있으며 과정 Q&A는 동일한 저장소의 토론 탭에서 찾을 수 있습니다. 또한 learnpytorch.io에서 사용할 수 있는 온라인 책이 있습니다. 과정과 관련되지 않은 PyTorch 관련 질문의 경우 PyTorch 포럼 및 웹사이트를 적극 권장합니다. 그런 다음 발표자는 과정 전체에서 사용되는 주요 도구인 Google Colab을 소개하고 사용자가 colab.research.google.com을 통해 액세스하여 함께 코딩하도록 권장합니다.

  • 01:15:00 이 섹션에서는 강사가 Google Colab을 사용하여 새 노트북을 만들고 PyTorch 코드를 작성하는 방법을 설명합니다. Google Colab은 더 빠른 컴퓨팅 시간을 위해 GPU 또는 TPU 가속을 사용하는 기능과 사전 설치된 PyTorch 및 기타 일반적인 Python 데이터 과학 패키지와 같은 이점을 제공합니다. 강사는 learnpytorch.io의 리소스 노트북에 연결하고 학습자가 과정과 관련된 질문을 할 수 있는 GitHub 리포지토리를 제공합니다. 강사는 또한 Google Colab의 유료 버전을 사용하지만 과정을 완료하는 데 무료 버전으로도 충분하다고 언급합니다.

  • 01:20:00 이 섹션에서는 Google Colab을 사용하거나 로컬 설정을 위한 설정 문서를 참조하여 PyTorch를 설정하는 방법을 소개하는 동영상입니다. 과정을 완료하기 위해 권장되는 설정은 PyTorch 1.10 및 CUDA 11.3입니다. 비디오는 또한 분할 창 접근 방식을 사용하여 연습용 노트북을 만들도록 제안합니다. 비디오의 주요 초점은 딥 러닝의 주요 구성 요소인 텐서에 대한 소개, 숫자 7로 채워진 스칼라 텐서를 생성하는 예제 및 torch.tensor에 대한 PyTorch의 문서에 액세스하는 방법을 제공하는 것입니다.

  • 01:25:00 이 섹션에서는 강사가 torch.dot.tensor를 사용한 텐서 생성부터 시작하여 PyTorch 텐서의 기본 사항을 설명합니다. 그는 학습자가 PyTorch 문서를 통해 라이브러리에 대해 자세히 알아보도록 권장합니다. 계속해서 강사는 스칼라, 벡터 및 행렬의 특성을 설명합니다. 그는 스칼라는 차원이 없고 단일 숫자일 뿐인 반면 벡터는 일반적으로 크기와 방향으로 표시되는 하나의 차원을 갖는다고 설명합니다. 행렬은 다음 단계이며 두 쌍의 대괄호로 표시되는 두 차원을 갖습니다. 그는 차원과 모양의 차이점과 크기 측면에서 벡터의 모양을 찾는 방법을 설명합니다.

  • 01:30:00 이 섹션에서 강사는 PyTorch의 텐서를 소개하고 딥 러닝 신경망의 기본 구성 요소라고 설명합니다. 강사는 스칼라에서 행렬, 3개의 대괄호 쌍이 있는 텐서에 이르기까지 다양한 차원의 텐서를 생성하는 방법을 보여줍니다. 강사는 대괄호 쌍의 수로 차원의 수를 나타내고 각 차원의 요소 수로 모양을 결정한다고 설명합니다. 또한 강사는 텐서를 직접 작성하는 것이 지루하지만 PyTorch가 텐서를 광범위하게 사용하기 때문에 작동 방식을 이해하는 것이 중요하다고 말합니다.

  • 01:35:00 이 섹션에서 강사는 기계 학습 및 딥 러닝을 위한 PyTorch의 임의 텐서의 중요성에 대해 설명합니다. 난수로 가득 찬 텐서로 시작한 다음 데이터를 더 잘 나타내도록 조정하는 것은 신경망의 핵심 개념입니다. PyTorch에서 임의의 텐서를 생성하기 위해 강사는 torch.rand 함수를 사용하는 방법을 보여주고 "크기"와 "모양"은 동일한 것의 두 가지 다른 버전이라고 설명합니다. 스칼라와 벡터는 소문자, 행렬과 텐서는 대문자와 같은 딥 러닝의 변수 명명 규칙에 대해서도 간략하게 설명합니다.

  • 01:40:00 이 섹션에서 강사는 PyTorch를 사용하여 임의의 텐서를 생성하는 방법을 시연하고 이미지를 포함한 다양한 유형의 데이터를 텐서 형식으로 표현할 수 있음을 설명합니다. 강사는 PyTorch가 텐서를 생성하는 프로세스를 단순화하고 많은 경우 배후에서 프로세스를 처리한다고 설명합니다. 그들은 이미지 텐서와 유사한 모양을 가진 무작위 텐서를 생성하는 방법을 보여주고 이미지가 일반적으로 색상 채널, 높이 및 너비가 있는 텐서로 표현된다고 설명합니다. 강사는 거의 모든 유형의 데이터를 텐서로 표현할 수 있으므로 PyTorch가 딥 러닝 및 머신 러닝 애플리케이션을 위한 강력한 도구임을 강조합니다.

  • 01:45:00 이 섹션에서 강사는 0과 1의 텐서를 만드는 방법과 텐서 범위를 만드는 방법을 소개합니다. 모두 0인 텐서는 텐서의 특정 열을 0으로 만들 수 있는 텐서 마스크를 만드는 데 유용합니다. 모든 1의 텐서는 일부 상황에서 유용할 수도 있습니다. 강사는 torch.range 사용 방법을 설명하지만 PyTorch의 일부 버전에서는 더 이상 사용되지 않을 수 있다고 경고하고 대신 range 함수를 사용할 것을 제안합니다.

  • 01:50:00 이 섹션에서는 범위를 사용하여 텐서를 생성하고 다른 텐서와 동일한 모양을 갖는 PyTorch 기능에 대해 설명합니다. 텐서의 범위는 시작, 중지 및 단계를 정의할 수 있는 torch.arange()를 사용하여 생성됩니다. 유사하게, torch.zeros_like()는 입력 텐서와 같은 모양을 가진 0의 텐서를 생성하는 데 사용됩니다. 그런 다음 이 섹션에서는 PyTorch의 텐서 데이터 유형을 소개하고 아무 것도 지정되지 않은 경우에도 기본 유형이 float 32임을 지정합니다.

  • 01:55:00 이 섹션에서는 PyTorch에서 텐서를 생성할 때 데이터 유형, 장치 및 요구 사항과 같은 중요한 매개 변수에 대해 알아봅니다. 우리는 데이터 유형이 컴퓨팅의 정밀도 수준을 나타내며 일반적으로 32비트 부동 소수점 및 16비트 부동 소수점 텐서와 상호 작용한다는 것을 발견했습니다. 단정밀도는 32비트이고 반정밀도는 16비트이며, 32비트는 PyTorch의 기본 텐서 유형입니다. 텐서 데이터 유형에 대한 참고 사항은 PyTorch 및 딥 러닝을 사용하는 동안 발생할 수 있는 세 가지 중요한 오류 중 하나이므로 필수적입니다. 다른 두 가지 오류에는 올바른 모양이 없고 올바른 장치에 있지 않은 텐서가 포함됩니다.

파트 3

  • 02:00:00 이 섹션에서 강사는 PyTorch에서 텐서로 작업할 때 올바른 모양과 장치를 유지하는 것의 중요성에 대해 설명합니다. 텐서의 모양이 다르거나 다른 장치(CPU 또는 GPU)에 있는 경우 오류가 발생할 수 있습니다. 또한 강사는 수치 계산 중에 기울기를 추적할 때 "grad" 매개변수의 역할을 설명합니다. 이 강의에는 시청자가 다양한 데이터 유형의 텐서를 생성하고 다양한 유형의 텐서 곱의 영향을 테스트하는 과제가 포함되어 있습니다. 강사는 일부 작업은 오류가 발생하지 않을 수 있지만 다른 작업은 특히 대규모 신경망을 교육할 때 데이터 유형 문제로 이어질 수 있다고 경고합니다.

  • 02:05:00 비디오의 이 섹션에서 강사는 텐서 작업 문제를 해결하고 텐서가 머신 러닝 모델에 사용하기 위해 올바른 데이터 유형 및 모양을 갖도록 하는 방법을 설명합니다. tensor.Dtype, tensor.shape 및 tensor.device 명령을 사용하여 PyTorch를 사용하여 텐서의 데이터 유형, 모양 및 장치를 확인하는 방법을 보여줍니다. 강사는 또한 텐서가 올바른 데이터 유형이나 모양이 아닌 경우 PyTorch에서 오류가 발생할 수 있다고 지적하고 필요한 경우 데이터 유형을 변경하는 방법을 보여줍니다. 마지막으로 그들은 크기와 모양 명령을 비교하고 하나는 함수이고 다른 하나는 속성으로 상호 교환 가능하다는 점에 주목합니다.

  • 02:10:00 이 섹션에서 강사는 PyTorch에서 텐서 조작, 특히 덧셈, 뺄셈, 곱셈, 나눗셈 및 행렬 곱셈과 같은 텐서 연산을 다룹니다. 이러한 작업은 딥 러닝 모델 구축과 관련된 가장 일반적인 문제를 해결하는 데 도움이 되므로 신경망 구축에 중요합니다. 또한 신경망은 이러한 기능을 다양한 방식으로 결합하여 데이터 세트를 나타내는 임의 텐서의 수를 분석하고 조정합니다. 강사는 PyTorch 코드 예제를 사용하여 덧셈, 곱셈 및 행렬 곱셈의 기본 텐서 연산을 수행하는 방법을 시연합니다.

  • 02:15:00 이 섹션에서 강사는 PyTorch를 사용하여 텐서 작업을 다루고 행렬 곱셈의 개념을 소개합니다. Python 연산자와 PyTorch 내장 함수를 사용하여 요소별 곱셈, 덧셈 및 뺄셈을 수행하는 방법을 보여줍니다. 강사는 시청자에게 행렬 곱셈에 뛰어들기 전에 검색하고 이해하도록 도전 과제를 제시합니다. 그들은 신경망에서 곱셈을 수행하는 두 가지 주요 방법인 요소별 곱셈과 내적이라고도 하는 행렬 곱셈이 있다고 설명합니다. 강사는 행렬을 사용하여 곱셈의 두 가지 유형에 대한 예를 제공하고 행렬 곱셈이 신경망에서 가장 일반적인 텐서 연산 중 하나임을 강조합니다.

  • 02:20:00 이 섹션에서 강사는 PyTorch에서 요소별 곱셈과 내적 곱셈의 차이점을 설명합니다. 개념을 설명하기 위해 강사는 두 개의 행렬을 곱하는 단계별 프로세스를 진행하고 각 요소가 어떻게 곱해지고 최종 결과를 얻기 위해 추가되는지 강조 표시합니다. 다음으로 강사는 기본 예제를 사용하여 요소별 곱셈을 수행하는 방법을 보여주고 토치 도트 매트 몰 기능을 사용하여 행렬 곱셈을 수행합니다. 또한 이 섹션에서는 for 루프를 사용하여 행렬 곱셈을 수행하는 방법을 다루고 두 방법 간의 성능 차이를 설명합니다.

  • 02:25:00 이 섹션에서는 비디오에서 행렬 곱셈의 예를 사용하여 PyTorch의 for 루프에 대한 벡터화의 이점을 설명합니다. 토치 방법 토치 도트 매트모어는 작은 텐서에 for 루프를 사용하는 것보다 10배 빠른 것으로 나타났습니다. 그러나 비디오는 행렬 곱셈에서 모양 오류를 피하기 위해 더 큰 텐서에 대해 두 가지 주요 규칙을 충족해야 한다고 경고합니다. 첫 번째 규칙은 두 텐서의 내부 차원이 일치해야 한다는 것입니다.

  • 02:30:00 이 섹션에서 강사는 행렬 곱셈의 규칙과 텐서를 곱할 때 일반적인 모양 오류를 피하는 방법을 설명합니다. 첫 번째 규칙은 행렬의 내부 차원이 일치해야 한다는 것입니다. 이를 시연하기 위해 강사는 크기가 3x2인 텐서를 만들고 동일한 내부 치수를 갖지 않는 다른 텐서와 곱하려고 시도하여 오류가 발생합니다. 두 번째 규칙은 결과 행렬이 외부 차원의 모양을 갖는다는 것입니다. 강사는 서로 다른 텐서 모양과 차원을 사용하는 행렬 곱셈의 예와 서로 다른 행렬 모양을 생성하는 방법을 제공합니다. 강사는 시청자에게 다음 비디오를 보기 전에 웹사이트를 사용하여 행렬 곱셈을 연습하도록 권장합니다.

  • 02:35:00 이 섹션에서 강사는 딥 러닝에서 가장 일반적인 오류 중 하나인 신경망의 모양 오류에 대해 설명합니다. 신경망은 여러 개의 행렬 곱셈 연산으로 구성되어 있기 때문에 약간의 텐서 모양 오류라도 모양 오류로 이어질 수 있습니다. 그런 다음 강사는 텐서 a와 텐서 b라는 두 개의 텐서를 만들고 이들 사이에 행렬 곱셈을 시도하여 모양 오류가 발생합니다. 이 오류를 수정하기 위해 강사는 주어진 텐서의 축 또는 차원을 전환하는 전치의 개념을 소개하고 PyTorch 코드에서 텐서의 모양을 조정하는 데 어떻게 사용할 수 있는지 보여줍니다.

  • 02:40:00 이 섹션에서 강사는 텐서 전치의 개념과 행렬 곱셈에서의 중요성을 설명합니다. 전위는 기본 데이터를 변경하지 않고 텐서의 요소를 재정렬하며 "점 t"로 표시됩니다. 강사는 또한 텐서 b가 전치될 때 행렬 곱셈 연산이 작동하는 방식을 시연하고 신경망 및 딥 러닝에서 이 연산의 중요성을 강조합니다. 텐서를 바꾸는 과정을 시각적으로 설명하고 강사는 학생들이 개념을 이해하고 연습할 수 있도록 단계별 코드 예제를 제공합니다.

  • 02:45:00 이 섹션에서는 강사가 PyTorch와 Matrix Multiplication이라는 웹 사이트를 사용하여 행렬 곱셈을 설명합니다. 그는 텐서 a와 텐서 b라는 두 개의 텐서를 생성하고 곱셈 결과 특정 출력 모양을 가진 새로운 텐서가 생성됨을 보여주었습니다. 그는 시청자에게 텐서 b 대신 텐서 a를 전치하고 결과를 보도록 도전합니다. 계속해서 강사는 PyTorch 방법을 사용하여 텐서의 최소값, 최대값, 평균 및 합계를 찾는 방법을 보여주면서 텐서 집계를 다룹니다. 그는 또한 텐서 집계가 텐서의 요소 수를 줄이는 데 어떻게 도움이 되는지 설명합니다.

  • 02:50:00 PyTorch 자습서의 이 섹션에서 강사는 데이터 유형이 잘못된 PyTorch에서 가장 일반적인 오류 중 하나를 해결하는 방법을 보여줍니다. 그는 토치 평균 함수의 사용을 방지하는 long 데이터 유형의 텐서를 생성하여 이를 시연합니다. 그런 다음 x.type() 메서드를 사용하여 텐서를 평균 함수에 필요한 float 32로 변환하는 방법을 설명합니다. 텐서의 최소값, 최대값, 평균, 합계를 찾는 것 외에도 강사는 다음 비디오에서 다룰 위치 최소값과 최대값을 찾기 위한 과제도 설정합니다.

  • 02:55:00 이 섹션에서는 텐서의 위치 최소값과 최대값을 찾기 위해 PyTorch에서 argmin 및 argmax 함수를 사용하는 방법을 설명했습니다. argmin 함수는 최소값을 갖는 텐서의 위치를 반환하고 argmax 함수는 최대값을 갖는 텐서의 위치를 반환합니다. 이러한 함수는 텐서의 최소값 또는 최대값이 필요하지 않고 해당 값의 위치만 정의할 때 유용합니다. 또한 기계 학습 및 딥 러닝에서 모양 불일치를 관리하는 데 유용한 텐서의 모양 변경, 쌓기, 압축 및 압축 해제 개념이 도입되었습니다.

파트 4

  • 03:00:00 이 섹션에서 강사는 모양 변경, 보기, 쌓기, 압착, 압착 해제 및 순열과 같은 PyTorch의 다양한 텐서 조작 방법을 설명합니다. Reshape는 입력 텐서의 모양을 변경하고, View는 다른 모양의 텐서 보기를 반환하고, Stacking은 여러 Tensor를 세로 또는 가로로 결합하고, Squeeze는 1과 같은 모든 차원을 제거하고, Unsqueeze는 크기가 있는 새 차원을 추가합니다. of 1. 마지막으로 permute는 텐서의 차원을 바꿉니다. 강사는 이러한 각 방법을 보여주는 코드 예제를 제공하고 기계 학습 및 딥 러닝에서 텐서 모양 조작이 얼마나 중요한지 강조합니다.

  • 03:05:00 이 섹션에서는 비디오 자습서에서 PyTorch 텐서를 재구성하고 보는 방법을 살펴봅니다. 모양 변경은 원본 크기와의 호환성이 필요하며 '모양 변경' 또는 '보기' 기능을 사용하여 수행할 수 있습니다. '보기'는 원래 텐서와 동일한 메모리를 공유한다는 점에 유의하는 것이 중요합니다. 또한 'stack' 함수는 새로운 차원을 따라 텐서를 연결하며 기본 차원은 0입니다. Google CoLab 또는 다른 형태의 Jupyter Notebook을 사용하는 동안 오류가 발생할 수 있으므로 사용자는 작업을 자주 저장하는 것이 좋습니다.

  • 03:10:00 이 섹션에서 강사는 PyTorch에서 압착 및 압착 해제의 개념을 소개합니다. 이러한 방법을 사용하여 연습하려면 뷰어가 설명서를 찾아보고 사용해 보는 것이 좋습니다. 강사는 대상 텐서에서 단일 차원을 제거하는 압착 방법을 시연합니다. 이러한 작업 중에 텐서에 적용된 변경 사항을 시각화하기 위해 강사는 각 변경 사항을 인쇄하고 텐서의 크기를 확인하도록 제안합니다. 또한 강사는 이러한 개념에 익숙해지기 위해 이러한 개념을 여러 번 연습하는 것의 중요성을 강조합니다.

  • 03:15:00 이 섹션에서 강사는 "squeeze" 및 "unsqueeze" 방법을 사용하여 PyTorch 텐서에서 차원을 추가하고 제거하는 개념을 설명합니다. 그는 텐서에서 차원을 추가 및 제거하고 모양을 인쇄하여 이러한 방법의 효과를 보여줍니다. 또한 강사는 대상 텐서의 차원을 지정된 순서로 재정렬하는 "순열" 방법을 소개합니다. 그는 permute가 이미지와 함께 어떻게 사용될 수 있는지에 대한 예를 제공하고 딥 러닝에서 데이터를 수치 표현으로 전환하는 것의 중요성에 대해 논의합니다.

  • 03:20:00 이 섹션에서 강사는 PyTorch의 permute() 메서드를 사용하여 차원을 재정렬하여 텐서를 치환하는 방법을 가르칩니다. 주어진 예제는 색상 채널 차원이 첫 번째 인덱스로 이동되는 이미지 텐서입니다. 강사는 순열 텐서가 보기일 뿐이며 원래 텐서와 동일한 메모리를 공유한다고 설명합니다. 이는 원래 텐서의 값을 업데이트하고 동일한 값이 순열 텐서에 복사되는 것을 보여줍니다. 또한 이 섹션에서는 PyTorch의 인덱싱과 그것이 또 다른 인기 있는 수치 컴퓨팅 라이브러리인 NumPy를 사용한 인덱싱과 어떻게 유사한지에 대해서도 다룹니다.

  • 03:25:00 이 섹션에서 강사는 토치를 가져오는 방법을 소개하고 작은 범위를 만들고 호환되는 방식으로 모양을 바꾸는 방법을 보여줍니다. 그런 다음 자습서에서는 텐서를 사용한 인덱싱을 자세히 살펴보고 첫 번째 및 두 번째 차원에서 인덱싱하는 방법을 보여줍니다. 이 자습서에서는 세미콜론을 사용하여 모든 대상 차원을 선택하는 기능도 보여줍니다. 섹션은 9를 얻기 위해 코드를 재정렬하는 도전으로 끝납니다.

  • 03:30:00 이 섹션에서 강사는 PyTorch를 사용하여 텐서에서 특정 값을 선택하는 방법을 보여줍니다. 예제에는 적절한 인덱스 값을 지정하여 텐서의 다른 차원에서 요소를 선택하는 것이 포함됩니다. 그런 다음 강사는 시청자에게 텐서를 인덱싱하여 특정 값을 반환하도록 요청합니다. 다음 섹션에서 강사는 PyTorch 텐서가 인기 있는 과학 수치 컴퓨팅 라이브러리인 NumPy와 상호 작용하는 방법을 설명합니다. PyTorch에 필요하므로 NumPy 배열과 PyTorch 텐서 간에 쉽게 전환할 수 있는 기능이 내장되어 있습니다.

  • 03:35:00 이 섹션에서는 비디오에서 NumPy에서 PyTorch 텐서로 또는 그 반대로 데이터를 변환하는 방법에 대해 설명합니다. NumPy에서 PyTorch로 이동하려면 NumPy 배열에서 torch.fromNumPy 메서드가 사용되지만 PyTorch의 기본 데이터 유형은 float32이고 NumPy의 기본값은 float64라는 점에 유의해야 합니다. 따라서 변환 시 데이터 유형을 지정해야 할 수도 있습니다. 원래 NumPy 배열의 값을 변경할 때 fromNumPy 메서드를 사용하여 생성된 PyTorch 텐서의 값은 변경되지 않는다는 점도 중요합니다. PyTorch에서 NumPy로 이동하려면 torch.tensor.numpy() 메서드를 사용할 수 있습니다.

  • 03:40:00 이 섹션에서는 비디오에서 PyTorch와 NumPy 사이를 이동하는 방법과 각각의 기본 데이터 유형에 대해 설명합니다. PyTorch의 기본 데이터 유형은 float32이고 NumPy의 기본 데이터 유형은 float64이며 PyTorch에서 데이터 유형을 변경하면 NumPy 텐서는 원래 데이터 유형을 반영합니다. 이 비디오는 또한 신경망의 재현성 개념과 무작위 시드를 사용하여 실험에서 무작위성을 줄이는 방법을 다룹니다. 임의의 시드를 설정하면 임의성에 풍미가 더해지고 컴퓨터가 더 결정적이 되어 더 재현 가능한 결과를 얻을 수 있습니다.

  • 03:45:00 이 섹션에서 강사는 PyTorch의 무작위성과 재현성 개념을 소개합니다. torch.rand 함수를 사용하여 두 개의 랜덤 텐서를 생성하고 그 값을 출력하고 비교합니다. 강사는 PyTorch에서 재현 가능한 임의성을 생성하는 데 사용되는 임의 시드의 개념을 설명합니다. 랜덤 시드 값은 42와 같이 원하는 숫자 값으로 설정한 다음 다양한 랜덤 기능에 사용하여 무작위성을 얻을 수 있습니다. torch.manual_seed 함수가 사용되는 경우 일반적으로 노트북의 한 코드 블록에 대해서만 작동한다는 점에 유의하는 것이 중요합니다.

  • 03:50:00 영상의 이 섹션에서는 기계 학습과 딥 러닝에서 재현성의 중요성을 강조하고 랜덤 시드의 개념을 설명합니다. 수동 시드는 PyTorch 무작위 텐서의 무작위성을 맛보고 재현 가능하게 만드는 방법입니다. PyTorch 재현성 문서는 재현성에 대해 배울 수 있는 훌륭한 리소스로 권장됩니다. 또한 이 섹션에서는 더 빠른 계산을 위해 GPU에서 PyTorch 개체를 실행하는 방법과 무료 GPU를 위한 Google Colab, 더 빠른 GPU와 더 긴 실행 시간을 위한 Google Colab Pro, 고급 이점을 위한 Google Colab Pro Plus 사용을 포함하여 GPU에 액세스하는 방법에 대해 설명합니다.

  • 03:55:00 이 섹션에서 강사는 딥 러닝 및 기계 학습 작업을 위해 GPU에 액세스하는 다양한 방법을 설명합니다. 옵션은 Google Colab을 사용하거나 Colab Pro로 업그레이드하거나 자체 GPU를 사용하거나 GCP, AWS 또는 Azure와 같은 클라우드 컴퓨팅 서비스를 사용하는 것입니다. 강사는 쉽고 무료로 사용할 수 있는 Google Colab으로 시작할 것을 권장합니다. 그러나 더 많은 리소스가 필요하거나 더 큰 실험을 실행하려는 경우 자체 GPU 또는 클라우드 컴퓨팅을 업그레이드하거나 사용할 수 있습니다. 또한 강사는 런타임 유형을 변경하고 PyTorch로 GPU 액세스를 확인하여 Google Colab에서 GPU를 얻는 방법을 보여줍니다.