본문 바로가기
반응형

ML10

구글이 만든 NLP 모델, BERT HBO시리즈 '세서미 스트리트'의 캐릭터 Bert에서 가져온 BERT(Bidirectional Encoder Representations from Transformers)는 2018년에 Google이 발표한 자연어 처리 (NLP) 모델입니다. BERT는 특히 문장이나 문단의 문맥을 이해하는 데 매우 효과적이며, 그 이후로 많은 NLP 작업에서 최첨단 성능을 보여줬습니다. Bidirectional (양방향): 전통적인 언어 모델들은 주로 한 방향 (왼쪽에서 오른쪽 또는 오른쪽에서 왼쪽)으로 텍스트를 처리합니다. 그러나 BERT는 문장 내의 단어를 고려할 때 그 단어를 둘러싼 양쪽 문맥을 모두 사용하므로 "양방향"이라는 용어가 사용됩니다. Encoder: BERT는 Transformer 아키텍처의 인코더 부.. 2023. 8. 26.
[7주차 - Day5] ML_basics - 실습 이 프로젝트에서는 음식 배달 서비스의 배달 시간을 예측하는 모델을 개발했습니다. 이 모델은 주문의 다양한 특성(예: 주문 아이템 수, 가격, 주문 방식 등)을 기반으로 실제 배달 시간을 예측합니다. 이 모델은 사용자 경험을 향상하고, 서비스 효율성을 높이는 데 도움이 될 것입니다. # 라이브러리 import pandas as pd from sklearn.model_selection import train_test_split from sklearn.preprocessing import LabelEncoder from sklearn.ensemble import RandomForestRegressor from sklearn.metrics import mean_squared_error import numpy a.. 2023. 6. 22.
[7주차 - Day4] ML_basics - Probability Distributions (Part 2) 가우시안 분포 (Gaussian Distribution) 가우시안 분포가 일어나는 여러가지 상황 정보이론에서 엔트로피를 최대화시키는 확률분포 중심극한정리 단일변수 x D차원 벡터 x 여기서 u는 D차원의 평균 벡터이고, ∑는 D X D 크기를 가지는 공분산 행렬입니다. 중요한 것은 u와 ∑가 평균, 공분산으로 주어진 것이 아니고, 파라미터로 주어진 확률밀도함수의 평균과 공분산이 u, ∑가 된다는 것입니다. 가우시안 분포의 기하학적인 형태 x에 대한 함수적 종속성은 지수부에 등장하는 이차형식(quadratic form)에 있습니다. ∑가 공분산으로 주어진 것이 아니기 때문에 처음부터 이 행렬이 대칭이라고 생각할 필요는 없습니다. 그러나 이차 형식에 나타나는 행렬은 오직 대칭부분만이 그 값에 기여합니다. 따.. 2023. 6. 22.
[7주차 - Day3] ML_basics - Probability Distributions (Part 1) 밀도추정(Density Estimation): 𝑁개의 관찰데이터(observations) 𝐱1,…𝐱𝑁가 주어졌을 때 분포함수 𝑝(𝐱)를 찾는 것입니다. 𝑝(𝐱)를 파라미터화된 분포로 가정한다. 회귀, 분류문제에서는 주로 𝑝(𝑡|𝐱), 𝑝(C|𝐱)를 추정한다. 그다음 분포의 파라미터를 찾는다. 빈도주의 방법(Frequentist's way): 어떤 기준(예를 들어 likelihood)을 최적화시키는 과정을 통해 파라미터 값을 정한다. 파라미터의 하나의 값을 구하게 된다. 베이지안 방법(Bayesian way): 먼저 파라미터의 사전확률(prior distribution)을 가정하고 Bayes' rule을 통해 파라미터의 사후확률(posterior distribution)을 구한다. 파라미터를 찾았다면(한 .. 2023. 6. 21.
[7주차 - Day2] ML_basics - Decision Theory & Linear Regression 결정이론이란? 새로운 값 x가 주어졌을 때 확률모델 p(x, t)에 기반해 최적의 결정(예를 들어 분류)을 내리는 것 추론단계: 결합확률분포 p(x, Ck)를 구하는 것(p(Ck|x)를 직접 구하는 경우도 있음). 이것만 있으면 모든 것을 할 수 있음. 결정단계: 상황에 대한 확률이 주어졌을 때 어떻게 최적의 결정을 내릴 것인지? 추론단계를 거쳤다면 결정단계는 매우 쉬움. 예제: X-Ray의 이미지로 암 판별 x: X-Ray 이미지 C1: 암인 경우 C2: 암이 아닌 경우 p(Ck|x)의 값을 알기 원함 직관적으로 볼 때 p(Ck|x)를 최대화시키는 k를 구하는 것이 좋은 결정 기대손실 최소화 (Minimizing the Expected Loss) 모든 결정이 동일한 리스크를 갖는 것은 아님. 암이 아닌.. 2023. 6. 21.
[6주차 - Day4] ML_basics - Linear Algebra, Matrix Calculus Python에서의 벡터, 행렬 표현방법 [10.5, 5.2, 3.25, 7.0] [10.5, 5.2, 3.25, 7.0] import numpy as np x = np.array([10.5, 5.2, 3.25]) x.shape (3,) i = 2 x[i] 3.25 np.expand_dims(x, axis=1).shape (3, 1) A = np.array([ [10,20,30], [40,50,60] ]) A array([[10, 20, 30], [40, 50, 60]]) A.shape (2, 3) i = 0 j = 2 A[i, j] 30 j = 1 A[:, j] array([20, 50]) i = 1 A[i, :] array([40, 50, 60]) 행렬의 곱셉 (Matrix Multiplication).. 2023. 5. 14.
[6주차 - Day3] ML_basics - E2E End-to-End 머신러닝 프로젝트 부동산 회사에 막 고용된 데이터 과학자라고 가정하고 예제 프로젝트를 처음부터 끝까지 (End-to-End) 진행했습니다. 주요 단계는 다음과 같습니다. 프로젝트 과정 1. 큰 그림을 봅니다 (look at the big picture). 2. 데이터를 구합니다 (get the data). 3. 데이터로부터 통찰을 얻기 위해 탐색하고 시각화합니다 (discover and visualize the data to gain insights). 4. 머신러닝 알고리즘을 위해 데이터를 준비합니다 (prepare the data for Machine Learning algorithms). 5. 모델을 선택하고 훈련시킵니다 (select a model and train it). 6.. 2023. 5. 14.
Part2. Chapter 1 - 자동으로 모은 데이터는 분석하기 어렵다면서? 자동으로 모은 중고 자동차 데ᄋ.. 데이터 출처: https://www.kaggle.com/austinreese/craigslist-carstrucks-data Used Cars Dataset Vehicles listings from Craigslist.org www.kaggle.com Step 1. 데이터셋 준비하기 import pandas as pd import numpy as np import matplotlib.pyplot as plt import seaborn as sns Colab Notebook에 Kaggle API 세팅하기 import os # os.environ을 이용하여 Kaggle API Username, Key 세팅하기 os.environ['KAGGLE_USERNAME'] = 'jhighllight' os.enviro.. 2023. 3. 26.
Part1. Chapter 04 - 오늘 밤 유럽 축구, 어디가 이길까_ 데이터로 분석하고 내기르.. Step 1. 데이터셋 준비하기 import pandas as pd import numpy as np import matplotlib.pyplot as plt import seaborn as sns 데이터 출처: https://www.kaggle.com/hugomathien/soccer Colab Notebook에 Kaggle API 세팅하기 import os # os.environ을 이용하여 Kaggle API Username, Key 세팅하기 os.environ['KAGGLE_USERNAME'] = 'jhighllight' os.environ['KAGGLE_KEY'] = 'xxxxxxxxxxxxxxxxxxxxxxx' 데이터 다운로드 및 압축 해제하기 # Linux 명령어로 Kaggle API를 이용하.. 2023. 3. 9.
Part1. Chapter 03 - 롤(LOL) 좀 하니_ 이것만 하면 무조건 이긴다! Step 1. 데이터셋 준비하기 import pandas as pd import numpy as np import matplotlib.pyplot as plt import seaborn as sns Colab Notebook에 Kaggle API 세팅하기 import os # os.environ을 이용하여 Kaggle API Username, Key 세팅하기 os.environ['KAGGLE_USERNAME'] = 'jhighllight' os.environ['KAGGLE_KEY'] = 'xxxxxxxxxxxxxxxxxxxx' 데이터 다운로드 및 압축 해제하기 # Linux 명령어로 Kaggle API를 이용하여 데이터셋 다운로드하기 (!kaggle ~) # Linux 명령어로 압축 해제하기 !kaggl.. 2023. 3. 7.
반응형