728x90 Drawing (AI)/Google9 Google ML crash course (9) 특성 교차 특성 교차는 두 개 이상의 특성을 곱하여 (교차하여) 구성되는 합성 특성이다. 특성 조합을 교차하면 이러한 특성이 개별적으로 제공할 수 있는 것 이상의 예측 기능을 제공할 수 있다. 위와 같은 상태에서 선형 모델로 구분을 해내는 것은 불가능하다. 이떄 x1과 x2의 곱인 x3을 추가적인 feature로 이용하면 곱이 양수인 blue dot과 곱이 음수인 red dot을 구분해낼 수 있다. 선형 모델로 비선형성을 학습 시킬 수 있는 것이다. 이렇게 다른 변수의 곱으로 합성 특성을 만드는 과정을 일반적으로 특성 교차 곱이라고 부른다. 특성 교차와 대량의 데이터 사용은 매우 복잡한 모델을 학습할 수 있는 효율적인 전략 중 하나이다. 원-핫 벡터 교차 지금까지는 두 개의 개별 부동 소수점 특성을 특성.. 2024. 2. 19. Google ML crash course (8) Validation Training set과 test set을 이용해 모델 개발을 반복하는 방식은 반복할때마다 학습 데이터를 학습하고 테스트 데이터를 평가하여 그 평가 결과를 사용하여 learning rate와 feature과 같은 다양한 모델 초매개변수의 선택 및 변경사항을 결정한다. 이러한 반복은 비용이 많이 발생하지만 모델 개발에서 중요한 부분이다. 초매개변수 설정은 모델 품질을 크게 향상할 수 있으며, 가능한 한 최상의 품질을 얻을 수 있도록 항상 시간과 컴퓨팅 리소스에 예산을 투자해야 한다. 그러나 여기에는 문제가 있다. Training set에 반복하여 학습할 경우 과적합의 위험이 점점 증가한다는 것이다. 따라서 이러한 문제를 방지하기 위해 Validation set(검증데이터)를 구축한다. .. 2023. 3. 19. Google ML crash course (7) 일반화 머신러닝에서 분류를 통해 답을 찾아내기 위해 일반화는 매우 중요하다. 그러나 아래와 같이 선형적으로 분류를 하는 경우 제대로 분류가 되지 않아서 틀린 결과가 나오는 경우가 존재한다. 따라서 아래와 같이 복잡한 구분선을 그어서 기존 데이터를 100% 정확하게 분류할 수 있다. 그러나 이러한 경우 아래와 같이 새로운 데이터가 들어왔을때 적절하게 분류해 낼 수가 없다. 이러한 경우를 "과적합(overfit)"이라고 표현한다. 모델이 너무 복잡하여 새로운 데이터를 분류하는데 어려움이 있는것이다. 과적합 현대에 와서, 우리는 "Okham의 면도날"이라는 통계 학습 이론과 계산 학습 이론의 분야로 공식화했다. 이 이론은 모델의 복잡성과 훈련 데이터에 대한 모델의 성능과 같은 요소를 기반으로 새로운 데이터로 .. 2023. 3. 7. Google ML crash course (6) Linear regression(2) 이번에는 실제 데이터셋을 이용해보고자 한다. 캘리포니아의 집값에 대한 데이터셋을 이용하여 선형회귀 과정을 밟아보자. #@title Import relevant modules import pandas as pd import tensorflow as tf from matplotlib import pyplot as plt # The following lines adjust the granularity of reporting. pd.options.display.max_rows = 10 pd.options.display.float_format = "{:.1f}".format 머신러닝에서 csv파일을 이용하는데 csv파일이란 Comma-seperated values 파일로 콤마.. 2023. 2. 27. Google ML crash course (5) tf.keras tf.keras를 사용하여 선형 회귀를 구현해보고자 한다. import pandas as pd import tensorflow as tf from matplotlib import pyplot as plt build_model(my_learning_rate)라는 빈 model을 build하는 함수와 train_model(model, feature, label, epochs)라는 model을 학습시키는 함수를 정의한다. #@title Define the functions that build and train a model def build_model(my_learning_rate): """Create and compile a simple linear regression model.""" # .. 2023. 2. 25. Google ML crash course (4) Tensorflow Machine Learning용 E2E 오픈소스 플랫폼이다. Tensorflow API는 하위 수준 API를 기반으로 하는 상위 수준 API를 사용하여 계층적으로 정렬된다. ML 연구원 수준에서는 하위수준의 API를 사용하여 새로운 머신러닝 알고리즘을 만들고 연구하지만 우선 내가 따라가고자하는 ML crash course에서는 tf.keras라는 상위수준의 API를 사용하여 진행된다. Google colab Google colab을 이용하여 NumPy와 pandas라는 오픈소스에 대한 학습을 진행하는 것이 기본 과정이다. Google colab은 google colaboratory의 줄임말로 Jupitor Notebook 같은 브라우저에서 Python 스크립트를 작성하고 실행시켜볼 수.. 2022. 12. 26. Google ML crash course (3) Reducing Loss Loss를 줄이기위해 Gradient descent 과정을 통해 algorithm을 수정한다. 이때 learning rate가 너무 작으면 loss가 최소인점을 찾는데까지 너무 많은 step을 밟아야한고 learning rate가 너무 크면 정확도가 떨어져서 overshooting되어 loss가 최소인점을 크게 벗어날 수 있다. Course에서 제공된 프로그램을 통하여 Learning rate가 0.05일때, 0.6일때, 0.1일때를 각각 실행시켜보면서 직접확인해 보았다. 2022. 7. 23. Google ML Crash Course (2) Linear Regression 귀뚜라미는 더울수록 우는 횟수가 많아지는 경향이 있다고 한다. 이를 예시로 linear regression의 예시를 보면 다음과 같다. 예상한대로 온도와 우는 빈도가 비례함을 알 수 있고 이 관계가 linear한지 보면 물론 한직선이 모든 점이 통과되지는 않지만 경향성을 본다면 충분히 linear하다고 할 수 있다. 위와 같은 linear한 관계를 식으로 표현하면 다음과 같다. 이는 보통 우리가 아는 y=mx+b 또는 y=ax+b라는 일차식을 machine learning model의 표현방식으로 조금 바꾼것이다. 이때 y'은 label(예측되는 output) b는 bias(y절편, w0로 표현되기도한다) w1은 weight of feature1 (Weight는 기울기와 .. 2022. 7. 23. Google ML Crash Course (1) 머신러닝이란? 머신러닝은 다양한 input 데이터들을 종합하여 의미있고 유용한 결과와 예측을 이끌어내는 시스템입니다. 기본적인 머신러닝 용어 Label - 예측하고자 하는 정보로 simple linear regression 변수이다. Feature - 다양한 input 데이터로 label을 결정지을 수 있는 특징들이다. Label과 같이 simple linear regression 변수이다. Example - 말그대로 예시로 시스템이 학습할 수 있는 데이터의 특정한 인스턴스로 Labeled example과 Unlabeled example로 분류할 수 있다. 위와 같이 labeled examples는 추정하고자 하는 결과값인 label이 포함된 시스템이 학습할 수 있는 dataset이다. 위와 같이 unl.. 2022. 7. 20. 이전 1 다음 728x90