본문 바로가기

Python51

Linear Algebra for AI_1 Introductory Linear Algebra for AIAI에서 선형대수는 핵심적인 역할을 한다. 벡터와 행렬을 다룰 수 있어야 머신러닝과 딥러닝의 수학적 원리를 이해할 수 있다.이 포스팅에서는 선형대수의 기본 개념부터 AI에서 어떻게 활용되는지까지 개괄적으로 정리한다.1. Fundamental Concepts of Linear Algebra선형대수에서 중요한 개념(연산)크게 Addition 과 Scaler Multiplication(Scailing) 이 있다.Addition (벡터/행렬의 덧셈과 뺄셈) : 벡터나 행렬의 요소별로 더하고 빼는 연산Scalar Multiplication (스칼라 곱셈) : 하나의 숫자(스칼라)를 벡터 또는 행렬에 곱해서 크기를 조정Linear Combination (.. 2025. 2. 23.
폐쇄망에서 파이썬 패키지 설치하기 인터넷 환경에서 사용하던 가상 환경 하나를 폐쇄망에서 설치하고 싶은 경우 PC 환경- 인터넷 가능 PC1,-  폐쇄망(DB) PC2 요약- PC1 : 패키지, 파이썬 버전 다운로드 파일로 저장- PC2 : 설치 1. PC1 ( 인터넷 o)패키지 다운로드(1) 가상환경 접속 후 , 설치된 패키지 목록을 requirements.txt 로 저장pip freeze > requirements.txt (2) requirements.txt 확인 및 정리requirements.txt 파일을 열어보면 //file , @ 등을 제거한다. (3) 패키지 다운로드패키지 폴더를 생성한 후, requirements.txt 에 있는 패키지를 whl/tar.gz 형태로 저장한다(install(x), download(x))pip do.. 2025. 1. 15.
Regression 손실 함수와 최적화 Supervised Learning (지도 학습)| Supervised Learning -> Input(x) 와 대응되는 target(y) 가 있는 경우데이터셋을 통해 새로운 입력(x) 가 주어졌을 때 y 를 출력하는 모델을 학습시킴모델의 출력값 y 를 prediction , 정답 y를 Label 이라고 함Y의 형태에 따라 Regression(회귀) - 실수형, Classification(분류)로 나뉨Conditional Probability Model(조건부 확률 모델)| True Distribution: 데이터는 실제 분포 P(X,Y)에서 Random sampling 된다고 가정 >  i.i.d (independent and identically distributed) 가정  :  샘플들이 서로 독립.. 2024. 12. 8.
A/B test , Uplift Modeling_1 A/B test 개요A/B test에 관한 것, 가설설정에 필요한 세부 요소, 데이터 분석가의 역할을 중심으로 설명할 것이다.1 ) A/B Test?| 대조군(A) 과 실험군(B)을 비교해 더 나은 성과를 나타내는 방법이 무엇인지 측정하는 실험 Audience(테스트 대상)대조군(Control) : 어떤 '처치'도 하지 않은 그룹실험군(Vaiation) : '처치'를 한 그룹 여기서, '처치' 란 콘텐츠, UX/UI , 프로모션 등을 적용한 것을 의미한다.대조군 대비 실험군이 어떤 성과를 보이느냐, 해당 성과가 더 나은 것인지 판단하는 목적으로 시행한다. 측정 : '전환' 즉, 의도한 액션을 취했는지를 비교데이터 분석가의 역할 : 대조군과 실험군의 차이가 통계적으로도 유의한 지 판단 "A/B test 는.. 2024. 12. 1.
항등 함수와 소프트맥스 함수 기계학습 문제는 크게 회귀와 분류로 나눈다.회귀에서는 출력층의 활성화 함수로, 항등 함수를분류에서는 출력층의 활성화 함수로, 소프트맥스 함수를 이용한다.1. 항등함수 identity function항등함수는 입력을 그대로 출력하는 함수이다.입력과 출력이 항상 같다는 뜻의 항등이다. 따라서 신경망에서 항등함수를 사용하게 되면, 입력 신호와 출력신호가 같다.  2. 소프트맥스 함수 softmax function$ y_{k} = exp(a_{k}) / \sum_{i = 1}^{n}exp(a_{i}) $ n : 출력층의 뉴런 수k : k번째 출력 소프트맥스 함수의 분자는 입력신호의 지수함수, 분모는 모든 입력 신호의 지수함수의 합이다.이를 그림으로 나타내면 다음과 같다.  즉, 츨력층의 각 뉴런이 모든 입력신호.. 2024. 9. 23.
신경망과 활성화함수 단층 퍼셉트론으로 AND, OR 게이트를 표현할 수 있고, 다층 퍼셉트론을 통해 XOR게이트를 표현할 수 있다는 것을 알았다.이번에는 신경망과 퍼셉트론의 차이점인 활성화 함수에 대해서 다뤄본다. 1. 신경망과 퍼셉트론신경망은 입력층(0층) > 은닉층 > 출력층으로 나눌 수 있다.신경망과 퍼셉트론의 차이점을 이해하기 위해, 퍼셉트론을 다시 생각해본다. $ y = \begin{Bmatrix}0  (b + w_{1}x_{1}+ w_{2}x_2 \leq \theta ) \\1  (b + w_{1}x_{1}+ w_{2}x_2 > \theta  \end{Bmatrix} $ 이 식을 조금 다른 형태로 작성해본다면, $ y = h(b + w_{1}x_{1}+ w_{2}x_2) $$ h(x) = \begin{Bmatri.. 2024. 9. 21.
퍼셉트론과 논리회로 1 퍼셉트론을 이해하기 위해, 논리회로를 직접 구현하면서 기초부터 정리했다.퍼셉트론과 신경망에 앞서, 함수를 구현하기 위해 가장 기본적인 Numpy 라이브러리의 브로드캐스트 기능을 먼저 알아야 한다.1. Numpy 브로드 캐스트넘파이 배열(np.array)은 N차원 배열을 작성할 수 있다.1차원 배열 : 벡터(Vector)2차원 배열 : 행렬(Matrix)3차원 배열 : 텐서(Tensor) 넘파이에서는 서로 다른 배열끼리도 계산할 수 있는 브로드캐스팅 기능이 있다.a = np.array([[3,4],[5,6]])b = np.array([10,20]) # [10,20],[10,20]의 계산과 동일하게 적용됨print(a*b)[[ 30 80] [ 50 120]] 이 기능을 사용해서 다차원 배열을 가지고 있는 .. 2024. 9. 18.
가중치 규제 - Ridge,Lasso,Elastic Net 0.  과적합(Overfitting) 과 일반화 성능회귀분석의 성능을 평가할 때 대부분 실제값 - 예측값의 차이를 가지고 평가한다.실제값 - 예측값의 관계만 살펴보게 되면 회귀계수에 대해서 과적합이 되는 경우가 발생할 수 있다.이렇게 되면, 당연히 train 데이터 성능보다,  test 데이터에서는 성능이 잘 안 나올 수 있고, 실시간 배치 데이터를 받았을 때 성능이 나빠질 수 있다. 과적합을 방지하여 일반화 성능을 높이는 방법은 다음과 같다. 1. 학습 데이터 늘리기2. 모델의 복잡도 줄이기3. 가중치 규제(Regularization) 적용4. 드롭아웃 모델은 기본적으로 손실함수(Cost Function)을 최소화하는 방법으로 작동한다.이때, 학습데이터에 존재하는 노이즈가 과하게 모델에 반영되어, 손실.. 2024. 7. 28.
RFM 기반 군집 분석 1. RFM 분석RFM 고객 분석하기 위한 피처를 R,F,M 피처를 가지고 고객을 이해/분석하는 방법론이다.Recency : 얼마나 최근에 구매했는가 Frequency : 얼마나 자주 구매했는가 Monetary : 얼마나 많은 금액을 지출했는가 RFM 지표 도출 방법RFM 지표 도출 단위는 고객 한명이다. (customerID로 groupby)Recency(R)가장 최근 구매한 상품 구입일과 현재 기준까지의 기간# 현재 날짜 설정 current_date = pd.to_datetime('today') # Recency 계산 df['InvoiceDate'] = pd.to_datetime(df['InvoiceDate']) recency_df = df.groupby('CustomerID').InvoiceDate.. 2024. 5. 26.
K-Means Clustering 알고리즘 Clustering 알고리즘이란?레이블이 지정되지 않은 데이터 셋을 일정한 클러스터 기준으로 그룹화하는 알고리즘이다 -> Unsupervised Learning(비지도 학습)클러스터링 알고리즘은, 데이터셋이 얼마나 뭉쳐져 있는지/ 얼마나 떨어져있는지/ 비슷한 분포를 따르는지 등의 기준으로 그룹화 할 수 있다.Kmeans Clustering 알고리즘이란?데이터를 K개의 클러스터로 그룹화하는 알고리즘으로, 데이터 포인트끼리 얼마나 가까운지를 기준으로 그룹화한다.클러스터의 중심점(Centroid)을 가지고, 클러스터를 할당하거나 중심점을 업데이트 하는 방식으로 작동한다. 핵심 아이디어할당 단계(cluster assignment step) :  K 개의 클러스터를 할당업데이트 단계(move centroid st.. 2024. 5. 11.