[솔트룩스] 새싹 인공지능 응용 SW 개발자 양성과정 | 59일차 | 8. 자연어 처리 (8)

이미지
  2022.03.18  | 59일차 | 8. 자연어 처리 (8)     - 이도원 강사님 (edowon0623@gmail.com) 강의자료 딥러닝을 이용한 자연어 처리 입문 Tensorflow-NPL-tutorial 참고할만한 강의 KISTI -과학데이터교육센터 AI 서비스 개발을 위한 딥러닝 자연어 처리 딥러닝 자연어 처리 - 허민석 자연어 처리 Natural Language Processing - 이수안 컴퓨터 연구소 자연어 처리 바이블 스탠퍼드 자연어 처리 강의 KISTI -과학데이터교육센터 주가예측 TALib (Linux 설치 필요) -> 클라우드, DOCKER 매주 금요일의 시작가 (open) 오를 것인지, 내릴 것인지 2가지 분류  LSTM (시계열 데이터) 주가 데이터 취득 (2005 ~ 2022) 전처리  학습, 검증 데이터 분리 LSTM 모델 생성   Today's code (Google Colab) stock-demo

[솔트룩스] 새싹 인공지능 응용 SW 개발자 양성과정 | 57일차 | 8. 자연어 처리 (7)

이미지
2022.03.16  | 57일차 | 8. 자연어 처리 (7)     - 이도원 강사님 (edowon0623@gmail.com) 강의자료 딥러닝을 이용한 자연어 처리 입문 Tensorflow-NPL-tutorial 참고할만한 강의 KISTI -과학데이터교육센터 AI 서비스 개발을 위한 딥러닝 자연어 처리 딥러닝 자연어 처리 - 허민석 자연어 처리 Natural Language Processing - 이수안 컴퓨터 연구소 자연어 처리 바이블 스탠퍼드 자연어 처리 강의 KISTI -과학데이터교육센터 Modern RNN Units LSTM GRU LSTM (Long Short-Term Memory) RNN의 단점을 보완한 장단기 메모리라고함.  LSTM 은 은닉층의 메모리 셀에 입력 게이트, 망각 게이트, 출력 게이트를 추가하여 불필요한 기억을 지우고, 기억해야할 것들을 정함.  GRU 2014년 뉴욕대학교 조경현 교수님이 집필한 논문에서 제안. LSTM의 장기 의존성 문제에 대한 해결책을 유지하면서, 은닉 상태를 업데이트하는 계산을 줄였음. GRU는 성능은 LSTM과 유사하면서 복잡했던 LSTM의 구조를 간단화 함. Ozone Level Detection Data Set UCL Machine Learning Repository   Today's code (Google Colab) lstm-ex1 lstm-ex2 Ozone Level Detection (lab) Today's clip (Youtube) AI 기반 자연어 처리 기술 - 한국전자기술연구원

[솔트룩스] 새싹 인공지능 응용 SW 개발자 양성과정 | 56일차 | 8. 자연어 처리 (6)

이미지
2022.03.15  | 56일차 | 8. 자연어 처리 (6)     - 이도원 강사님 (edowon0623@gmail.com) 강의자료 딥러닝을 이용한 자연어 처리 입문 Tensorflow-NPL-tutorial 참고할만한 강의 KISTI -과학데이터교육센터 AI 서비스 개발을 위한 딥러닝 자연어 처리 딥러닝 자연어 처리 - 허민석 자연어 처리 Natural Language Processing - 이수안 컴퓨터 연구소 자연어 처리 바이블 스탠퍼드 자연어 처리 강의 KISTI -과학데이터교육센터 형상관리 GIT Git init/ Pull/Fetch/Push/Add/Commit BITBUCKET  유료 기능 많음 SOURCETREE   Command 말고 UI 사용하여 작업 가능  RNN (Recurrent Neural Network) 순환 신경망  : 다양한 길이의 입력 시퀀스를 처리할 수 있는 인공 신경망 Plotly Pyhon Open Source Graphing Library 다양한 그래프 그릴 수 있음 JSON 속성-값 쌍 또는 "키-값 쌍"으로 이루어진 데이터 오브젝트를 전달하기 위해 인간이 읽을 수 있는 텍스트를 사용하는 개방형 표준 포맷 Today's code (Google Colab) simplernn-1 Bitcoin(lab) Today's clip (Youtube) 딥러닝이 자연어 처리(NLP)에 가장 효과적인 이유 삼성도 가져간 핵인싸 기술! 컴알못도 '자연어처리' 지금 시작해야하는 이유 딥러닝을 이용한 자연어처리 입문 7시간 완성 AI 기반 자연어처리 기술

[혼자 공부하는 머신러닝 + 딥러닝] 17강_인공 신경망: 간단한 인공 신경망 모델 만들기

이미지
17강_인공신경망: 간단한 인공 신경망 모델 만들기 딥러닝과 인공 신경망 알고리즘을 이해하고 텐서플로를 사용해 간단한 인공 신경망 모델을 만들어 봄.  <혼자 공부하는 머신러닝+딥러닝>의 코드 저장소 인공 신경망 패션 MNIST MNIST 딥러닝을 처음 배울 때 많이 사용하는 데이터 셋. 0~9 까지의 숫자로 이루어져 있음 MNIST 와 크기, 개수가 동일하지만 숫자 대신 패션 아이템으로 이루어진 데이터. 텐서플로우(케라스)를 사용해 데이터를 불러옴 로지스틱 회귀로 패션 아이템 분류하기  확률적 경사 하강법 샘플을 하나씩 꺼내서 모델을 훈련하는 방법. 넘파이 배열의 바이트 크기 nbytes 속성에 저장되어 있음. 인공 신경망 출력층 신경망의 최종 값을 만든다는 의미 뉴런 z 값을 계산하는 단위 유닛 뉴런이라는 표현 대신에 부름 입력층 픽셀값 자체, 특별한 계산을 수행하지 않음.  1943년 워런 매컬러와 월터 피츠가 제안한 뉴런 모델 매컬러-피츠 뉴런 생물학적 뉴런에서 영감을 얻음 기존의 머신러닝 알고리즘이 잘 해결하지 못했던 문제에서 높은 성능을 발휘하는 새로운 종류의 머신러닝 알고리즘일 뿐. 딥러닝 인공신경망과 거의 동의어로 사용됨 혹은 심층 신경망을 딥러닝이라고 함.  여러 개의 층을 가진 인공 신경망 텐서플로와 케라스 텐서플로 구글이 2015년 11월 오픈소스로 공개한 딥러닝 라이브러리 알파고가 이세돌 9단을 이겨 폭발적 인기 끔. 케라스 텐서플로의 고수준 API  2015년 3월 프랑소와 숄레가 만든 딥러닝 라이브러리 그래픽 처리 장치인 GPU 사용하여 인공 신경망 훈련 (벡터와 행렬 연산에 매우 최적화) 멀티-백엔드 케라스 인공 신경망으로 모델 만들기  인공 신경망에서 교차 검증을 사용하지 않고 검증 세트를 사용하는 이유 딥러닝 분야의 데이터셋은 충분히 크기 때문에 검증 점수가 안정적 교차 검증을 수행하기에는 훈련 시간이 너무 오래 걸리기 때문.  밀집층 완전 연결층 활성화 함수...

[혼자 공부하는 머신러닝 + 딥러닝] 16강_주성분 분석: 차원 축소 알고리즘 PCA 모델 만들기

이미지
  16강_주성분 분석: 차원 축소 알고리즘 PCA 모델 만들기 차원 축소에 대해 이해하고 대표적인 차원 축소 알고리즘 중 하나인 PCA (주성분 분석) 모델을 만들어 봄 <혼자 공부하는 머신러닝+딥러닝>의 코드 저장소 주성분 분석 차원과 차원 축소 과일 사진의 경우 10,000개의 픽셀이 있으면 10,000개의 특성이 있는것. 이런 특성을 차원이라고 부름.  이 차원을 줄일 수 있다면 저장 공간을 크게 절약할 수 있음. 차원 축소 비지도 학습 작업 중 하나임.  데이터를 가장 잘 나타내는 일부 특성을 선택하여 데이터 크기를 줄이고 지도 학습 모델의 성능을 향상시킬 수 있는 방법.  복원도 가능 주성분 분석(PCA) 소개  데이터에 있는 분산이 큰 방향을 찾는 것. 분산은 데이터가 널리 퍼져있는 정도 기술적인 이유로 주성분은 원본 특성의 개수와 샘플 개수 중 작은 값만큼 찾을 수 있음. 일반적으로 비지도 학습은 대량의 데이터에서 수행하기 때문에 원본 특성의 개수만큼 찾을 수 있음.  PCA 클래스 주성분 분석 알고리즘 제공 n_components (주성분의 개수 지정) 원본 데이터 재구성 inverse_transform() 특성 복원 설명된 분산 주성분이 원본 데이터의 분산을 얼마나 잘 나타내는지 기록한 값 explained_variiance_ratio_  각 주성분의 설명된 분산 비율 기록 다른 알고리즘과 함께 사용하기 차원축소 k-평균 알고리즘  주성분 분석으로 차원 축소 대표적인 비지도 학습 문제 중 하나인 차원 축소 데이터셋 크기를 줄일 수 있고 비교적 시각화하기도 쉬움.  재사용을 통해 성능을 높이거나 훈련 속도를 빠르게 만들 수 있음  사이킷런의 PCA 클래스  설명된 분산 설명된 분산의 비율을 설정하여 원하는 비율만큼 주성분을 찾을 수 있음.  원본 데이터 복원 가능 적은 특성으로 상당 부분의 디테일 복원 가능 키워드로 끝내는 핵심 ...

[솔트룩스] 새싹 인공지능 응용 SW 개발자 양성과정 | 43일차 | 7. 딥러닝 (8)

이미지
    2022.02.21  | 43일차 | 7. 딥러닝 (8)     - 권혜윤 강사님 ( yujinkwon@nate.com ) 강의자료 CNN (Convolutional Neural Network) CNN 요약  (이미지의 부분적 특성을 추출 가능)  합성곱 신경망은 시각적 이미지 분석에 가장 일반적으로 사용되는 인공신경망의 한 종류로, 입력 이미지로부터 특징을 추출하여 입력 이미지가 어떤 이미지인지 클래스를 분류함  이미지 및 비디오 인식, 추천 시스템, 이미지 분류 의료 이미지 분석 및 자연어 처리에 응용됨. CNN을 이용한 이미지 분류 필터를 이용하여 이미지의 특성들을 추출 맥스 풀링을 이용해서 추출한 특성들을 샘플링 선형 회귀 함수를 이용해서 확률을 계산 패딩 처리 출력 크기를 조정하기 위해 패딩을 사용함.  스트라이드 필터를 적용하는 위치의 간격을 말함 풀링 연산이란?  세로, 가로 방향의 공간을 줄이는 연산 (sub-sampling) 완전 연결층의 역할 추출된 특징 값을 기존 neural network에 넣어서 이미지를 분류 필터 이미지로부터 특징을 추출하는 행렬 윈도우 마스크 라고 함 이미지에 행렬 곱 연산을 수행하면 이미지로부터 특징을 추출 가능 가중치 0 은 해당 특성을 삭제하고 가중치 1은 해당 특성을 유지 가중치 1 초과되는 값은 해당 특성을 증폭 필터 행렬의 값은 텐서플로우에서 자동 생성 합성곱 (Convolution) 두 함수에 적용 하여 새로운 함수를 만드는 수학 연산 같은 자리의 배열과 곱하기 연산 패딩(Padding)과 스트라이드(Stride) 패딩 입력 데이터 주변을 특정 값 (예를 들어 0) 으로 채우는것. 합성곱 연산에서 자주 이용하는 기법 출력 크기를 조정할 목적으로 사용 패딩을 크게 하면 출력 크기가 커짐.  스트라이드 필터를 적용하는 위치의 간격 스트라이드를 키우면 출력의 크기는 작아짐.  맥스풀링 합성곱...

[혼자 공부하는 머신러닝 + 딥러닝] 13강_트리의 앙상블

이미지
13강_트리의 앙상블 앙상블 학습이 무엇인지 이해하고 다양한 앙상블 학습 알고리즘을 실습을 통해 배움.   <혼자 공부하는 머신러닝+딥러닝>의 코드 저장소 트리의 앙상블 정형 데이터와 비정형 데이터  정형: 구조화 데이터 (CSV, DB,Excel) 비정형: 비구조 데이터 (텍스트, 사진, 음악 등) 앙상블 학습 정형 데이터를 다루는 데 가장 뛰어난 성과를 내는 알고리즘 신경망 알고리즘 비정형 데이터는 규칙성을 찾기 어려워 전통적인 머신러닝 방법으로는 모델을 만들기 까다로움.  신경망 알고리즘의 놀라운 발전 덕분에 사진을 인식하고 텍스트를 이해하는 모델을 만들 수 있음 랜덤 포레스트 앙상블 학습의 대표 주자중 하나, 안정적 성능 결정 트리를 랜덤하게 만들어 결정 트리의 숲을 만듬. 그리고 각 결정 트리의 예측을 사용해 최종 예측을 만듬.  부트스트랩 샘플 훈련 세트의 크기와 같게 만듬.  데이터 세트에서 중복을 허용하여 데이터를 샘플링하는 방식을 의미함.  가방에 1000개의 샘플이 있을 때 먼저 1개를 뽑고, 다시 가방에 넣어 그 다음 샘플을 뽑는 방식을 뜻함.  결국 부트스트랩 방식으로 샘플링하여 분류한 데이터라는 의미 분류와 회귀 분류는 샘플을 변 개의 클래스 중 하나로 분류하는 문제, 회귀는 임의의 어떤 숫자를 예측하는 문제  랜덤 포레스트는 랜덤하게 선택한 샘플과 특성을 사용하기 때문에 훈련 세트에 과대적합되는 것을 막아주고 검증 세트와 테스트 세트에서 안정적인 성능을 얻을 수 있음. (종종 기본 매개변수 설정만으로도 아주 좋은 결과를 냄) OOB( Out Of Bag ) 부트스트랩 샘플에 포함되지 않고 남는 샘플 엑스트라 트리 랜덤 포레스트와 매우 비슷하게 동작(기본 100개 결정트리 훈련) 차이점은 부트스트랩 샘플 미사용 즉각 결정 트리를 만들 때 전체 훈련 세트 사용 (노드 무작위 분할) 전체 특성 중 일부 특성 랜덤하게 선택하여 노드 분할 성능은 낮아져도 ...