본문 바로가기

전체 글65

[밑바닥부터 시작하는 딥러닝] Chapter 2. 퍼셉트론 밑바닥부터 시작하는 딥러닝 요약 Chapter 2. 퍼셉트론 퍼셉트론(perceptron) 알고리즘 프랑크 로젠브라크(Frank Rosenblatt)가 1957년 고안 신경망(딥러닝)의 기원 2.1 퍼셉트론이란? 퍼셉트론 다수의 신호를 입력받아 하나의 신호로 출력 *신호 흐름과 유사, 흐른다 => 1, True 흐르지 않는다 => 2, False 인공 뉴런, 단순 퍼셉트론 $x1$, $x2$ : 입력신호 $y$ : 출력신호 $w1$, $w2$ :가중치(weight) 그림의 원 : 뉴런 or 노드 가중치가 클수록 강한 신호 (전류에서의 저항과 유사) 입력신호가 뉴런에 보내질 때 고유한 가중치를 곱함 $\theta$ : 임계값 $y= \begin{cases} 0 \ (w_1x_1 + w_2x_2 \theta.. 2023. 1. 29.
[1219] 시계열 데이터와 비즈니스 데이터 분석 시계열 분석 1. tensorflow 링크 https://www.tensorflow.org/tutorials/structured_data/time_series 2. window_size 비즈니스 데이터 분석과 군집화 1. 오가닉 트래픽(Organic Traffic) 광고나 소셜미디어, 리퍼럴 사이트와 같은 채널을 통해 사이트로 유도되는 트래픽을 제외하고 검색 엔진을 통해 곧바로 유입되거나 동일한 도메인 안에서 유입되는 트래픽 '고객에게 자연스럽게 도달한다'는 의미 2. Attribute Information InvoiceNo : 송장번호, 6자리 정수 이 코드가 문자 'c'로 시작하면 취소를 의미 StockCode : 제품 코드 Description : 제품 이름 Quantity : 거래당 각 제품의 수.. 2022. 12. 19.
[1215] RNN 텍스트 데이터 벡터화 하는 방법? 토큰화(str.split()) => one-hot-encoding => bag of words(min_df, max_df, analyzer, stopwords, n-gram) => TF-IDF(너무 자주 등장하는 단어는 낮은 가중치, 특정 문서에만 자주 등장하는 단어는 높은 가중치) RNN 은 순서가 있는 데이터를 예측할 때 주로 사용하는데 BOW 순서를 보존하지 않습니다. 그래서 시퀀스 방식의 인코딩을 사용했습니다. Embedding => 여러 각도에서 단어와 단어 사이의 거리를 봅니다. 가까운 거리에 있는 단어는 유사한 단어이고 거리가 멀 수록 의미가 먼 단어 입니다. => 의미를 좀 더 보존할 수 있게 되었습니다. 텍스트 데이터 전처리 방법? 정규표현식 => 텍스트.. 2022. 12. 15.
[1214] KoNLPy와 RNN(1) KoNLPy 필요성 대표적인 자연어 처리 도구인 NLTK, Spacy는 한국어를 지원하지 않음 설치 => 복잡하다! 1) 자바 설치 2) Jpype를 설치하여 파이썬과 연결 3) 최종 설치 품사 태깅 클래스 간 비교 => Komoran은 자바용이라서 소속 개발자들이 울분을 토하고 있음. Pecab 깃허브 : https://github.com/hyunwoongko/pecab Pecab is pure python Korean morpheme analyzer based on Mecab 설치 : !pip install pecab from pecab import PeCab pecab = PeCab() pecab.pos("점심 메뉴 추천 받습니다.") >>> [('점심', 'NNG'), ('메뉴', 'NNG'), .. 2022. 12. 14.
[1212] CNN 마무리와 NLP 입문 1004 날씨 분류 실습 CNN 복습 1) MNIST, FMNIST, cifar10, 말라리아 혈액도말 이미지, 날씨이미지 를 통해 이미지 분류 실습을 알아보았습니다. 2) CNN Explainer 를 통해 Conv, Pooling 과정을 이미지로 이해해 봤습니다. 3) 왜 완전밀집연결층을 첫 레이어 부터 사용하지 않고 합성곱 연산을 했을까요? 완전밀집연결층은 flatten해서 이미지를 입력해주는데 그러면 주변 이미지를 학습하지 못 하는 문제가 생깁니다. 합성곱, 풀링 연산으로 특징을 학습하고 출력층에서 flatten해서 완전연결밀집층에 주입해 주고 결과를 출력합니다. 4) 기존에 사용했던 DNN 에서 배웠던 개념을 확장해서 합성곱 이후 완전연결밀집층을 구성하는 형태로 진행해 봤습니다. 5) 이미지 전처.. 2022. 12. 12.
[1207] 전이학습과 다차원 배열 1003 실습과 1004 실습 소개 1003 => 전이학습(trasfer learning) => 기존 유명한 논문의 CNN 모델이 이미 TF, keras, PyTorch 등에 구현이 되어있습니다. 그래서 해당 모델을 직접 구현하지 않고 가져다 쓸 수 있는게 전이학습입니다. 여기에서 미세조정 등을 해주게 되면 직접 모델을 구현했을 때에 비해 거인의 어깨 위에 올라가서 사용하기 때문에 조금 더 나은 성능을 내기도 합니다. 1004 => 날씨이미지 분류(TF, keras 의 이미지 전처리 기능을 사용하지 않고 넘파이로 직접 이미지 array를 만들어 봅니다. 다차원 배열을 만들어 CNN에 적용하는 실습이 목적입니다.) CNN 복습 Q. 스트라이드(몇 칸씩 이동하는지)를 크게 설정하면? A. 용량은 줄어들고 학.. 2022. 12. 7.
[1206]합성곱 신경망 (Convolutional Neural Network, CNN) 실습 가비지 인 가비지 아웃 모든 사진 이미지가 학습에 도움이 되진 않는다. 이미지가 크기도 다 다르다. => 이미지 사이즈를 맞춰줄 필요가 있다. 데이터 증강 훈련 예제가 적으면 모델의 노이즈나 원치 않는 부분까지 지나치게 학습하여 과대적합 문제가 발생한다. => 이를 방지하는 방법은 데이터 증강과 드랍아웃이 대표적이다. 데이터 증강: 접돌땡(접고 돌리고 땡기고) tf.keras.layers.RandomFlip, tf.keras.layers.RandomRotation, tf.keras.layers.RandomZoom 포토샵에서 이미자 사이즈를 조정하듯, PIL, OpenCV 등을 이용해 사이즈 조정 계산편의를 위해 보통 정사각형 형태로 만들어줌 이미지 사이즈가 작을 때는 이미지가 왜곡되거나 손실될 수도 있지.. 2022. 12. 6.
[1205] 합성곱 신경망 (Convolutional Neural Network, CNN) CNN 실습파일 CNN EXPLAINER 합성곱 신경망의 별명 => 피처 자동 추출기 그러면 어떻게 피처를 자동으로 추출할까요? => 필터(filters)를 랜덤하게 여러 장 만듭니다. 각 필터의 사이즈는 kernel_size 로 정합니다. => 필터를 이미지에 통과시켜서 합성곱 연산을 하여 결과가 나오면 그 결과로 특징을 추출합니다. => 필터에는 랜덤하게 만들다 보면 1자 모양도 있을 수 있고 / 모양도 있을 수 있고 O, ㅁ 이런 여러 패턴을 랜덤하게 만들 수있겠죠. 그리고 그 패턴을 통과시켜서 그 패턴이 얼마나 있는지 확인해 볼 수 있겠죠. 이런 패턴을 여러 장 만든다 => filters => 각 필터의 사이즈 kernel_size라 부릅니다. 패딩의 사용 이유? 가장자리 모서리 부분의 특징을 추.. 2022. 12. 5.
[1130] DNN ✅시그모이드 함수 Python Pytorch 강좌 : 제 12강 - 이진 분류(Binary Classification) 딥러닝-3.1. 활성화함수(2)-시그모이드 함수(Sigmoid) 특정 임계값을 정해서 크고 작다를 통해 True, False값으로 판단합니다. 임계값은 보통 0.5 를 사용하지만 다른 값을 사용하기도 합니다 ✅ Loss & Metric Loss 와 Metric의 차이 loss는 훈련에 사용해서 가중치(weight)와 편향(bias)을 업데이트하고, metric은 검증에 사용한다 분류의 Loss loss 값을 보고 label이 어떤 형태인지 알 수 있습니다. label 값이 바이너리, 원핫, 오디널 인코딩 되어 있는지 보고 loss 값을 지정해야 합니다 이진분류 : binarycrosse.. 2022. 11. 30.
[1129] 인공신경망과 텐서플로 인공신경망의 구조 [3Blue1Brown] 신경망이란 무엇인가 신경망이란 무엇인가? | 1장.딥러닝에 관하여 다음과 같은 28x28 해상도의 숫자 9의 필기체 이미지가 있다. black은 0, white는 1의 픽셀 값을 가질때 컴퓨터는 이를 1차원 배열로 평탄화하여 입력받는다. Q. 왜 28x28 이미지를 입력받을 때 784 로 입력받을까요? A. Fully Connected Network 에는 1차원형태로만 주입이 가능하기 때문 네트워크에 데이터를 주입하기 위해서 CNN, RNN 에서는 데이터 전처리를 어떻게 해줄지를 전처리 기능을 제공하고 마지막에는 Fully Connected Network 를 통과하게 됩니다. 첫번째 레이어가 입력층이고, 마지막 레이어가 0~9의 숫자로 분류해주는 출력층이다. 신.. 2022. 11. 29.