본문 바로가기

박조은

[멋쟁이사자처럼 AI스쿨] TIL(23.4.12) 딥러닝3 TensorFlow => scikit-learn style API 와 유사 PyTorch => NumPy API 와 유사 batch => 작게 지정하면 학습을 더 빠르게 진행할 수 있으나, 클래스가 여러개인 분류 문제에서 클래스가 불균형하게 학습하지 않도록 주의가 필요합니다 sigmoid => activation function 으로 사용했지만, 기울기 소실 문제 때문에 활성화 함수(activation function)로는 잘 사용하지 않고 이진 분류의 출력을 확률 값으로 만들어 줄 때 사용합니다. 0~1사이의 값으로 출력합니다. softmax => 분류의 output logit 값에 대한 확률 변환을 할 때 사용합니다. 클래스의 수 만큼 출력이 되며 모든 클래스를 다 더했을 때 1이 됩니다. 클래스가 .. 더보기
[멋쟁이사자처럼 AI스쿨] TIL(23.4.11) 딥러닝2 딥러닝 학습 개요 1) 기본 네트워크에 대한 동작 방식 학습 2) 심층신경망(DNN), Fully Connected Network(완전연결신경망), Densely Connected Network(밀집신경망) 3) 합성곱신경망(CNN) => 주로 이미지 분류에 사용. (이미지, 텍스트, 정형데이터) 4) 순환신경망(RNN) => 순서가 있는 데이터, 시계열데이터, 자연어처리 등에 주로 사용 flatten -> 2차원 이미지를 1차원으로 만들어줌 dense -> unit의 개수 (하이퍼 파라미터) 네트워크를 깊게 쌓으면 대체적으로 성능이 좋아지나, 과적합 문제 발생 가능. dropout, 여러가지 전처리, batch 사용 기울기소실 문제는 네트워크를 깊게 쌓았을 때 back propagation 과정에서 발.. 더보기
[멋쟁이사자처럼 AI스쿨] TIL(23.4.10) 딥러닝 17주차 학습 목표 1) 기본 네트워크에 대한 동작 방식 학습 2) 심층신경망(DNN), Fully Connected Network, Densely Connected Network 3) 합성곱신경망(CNN) => 이미지, 텍스트 다 사용가능하지만 주로 이미지 분류에 사용 4) 순환신경망(RNN) => 순서가 있는 데이터, 시계열데이터, 자연어처리 등에 주로 사용 딥러닝 => 비정형(이미지, 영상, 텍스트, 음성)데이터에 대한 피처를 추출할 때 알고리즘 내부에서 추출 CNN(Convolutional Neural Network) 합성곱신경망, 시각적 이미지를 분석하는 데 사용, 현재 가장 많이 사용되고 있는 알고리즘 RNN(Recurrent Neural Network)의 약자로, 순환 신경망, 입력과 출력을.. 더보기
[멋쟁이사자처럼 AI스쿨] TIL(23.3.29) svd, 토픽모델링 Numpy 대규모의 수학연산 시 속도 지연을 보완 행렬, 다차원 배열 쉽게 처리 데이터 구조 외 수치계산을 위한 효율적으로 구현된 기능 제공 Numpy가 빠른 이유 벡터화 → 간결하고 읽기 쉬움 코드는 표준 수학적 표기법과 비슷, 버그가 적음 내부적으로 반복 사용 x 산술 연산 및 논리적, 비트 단위, 기능적 등의 모든 연산이 브로드캐스트 방식으로 동작 (벡터, 행렬 연산) Numpy의 zeros, ones, zeros_like, ones_like → 삼각 행렬 마스크 numpy 배열 생성 numpy 정렬 numpy 브로드캐스팅(Broadcasting) > 모양이 다른 배열들 간의 연산이 어떤 조건을 만족했을 때 가능해지도록 배열을 자동적으로 변환하는 것 1. 맴버가 하나인 배열은 어떤 배열에나 브로드캐.. 더보기
[멋쟁이사자처럼 AI스쿨] TIL(23.3.28) 텍스트 분석, 자연어처리2 0802 실습 단어-벡터화 결과를 모델로 예측하기 - ‘코로나’라는 단어가 들어가는 문장을 보건으로, 나머지를 교통으로 분류 - sklearn의 featureselection.text의 CountVectorizer 사용하여 df[‘문서’]를 벡터화 - CountVectorizer는 bow(bag of words)라는 벡터화 기법. 단어의 출현빈도만 고려하고 순서는 무시하여 의미를 잃을 수 있다는 단점이 있음. - DecisionTreeClassifier로 분류하고, 다양한 시각화를 진행함 0803 실습 KoNLPy 형태소 분석기를 사용해 조사, 어미, 구두점을 제거하고, 모델로 분류하기 - 정규표현식 사용해 한글, 영문, 숫자만 남기고 제거하기 - Okt 클래스를 이용해 형태소 분석하기 morphs → .. 더보기
[멋쟁이사자처럼 AI스쿨] TIL(23.3.27) 텍스트 분석, 자연어처리 오버샘플링은 1000 개중에 10개 등으로 데이터수가 충분하지 않을 때 사용 언더샘플링은 데이터의 수가 충분할 때 사용 Q. 왜 Accuracy 만으로는 제대로 된 분류의 평가를 하기 어려울까? 예를 들어 암 여부를 예측하는 모델이라고 할 때 현실세계에서 건강검진을 했을 때 1000명 중에 1명이 암환자라면 학습을 했을 때 암환자의 특징을 학습하기도 어려울 뿐더러, 정확도인 Accuracy로 측정하게 되면 모두 암환자가 아니라고 했을 때 99.9%가 정확도로 나오게 됩니다. 1명의 암환자를 제대로 찾지 못했기 때문에 해당 모델은 잘 만든 모델이라고 평가할 수 없습니다. Q. 코퍼스 corpus 란? - 언어 연구를 위해 텍스트를 컴퓨터가 읽을 수 있는 형태로 모아 놓은 언어 - 자료. 매체, 시간, 공간.. 더보기
[멋쟁이사자처럼 AI스쿨] week14 - WIL AIS8 week14 23.3.20 - 3.22 머신러닝 with Gradient Boosting, 머신러닝 워크플로우 1. 문제 정의 2. 데이터 수집 및 EDA 3. 데이터 전처리 4. Feature 선택 및 추출 5. 모델 선택과 학습 6. 모델의 성능 평가 7. 모델 개선 Gradient Boosting XGBoost(Extreme Gradient Boosting) 손실함수를 토대로 매 iteration마다 하나의 leaf로부터 가지를 늘려나감 손실 함수가 최대한 감소하도록 하는 split point(분할점)를 찾는 것이 XGBoost의 목표 GBM 대비 빠른 수행시간(병렬 처리) Early Stopping(조기 종료) 기능이 있음 모델의 Overfitting 학습시간이 느림 과적합 방지를 위해 .. 더보기
[멋쟁이사자처럼 AI스쿨] TIL(23.3.22) confusion matrix confusion matrix 모델이 맞혔을 때 → T 모델이 틀렸을 때 → F 모델의 예측값이 True -> P 모델의 예측 값이 False -> N Precision : 예측값 기준 , tp / (tp + fp) > 1종 오류, 맞지 않는 걸 보고 맞다고 하는 것 ex) 스펨메일이 아닌데 스팸메일로 잘못 예측 임신이 아닌데 임신으로 잘못 예측 - precision이 낮다 : 참이 아닌데 참이라고 한 것이 많다 - precision이 지나치게 높다 : 참으로 예측한 경우가 필요 이상으로 적다 Recall : 실제값 기준, tp / (tp + fn) > 2종 오류, 맞는 것을 맞지 않다고 하는 것 ex) 암인데 암이 아니라고 잘못 예측 임신인데 임신이 아니라고 잘못 예측 - recall이 낮다 : 참인데.. 더보기