전체 글
-
Neural Network using TensorFlow | Advanced Learning AlgorithmMachine Learning/Stanford ML Specialization 2024. 2. 9. 18:27
Coursera Machine Learning Specialization > Supervised Machine Learning: Advanced Learning Algorithms > Neural Network Intuition 실제로 Coffee Roasting한 원두에서 맛이 좋은 원두를 추론하는 것을 TensorFlow로 구현해보자. 먼저, 사용하고자 하는 라이브러리를 import 해준다. 여기서, 몇 데이터는 Coursera 수업에 쓰이기 위해 custom하게 개발된것이기 때문에, public 하지는 않다. 또한, logging설정을 해줘서 로깅 레벨을 ERROR로 설정해주고, Tensorflow의 verbosity도 0으로 지정했다. 로그를 최대한 줄였다. import numpy as np im..
-
Building a Neural Network | Advanced Learning AlgorithmMachine Learning/Stanford ML Specialization 2024. 2. 9. 16:59
Coursera Machine Learning Specialization > Supervised Machine Learning: Advanced Learning Algorithms > Neural Network Intuition Hidden layer가 1개 있는 뉴런 네트워크가 있다고 해보자. 여기서 TensorFlow를 쓰면, 이전의 예시처럼 하나하나 계산하지 않고, TensorFlow의 Sequential(순차)함수로 간단하게 모델을 만들 수 있다. layer_1 = Dense(units=3, activation="sigmoid") layer_2 = Dense(units=1, activation="sigmoid") model = Sequential([layer_1, layer_2]) TensorFl..
-
Data in TensorFlow | Advanced Learning AlgorithmMachine Learning/Stanford ML Specialization 2024. 2. 9. 10:59
Coursera Machine Learning Specialization > Supervised Machine Learning: Advanced Learning Algorithms > Neural Network Intuition NumPy와 TensorFlow에서 데이터가 어떻게 표현되는지 단계별로 설명해보자. 최근 코드가 처리되는 방식의 안타까운 점 하나는 NumPy가 수년전 처음 생성된 이후 Linear Algibra등의 Python 표준 라이브러리가 되었다. 이후 Andrew Ng과 구글 브레인팀이 TensorFlow를 만들었는데, 안타깝게도 NumPy와 텐서플로우에서 데이터가 표현되는 방식에는 약가느이 불일치가 있다. 그렇기 때문에 올바른 코드를 구현하고 Neural Network에서 실행되도록 ..
-
Inference in Code | Advanced Learning AlgorithmMachine Learning/Stanford ML Specialization 2024. 2. 9. 09:21
Coursera Machine Learning Specialization > Supervised Machine Learning: Advanced Learning Algorithms > Neural Network Intuition Tensorflow는 Deep Learning 알고리즘을 구현하기 위한 가장 유명하고 잘 쓰이는 프레임워크중 하나이다. 또다른 인기있는 도구는 PyTorch이다. 프레임워크란? 미리 만들어진 구조나 도구의 집합으로, 애플리케이션을 빠르고 효율적으로 개발할 수 있게 도와준다. 여러 기능을 가진 클래스들와 라이브러리들이 어떤 목표의 개발을 위해서 모여진 집합체라고 생각하면 된다. TensorFlow는 구글이 개발한 오픈소스 머신 러닝 프레임워크로, 복잡한 수치 연산을 수행하고, 주로..
-
지도학습 | 알고리즘 - KNN KNeighborsClassifier 분석Machine Learning/ML with Python Library 2024. 2. 7. 00:01
2D 데이터셋같은 경우, 모든 테스트 포인트들의 예측을 xy 평면에 그려볼 수 있다. 어떤지점을 어떤 Class로 예측하는지 한눈에 보기 좋다. 그렇게 색을 칠하면, 알고리즘이 클래스를 1과 0으로 나누는 결정 경계(Decision Boundry)를 만들어내는것을 볼 수 있다. 이전에 사용했던 데이터로 이 결정 경계를 그려보자. 1-NN, 3-NN, 그리고 9-NN을 그려서 특징을 파악해보았다. 먼저, 필요한 패키지를 설치 후 Import 했다. !pip install mglearn import mglearn import matplotlib.pyplot as plt 그리고 이웃의 갯수가 1, 3, 9일때마다 어떤 Decision Boundry가 그려지는지 파악했다. from sklearn.model_se..
-
지도학습 | 알고리즘 - KNN 분류Machine Learning/ML with Python Library 2024. 2. 5. 23:19
KNN, K-Nearest Neighbors 알고리즘은 가장 간단한 알고리즘이다. 훈련 데이터셋을 저장하는것이 모델을 만드는 과정의 전부이다. 예측은 간단하다. 가장 가까운 데이터 포인트, 즉, 최근접 이웃(Nearest Neighbor)를 찾는다. 가장 간단한 KNN 알고리즘은, 가장 가까운 훈련데이터 포인트를 최근접 이웃으로 찾아 예측에 사용하는 것이다. mglearn.plots.plot_knn_classification(n_neighbors=1) 위 예시에서는 데이터 포인트 3개를 추가했고, 별표로 표시했다. 그리고 추가한 각 데이터 포인트에서 가장 가까운 Training 데이터 포인트를 연결했다. 1개 뿐만 아니라 K개를 선택할 수 있고, 그렇기 때문에 K-NN 이라고 불려진다. 둘 이상의 최근접..
-
지도학습 | 알고리즘 - 데이터셋Machine Learning/ML with Python Library 2024. 2. 4. 19:28
Import 지도학습에 사용할 데이터셋을 먼저 준비해보자. 우선은 이진 분류(Binary Classification)을 위한 데이터를 만들어보았다. 데이터를 만들고 시각화 하기 위해서, 먼저 아래와 같은 패키지를 설치하고 import 해주었다. Google Colab에는 mglearn이 자동으로 설치되어있지 않아서, pip를 이용해서 설치해주었다. !pip install mglearn import mglearn import matplotlib.pyplot as plt Forge - Classification Dataset 이제 두개의 특성을 가진 forge 데이터셋을 만들어보자. 우리가 원하는 이진 분류 데이터셋이다. 아래와 같은 코드로 만들어 볼 수 있다. # Create dataset that is ..
-
지도학습 | 일반화, 과대적합, 과소적합Machine Learning/ML with Python Library 2024. 2. 4. 14:57
모델이 처음 보는 데이터에 대해 정확하게 예측할 수 있으면, 이를 Training 세트에서 Test 세트로 일반화(Generalization)되었다고 한다. 모델을 만들 때, 가능한 한 정확하게 일반화 되도록 구현해야한다. 훈련 세트와 테스트 데이터가 매우 비슷하다면, 그 모델이 테스트 세트에서도 정확히 예측한다고 기대할 수 있다. 하지만, 아주 복잡한 모델을 만들면, Training 세트에만 정확한 모델이 되어버릴 수 있다. 예를 들어보자. 초보 데이터 과학자가 요트를 구매한 고객과 구매 의사가 없는 고객들의 데이터를 수집했고, 이를 이용해 누가 타겟 요트 바이어가 될지 예측한다고 해보자. 관심 없는 사람에게는 괜히 귀찮게 하지 않고, 실제 관심이 있거나 구매할 것 같은 고객에게만 이메일을 보내는 전략..