분류 전체보기
-
Neurons and Layers - Neuron with Sigmoid activation | Advanced Learning AlgorithmMachine Learning/Stanford ML Specialization 2024. 2. 3. 22:19
Coursera Machine Learning Specialization > Supervised Machine Learning: Advanced Learning Algorithms > Neural Network Intuition 이번에는 sigmoid activation을 사용하는 뉴런(unit)을 사용해서 함수를 개발해보자. Course 1에서 사용했던 logistic regression과 동일하다. $$ f_{\mathbf{w},b}(x^{(i)}) = g(\mathbf{w}x^{(i)} + b) $$ $$g(x) = sigmoid(x)$$ Dataset 먼저, 데이터를 준비해보자. X_train = np.array([0., 1, 2, 3, 4, 5], dtype=np.float32).reshape(..
-
Neurons and Layers - Neuron without activation - Regression/Linear Model | Advanced Learning AlgorithmMachine Learning/Stanford ML Specialization 2024. 2. 3. 21:02
Coursera Machine Learning Specialization > Supervised Machine Learning: Advanced Learning Algorithms > Neural Network Intuition 이제, 실제로 뉴런(유닛)들과 레이어가 어떻게 작동을 하는지 알아보자. 특히, Course 1에서 regression과 linear모델, logistic model을 만들었던것처럼 해볼것이다. 이 랩에서는 Tensorflow(텐서플로우)를 사용했는데, 이 프레임워크를 이용해서 이 모델들이 어떻게 동작하는지 보도록 하자. Tensorflow는 Google에서 개발한 ML 패키지이다. 2019년에 Google은 Keras를 TensorFlow에 통합하고, TensorFlow 2.0을..
-
Inference: making predictions | Advanced Learning AlgorithmMachine Learning/Stanford ML Specialization 2024. 2. 3. 09:40
Coursera Machine Learning Specialization > Supervised Machine Learning: Advanced Learning Algorithms > Neural Network Intuition 지금까지 배웠던 것들을 모두 합쳐서 inferences, 즉 값을 예상하도록 만들어보자. 이 알고리즘은 forward propagation(순방향 전파)라고 한다. Handwritten digit, 즉 손으로 쓴 글자를 인식하는 모델을 예로 들어보겠다. 8x8 pixel의 이미지가 있다고 가정해보자. 여기서 라벨은 0과 1이 존재한다. 즉 디지털 이미지이다. 아래를 살펴보자. 255 255 255 255 255 255 255 255 255 255 255 0 255 255 255 ..
-
지도학습 | 분류와 회귀Machine Learning/ML with Python Library 2024. 1. 29. 23:41
지도학습은 가장 널리, 성공적으로 사용되는 ML 방법중 하나이다. 이미 이전에 iris의 분류를 하는 어플리케이션을 만든것처럼, 지도 학습은 input과 output 샘플 데이터가 있고, 또다른 input의 output을 예측하고자 할 때 사용하게 된다. Training Data를 이용해서 ML 모델을 만들고, Testing Data를 이용해 모델을 검증하게 된다. 이 모델의 목표는, 이전에 본 적 없는 새로운 데이터에 대해 정확한 출력을 예측하는 모델을 만드는 것이다. 지도학습에는 분류(Classification)과 회귀(Regression)이 있다. 분류는 미리 정의된 여러 클래스 레이블(Class Label)중 하나를 예측하는것인데, iris 어플리케이션에서 3가지 꽃의 품종을 분류하는 예시를 다뤄..
-
ML Intro | Iris Analysis - Evaluating the ModelMachine Learning/ML with Python Library 2024. 1. 27. 22:06
지난번, 모델을 이용해 예측을 해봤다. 그렇다면 이 예측이 맞는지 아닌지 어떻게 파악할 수 있을까? 이런 지도학습(Supervised Machine Learning)에서 트레이닝 된 모델의 성능을 평가하는 과정은 꼭 필요하다. 그렇기 때문에 우리는 지난번 scikit-learn의 train_test_split 함수를 이용해서 Training 데이터와 Test데이터로 나눴다. 여기서 만들어진 test data를 이용해서 정확도를 계산하고 모델의 성능을 평가할 수 있다. y_pred = knn.predict(x_test) print("Prediction for Test Set:", y_pred) Prediction for Test Set: [2 1 0 2 0 2 0 1 1 1 2 1 1 1 1 0 1 1 0..
-
ML Intro | Iris Analysis - PredictionMachine Learning/ML with Python Library 2024. 1. 27. 21:25
이제 만든 모델을 이용해서 새 데이터에 대해 예측을 해보자. 아래와 같은 모양의 꽃의 종류는 무엇일까? 꽃잎(petal): - 길이: 5cm - 폭: 2.9cm 꽃받침(sepal): - 길이: 1cm - 폭: 0.2cm 이 측정값을 NumPy 배열로 만들어보자. 샘플의 수는 1개이고, 특성의 수는 모델에 훈련된 Feature 갯수와 같이 4개이기 떄문에, 1 * 4 크기의 NumPy 배열로 만들어보자. import numpy as np x_new = np.array([[5, 2.9, 1, 0.2]]) print("x_new.shape", x_new.shape) x_new.shape (1, 4) iris 측정값이 NumPy 배열에 행으로 들어갔다. scikit-learn은 항상 대이터가 2차원 배열일 것으..
-
ML Intro | Iris Analysis - K-Nearest Neighbors(KNN) ModelMachine Learning/ML with Python Library 2024. 1. 27. 19:09
이제 실제 머신러닝 모델을 만들어보자. scikit-learn은 다양한 분류 알고리즘을 제공하는데, 비교적 이해가 쉬운 KNN, 최근접 이웃 분류기를 사용했다. 훈련 데이터를 저장해서 만들어지면, 새로운 데이터 포인트가 주어졌을 때, 가장 가까운 훈련 데이터 포인터를 찾아서 지정한다. k-최근접 이기 때문에, 가장 가까운 이웃 하나가 아니라, k개의 이웃을 찾는다는 뜻이다. scikit-learn의 모든 ML 모델은 Estimator라는 파이썬 클래스로 각각 구현되어 있는데, KNN은 neighbors 모듈 아래 KNeighborsClassifier 클래스에 구현되어 있다. 여기서 가장 중요한 파라미터는 이웃의 개수, n_neighbors 인데, 우리는 1로 지정했다. from sklearn.neighb..
-
ML Intro | Iris Analysis - Look at your DataMachine Learning/ML with Python Library 2024. 1. 27. 18:34
먼저, 데이터가 어떤 패턴을 보여주고 있는지 살펴보았다. 데이터를 보고 SQL 쿼리를 돌리기 전에, 데이터를 시각화해서 보는 방법은 아주 효과적이다. 하지만 모든 데이터를 시각화만 가지고 판단할수는 없으니, 시각화만으로 섣불리 판단을 내리는것은 위험성이 있다. Scatter Plot을 이용하면, 각 데이터가 어떤 형태로 뭉쳐있는지, 펼쳐져 있는지, 그룹화가 되어있는지 쉽게 볼 수 있다. 4개의 특성에 대한 산점도 행렬을 시각화 해보도록 하자. 테이터의 색깔은 iris의 품종에 따라 구분한다. 이 그래프를 그리려면, 먼저 NumPy 배열을 pandas의 DataFrame으로 변경해야 한다. pandas에서는 산점도 행렬을 그려주는 scatter_matrix함수를 제공한다. 아래 코드를 이용하면 시각화를 할..