AI 26

Gemini API 이용하기

https://gdg.community.dev/events/details/google-gdg-on-campus-kookmin-university-seoul-south-korea-presents-build-with-aipre-solution-challenge/ Build with AI(Pre-Solution Challenge) | Google Developer GroupsIn-person Event - Build with AI: Gemini로 시작하는 AI 입문 세션 AI가 처음인 Solution Challenge 참가자&참가 희망자들을 위한 기초 세션입니다. Google의 최신 AI 모델인 Gemini를 활용해 AI의 기본 개념과 실습을gdg.community.dev !pip install google..

AI 2025.05.03

Kernel

데이터를 공이라고 생각하고 공을 공중에 던져보면 구분 경계를 쉽게 찾을 수 있다. 이 과정을 kernel trick 이라고 한다. 왼쪽의 그림에서는 주황색 또는 파란색 선을 그어도 missclassification 이 포함되게 된다. 여기에 한 차원들 더해서 2차원으로 만들면 적당한 구분선을 그을 수 있다. Kernel function 은 데이터를 고차원 공간으로 매핑하는 역할을 한다. 참고로 Kernel 은 SVM 에만 사용되는 것이 아니라 내적 ⟨x,z⟩형태로 표현되는 다양한 알고리즘에 적용할 수 있다. Dimension 을 증가시키는 다양한 경우에 활용될 수 있다.  Kernel trick 적용하기Step 1: 알고리즘을 두 입력 벡터의 내적 형태 로 작성하기예: ⟨x,z⟩ SVM 같은 경우, 결정..

AI/ML 수업 정리 2024.10.27

SVM

두 개의 클래스로 이루어진 데이터를 직선을 그어 분류해보자. 예시에서와 같이 구분선은 여러가지 일 수 있다. 이 중에서 무엇이 가장 좋은 구분선일까?  정답부터 말하자면 large margin 을 가지는 직선이 가장 좋은 구분선이다. 각 클래스에서 구분선과 가장 가까운 데이터를 고른다. 그 두 데이터 사이의 거리가 바로 margin 이다. (Space 라고 부르기도 한다.) SVM 모델은 이 margin 을 최대화 하는 것이다. Marign 을 계산하는 방법에는 Functional margin 과 Geometric margin 이 있다.  상황 정의Functional margin 과 Geometric margin 에 대해 살펴보기 전에! 상황을 정의하고 넘어가자. 우리가 다루는 데이터는 직선으로 구분할 ..

AI/ML 수업 정리 2024.10.27

3-1. Naive Bayes

나이브 베이즈는 텍스트 분류에 좋은 분류 방법이다. 나이브 베이즈를 잘 설명해주는 예시는 스팸 분류기이다. 우선, 사전에 있는 모든 단어들을 딕셔너리로 만든다. 그리고, 이메일에 해당 단어가 포함되어 있으면 1, 아니면 0을 포함해 feature vector x를 만든다. 따라서 여기서 변수 $x_i$ ​는 연속적인 실수 값이 아닌 이산값을 가진다. 하지만 단어가 50k 개나 된다. 벡터 값이 모두 0인 경우, 즉 아무 단어도 없는 경우를 제외하면 파라미터의 개수는 $2^{50k} -1$이다. 그래서 우리는 discriminative algorithm 대신 generative algorithm 을 사용한다. Discriminative 와 generative algorithm 은 지난 시간에 알아보았..

AI/ML 수업 정리 2024.10.08

2-2 Linear Models for Classification

1. ClassificationRegression 이 주어진 입력에 대해 연속적인 숫자값을 예측하는 것이라면, Classification 은 주어진 데이터를 몇 개의 그룹으로 분류를 하는 것이다. 메일이 스팸 메일인지 아닌지 분류하는 문제가 예이다.  이진분류를 위해서는 이전에 regressions 에서 정의한 함수와는 다른 함수를 정의해야 한다. 2. Logistic Regression하지만 갑자기 새로운 걸 배우려면 머리가 아프니깐 기존에 아는 것에서부터 차근차근 발전시켜 보자. Logistic regression은 우리가 앞서 공부한 Linear regression 의 확장 버전이다. 즉, 회귀를 분류 문제에 사용하는 것이다.  Linear regression 에서 사용했던 이 식을 기억하는가? 이..

AI/ML 수업 정리 2024.10.04

2-1. Linear Models for Regression

1. Locally Weighted Linear Regression Model🍊 Underfitting vs. Overfitting 두 그래프 중 데이터를 더 잘 fit 시킨 함수는 무엇일까? 왼쪽 그래프는 직선에서 벗어난 데이터들이 2-3개 있고, 오른쪽 그래프는 모든 점을 완벽하게 커버하지만 함수 식이 매우 복잡하다. Underfitting 과 Overfitting 의 정의에 대해서는 다음 시간에 자세히 알아보도록 하고, 이번 시간에는 둘 다 바람직하지 않다는 것만 알아두자.  🍊 Locally Weighted Linear Regressionunderfitting 과 overfitting 을 피할 수 있는 방법 중에 하나가 locally weighted linear regression model ..

AI/ML 수업 정리 2024.09.20

1-2. Linear Models for Regression

👤월별 방문객 수, 👛방문객 당 소비 금액. 이 두 가지 feature 를 고려하여 💵편의점의 월별 매출을 예측해보자.월방문객 수방문객 당 소비 금액매출860001300600만945001500520만10???1. Linear regression model예측을 위해선, Linear regression model 을 사용할 수 있다. 우리의 목표는 월별 방문객 수, 방문객 당 소비 금액을 이용하여 월별 매출을 예측하는 함수를 만드는 것이다. 함수는 다음과 같이 정의할 수 있다.먼저, m은 feature 개수이다. 위의 예시에서는 월별 방문객 수, 방문객 당 소비 금액을 고려하기로 했으니 m=2가 되겠다.  \(x_{1}\) 은 방문객 수, \(x_{2}\)  는 방문객 당 소비 금액이 되겠다. 종속 ..

AI/ML 수업 정리 2024.09.17

1-1. Introduction to Machine Learning

1. Supervised Learning Models- Linear regression- Logistic regression- SVM- K-nearest neighbors- neural networks  2. Unsupervised Learning Models- PCA- k-means-hierarchical clustering 3. Regression vs. ClassificationRegressionClassification예측하고 싶은 것이 숫자연속적인 수치 값 예측예측하고 싶은 것이 범주 (클래스)ex. 주택 가격ex. 양성/음성 4. 예시 - 스팸 메일인지 아닌지 -> Supervised Learning (binary classification)- 전립선암과 관련된 건강 데이터를 활용하여 PSA(..

AI/ML 수업 정리 2024.09.14

분류 실습 with 산탄데르 고객 만족 예측

[Step 1] 데이터 로딩캐글 사이트에서 데이터를 다운로드 한다. https://www.kaggle.com/competitions/santander-customer-satisfaction/data Santander Customer Satisfaction | Kaggle www.kaggle.com 고객만족 여부를 XGBoost 와 LightGBM 을 활용해 예측해보자. 클래스 레이블 명은 Target 이고, 이 값이 1이면 불만, 0이면 만족한 고객이다.대부분이 만족이고 일부만 불만족이기 때문에 모델 성능 평가로는 ROC-AUC 가 적합하다. [Step 2] 데이터 확인🧡 info()칼럼은 371개 이다. 데이터 타입은 float 와 int 이다. Null 값은 없다.  🧡 value_counts()..

데이터 전처리 실습 with 타이타닉 생존자 예측

[Step 1] 데이터 로딩1. 캐글 사이트에서 데이터를 다운로드 한다. https://www.kaggle.com/c/titanic/data  Titanic - Machine Learning from Disaster | Kaggle www.kaggle.com 2. pandas 를 import 한다. 3. read_csv() 를 이용하여 파일을 읽는다.  import pandas as pdtitanic=pd.read_csv('/파일 경로/train.csv') [Step 2] 데이터 확인🧡 info() 🧡 describe()개략적인 데이터 분포도를 확인할 수 있다. count 는 not null 인 데이터 건수, std 는 표준편차를 의미한다.  🧡 value_counts()해당 칼럼값의 유형과 건수를..

회귀

1. 회귀데이터 값이 평균과 같은 일정한 값으로 돌아가려는 경향을 이용하는 통계학 기법이다. 회귀 분석은 여러 개의 독립변수와 한 개의 종속변수 간의 상관관계를 모델링하는 것이다. 머신러닝 회귀 예측은 주어진 피처와 결정 값 데이터에서 최적의 회귀 계수를 학습을 통해 찾아내는 것이다.   여러 가지 회귀 중에서 선형 회귀가 가장 많이 이용된다. 선형 회귀는 실제 값과 예측 값의 차이(오류)를 최소화하는 직선형 회귀선을 최적화하는 방식이다. 이때, 과적합 문제가 발생하곤 한다. 이를 해결하기 위해 회귀 계수에 페널치 값을 적용한다. 이것을 '규제' 라고 한다. 선형 회귀 모델은 규제 방법에 따라 다시 별도의 유형으로 나뉜다.  2. 단순 선형 회귀단순 선형 회귀는 독립 변수와 종속 변수가 각각 하나인 선형..

분류

1. 분류 개요지도학습의 대표적 유형기존 대이터가 어떤 레이블에 속하는지 패턴을 알고리즘으로 인식한 뒤에 새롭게 관측된 데이터에 대한 레이블 판별분류 알고리즘 종류나이브 베이즈로지스틱 회귀결정 트리 → 데이터 균일도서포트 벡터 머신 → 개별 클래스 간 최대 마진 분류최소 근접 알고리즘신경망앙상블 → 서로 같거나 다른 알고리즘 결합배깅랜덤 포레스트부스팅그래디언트 부스팅 : 수행 시간 bad👎개선XgBoostLightGBM2. 결정 트리데이터에 있는 규칙을 자동으로 찾아내 트리 기반의 분류 규칙을 만든다. 이때, 많은 규칙이 있다는 것은 분류를 결정하는 방식이 복잡해진다는 의미이다. 따라서 트리의 깊이가 깊어질수록 결정 트리의 예측 성능은 저하될 수 있다. 가능한 적은 결정 노드로 높은 예측 정확도를 가지..

평가

머신러닝은 데이터 가공/변환, 모델 학습/예측, 평가 의 프로세스로 구성된다. 그 중 '분류' 의 평가 방법에 대해 알아보자.분류의 성능 평가 지표는 정확도, 오차행렬, 정밀도, 재현율, F1 스코어, ROC AUC 가 있다.1. 정확도1.1 개요정확도는 실제 데이터에서 예측 데이터가 얼마나 같은지를 판단하는 지표이다. 가령, 0~9 중에 7이라는 숫자를 true 로 판단하고 나머지 숫자를 인식했을 때는 false 로 판단하고 싶다고 하자. 이 때, 어떤 숫자를 인식하던지 false 라고 판단하게 된다면, 90%의 정답율을 가지게 된다. 따라서 한계가 있다. 이진분류의 경우 데이터의 구성에 따라 ML 모델의 성능이 왜곡될 수 있기 때문에 정확도 수치 하나만 가지고 성능을 평가하지 않는다.2. 오차 행렬오..

사이킷런

1. 붓꽃 품종 예측하기1.1 사이킷런 모듈 import지도학습 방법 중 하나인 분류 (Classification)학습 데이터 세트로 모델을 학습한 뒤, 별도의 테스트 데이터 세트에서 미지의 label을 예측한다.sklearn.datasets : 데이터 세트 생성하는 모듈의 모임sklearn.tree : 트리기반 ML 알고리즘 구현 클래스의 모임DecisionTreeClassifier : 의사 결정 트리 클래스sklearn.model_selection : 학습 데이터와 테스트 데이터 세트 분리하거나 최적의 하이퍼 파라미터로 평가하기 위한 모듈의 모임하이퍼 파라미터: 머신러닝 알고리즘별로 최적의 학습을 위해 직접 입력하는 파라미터들이다. 이를 통해 머신러닝 알고리즘의 성능을 튜닝할 수 있다.👉 label..

판다스

1. 판다스란?파이썬에서 데이터 처리를 위한 라이브러리리스트, 넘파이 등의 내부 데이터 뿐만 아니라 CSV 파일을 쉽게 DataFrame 으로 변경 가능용어DataFrame: 여러 개의 행과 열로 이뤄진 2차원 데이터를 담은 데이터 구조체Index: 개별 데이터를 고유하게 식별하는 Key값Series: 칼럼이 하나뿐인 데이터 구조체2. 판다스 APIread_csvCSV 파일의 포맷을 DataFrame 으로 변환.칼럼 구분 문자 → 점 (.)디폴트 필드 구분 문자 → 콤마 (,)다른 구분 문자 기반의 파일 포맷도 변환 가능read_csv(’파일명’, sep=’/t’)read_table필드 구분 문자 → 탭 (\t)read_fwf고정 길이 기반의 칼럼 포맷을 DataFrame으로 로딩하기 위한 APIhead..