본문 바로가기

파이썬 & 머신러닝과 딥러닝

(53)
파이썬 문법 보충, 데이터 분석 라이브러리 파이썬 문법 보충자료구조list [] : 중복값 허용tuple () : 중복값 허용, 데이터 수정 불가set {} : 중복값 없음(and로 교집합 만들기 가능), 데이터 수정 가능dictionary { 'key1' : 'value1'} 함수list(tuple1) -> 리스트 안에 튜플 넣기 가능  .count()  -> 특정 문자 개수를 세어야하는 경우 input()  -> input() 함수는 디폴트로 str 데이터를 타입으로 받아옴정수형은 int(input())으로 받아올 수 있는데.split(' ')을 쓰는 경우는 int(input()) 뒤에 쓸 수 없음 enumerate -> 인덱스를 생성해주는 함수: 반복 가능한 객체인 리스트, 튜플, 문자열 등에서 인덱스(배열로 따지면 a[ 여기 ]) 와해당 ..
20일차 - 순환신경망의 개념, RNN 드롭아웃, LSTM, 영화리뷰 분류, 로이터 기사 분류 순차 데이터 (Sequential Data) : 텍스트, 시계열 순서가 의미를 가져 순서에 따라 말이 달라질 수 있음 순환 신경망 (RNN) vs 피드-포워드 신경망 순환 신경망 : 나가는 출력에 weight가 있어서 그 weight를 기억 순환 신경망 (Recurrent Neural Network, RNN) 지나간 정보가 기억 되어야할 필요가 있다. 기억 -> 순환으로 표현 셀 == 순환 층 순환층의 활성화 출력 == 은닉상태 (각각의 셀이 순환이 된다. -> 활성화 함수 (tanh) 사용) 타임스텝으로 펼친 신경망 순환 신경망의 가중치 은닉 상태의 순환 : 셀 안에 그물처럼 엉키기 순환 신경망의 입력과 출력 단어 == 토큰 시퀀스 길이(타임스텝) == 단어 길이 하나하나가 특성 -> 현재 4개의 특성..
19일차 - 함수형 API, 전이학습, 데이터 증대, 이미지 분류 합성곱 신경망의 시각화 가중치 시각화 (필터 시각화) CNN은 학습을 하면 자기가 잘 찾아내는 쪽으로 weight가 학습됨 예를 들어 첫번째 필터가 곡선을 나타내는 필터라 가정하면 이미지가 3x3에 곱하고 더한 결과가 나오게 되는데 자기가 찾는 곡선과 일치하면 곱하고 더한 출력값 z가 크게 활성화됨 -> 찾아냄 곡선에 해당하는 부분에 가중치(weight)가 큰 값이 학습되어 있다. 합성곱 신경망의 시각화 – 가중치 시각화 만들어진 특성맵과 특성 시각화 - 저번 시간 코드 이어서 -> 32장의 필터 시각화 하기 -> 3x3 weight 시각화 -> 0.0 쪽에 값이 몰려있는 양상 -> imshow() : weight 출력 -> vmin, vmax : 절대 기준치를 잡아줌 (같은 값은 같은 색) -> 3x3..
18일차 - 합성곱 신경망의 개념, 2차원 합성곱, 3차원 합성곱, 합성곱 신경망 시각화 합성곱 신경망 (Convolutional Neural Network, CNN) 고양이의 눈에서 답을 얻다 전체 뉴런을 활용하지 않고 이미지에 따라 고앵이의 뉴런이 활성화된다. -> CNN 만들어짐 • CNN은 이미지를 위해 사용되는 인공신경망의 한 종류 • 입력 이미지로부터 특징을 추출하여 입력 이미지가 어떤 이미지인지 클래스를 분류함 -> 기존의 일반 신경망은 한픽셀 한픽셀 정보가 동등하게 중요했지만 CNN은 이미지의 모든 특성을 고려하지 않고(전체 뉴런을 활용하지 않고) 특징점을 찾아 부분부분의 특징을 찾아내는 신경망 • 일반 신경망의 경우, 이미지 전체를 하나의 데이터로 입력하기 때문에 (뉴런을 100% 써서) 이미지의 특성을 찾지 못하고, 이미지의 위치가 약간 변경되거나 왜곡된 경우 올바른 성능을..
17일차 - 크로스엔트로피, 다층 신경망 그래디언트 소멸, 하이퍼파라미터 최적화, 손실 곡선, 검증 손실, 드롭아웃, 모델 저장과 복원 손실 함수 (Loss Function) : 지금 weight로 만들어낸 결과값이 실제값과 얼마나 차이가 있고 차이를 줄이기 위해서는 weight를 얼마나 해야하나 선형회귀 (Linear Regression) • 평균 제곱 오차 (Mean Squared Error, MSE) 오차가 많으면 손실함수가 내놓는 값이 크고 오차가 작으면 값이 작다. • 로지스틱 회귀 (Logistic Regression) 이진 크로스 엔트로피 (Binary Cross Entropy) : 이진 분류를 위한 손실함수 (로지스틱회귀를 위한 손실함수) 손실함수를 loss가 크게 나면 손실함수의 값이 크게 나오고 loss가 작게 나면 손실함수의 값이 작게 나온다. 타겟이 0일 때 로그 함수의 특성과 잘 맞다 -> 로그 함수 특성을 사용 ..
16일차 - 딥러닝의 역사, 퍼셉트론, 다층 퍼셉트론, 역전파 알고리즘 상세, 활성화 함수 및 원리 https://bit.ly/20240201_YU_AI (복습) 딥러닝을 “잘” 이해하려면 딥러닝의 가장 말단에서 이루어지는 기본적인 두 가지 계산원리를 알아야함 • 선형 회귀 & 로지스틱 회귀 (시그노이드) 선형 회귀 (Linear Regression)란? • ‘x값이 변하면 y값도 변한다‘라는 정의에서 독립 변수: 독립적으로 변할 수 있는 값, 즉 x 종속변수: 독립 변수에 따라 종속적으로 변하는 값, 즉 y • 선형 회귀: 독립변수 x를 사용하여 종속 변수 y의 움직임을 예측하고 설명하는 작업을 의미 • 직선의 방정식: f(x) = mx+b -> 선형 회귀는 입력 데이터를 가장 잘 설명하는 기울기(m)와 절편 값(b) 을 찾는 문제이다 • 선형 회귀의 기본식: f(x) = Wx+b 기울기 -> 가중치..
15일차 - 비지도 학습, 군집 알고리즘, k-평균, 차원축소, 주성분 분석 (복습) 결정트리 높은 성능, 과대 적합이 되기 굉장히 쉬움 결정 트리를 활용한 앙상블 알고리즘 원본데이터 대신 중복된 샘플 데이터 사용 무작위성 주입 -> 의도적 성능 감소 랜덤 선택 주입 -> 의도적 성능 감소 6-1 비지도 군집 비지도 학습 비지도 학습 : 군집, 차원 축소 과일 사진을 종류별로 모아 보자. 사용자가 처음부터 무슨 과일을 올릴지 모름 (타겟이 없음, 특성 데이터만 존재) 과일을 종류대로 분류해서 모으기 -> 사진을 보고 과일 사진을 자동으로 분류하자 기본 아이디어 : 과일 사진의 픽셀 값을 모두 평균 내면 비슷한 과일끼리 모일까? 과일 사진 데이터 준비하기 일단, 과일 데이터를 다음 3가지로 고정하자 : 사과, 바나나, 파인애플 (기본 가정, 문제 풀이의 제약조건) -> 파이썬 코드..
14일차 - 경사하강, 결정트리, 앙상블 학습, 랜덤 포레스트, 교차검증과 그리드 서치 (복습) 상자 내부의 생선 확률 예측 문제 -> K-최근접 이웃 분류 알고리즘 활용 가장 가까운 K개의 이웃 찾고, 그 클래스 개수(비율) 사용 확률 종류가 1/n 로만 출력 (고정 확률값) 조금 더 현실적 확률 출력 -> 로지스틱 회귀 (분류 알고리즘) 선형 방정식 학습 및 표준점수 Z값 확인 확률적 분류 문제로 변환 위해 Z 값 사용 이진 분류 : 시그모이드 함수 다중 분류 : 소프트맥스 함수 𝑧 = 𝑎 × 무게 + 𝑏 × 길이 + 𝑐 × 대각선 + 𝑑 × 높이 + 𝑒 × 두께 + 𝑓 4-2 경사하강 럭키백 대박 데이터가 동적으로 계속 갱신되고 있는 상황 어떤 생선이 회사에 추가될지, 그리고 언제 추가될지 모름 새로운 샘플이 도착할 때 마다 계속 추가적으로 훈련하는 모델이 필요함 (1) 데이터가 추가..