본문 바로가기

풀스택 개발 학습 과정138

[딥러닝- 교육 외] 이론, 알고리즘 종류 인공신경망- 사람의 뇌는 뉴런이라는 신경세포로 구성되어있다.- 가지돌기에서 다른 뉴런들의 신호를 받아 그 합이 일정 수치가 넘으면 축삭돌기로 전달한다.- 이러한 뉴런들이 서로 연결되어 전체 뇌가 만들어진다. 퍼셉트론 Perceptron인간의 뉴런을 수학적으로 모방한 계산 알고리즘1) 퍼셉트론은 다수의 신호를 받아 하나의 신호를 출력한다.2) 퍼셉트론 신호는 흐름을 만들고 정보를 앞으로 전달한다.3) 퍼셉트론 신포는 '흐른다 / 안흐른다' 두 가지의 값을 가진다. (0 과 1) XOR Problem퍼셉트론이 인공지능 분야에 큰 반향을 불러 일으켰지만 단순한 선형 분류기에 불과하며 간단한 XOR 분류 조차 수행할 수 없는 것이 밝혀지며 인공신경만 연구는 인공지능 연구 그룹의 관심에서 멀어지게 됐다.=> 다층.. 2024. 8. 1.
[딥러닝 - 교육 외] LSTM 이란 LSTM (Long Short Term Memory)기존의 RNN에서 출력과 멀리 있는 정보를 기억할 수 없다는 단점을 보완따라서 직전 데이터 뿐만 아니라, 좀 더 거시적으로 과거 데이터를 고려하여 미래 데이터를 예측하기 위해 나온 모델이다. 장/단기 기억을 가능하게 설계한 신경망의 구조 (주로 시계열 처리나 자연어 처리에 사용) LSTM 구조 (cell) state 값 = lstm 담당 파트lstm 은 이 cell state 를 보호하고 컨트롤 하기 위해 input/forget/output gate 를 통해 값이 효과적으로 흐를 수 있게 함 단계별 과정- forget gate말 그대로 과거 정보를 잊기 위한 게이트 이다.이전 output 과 현재 input을 입력받아 시그모이드를 취한 후 그 값을 과거.. 2024. 8. 1.
[딥러닝 - 교육 외] RNN 이란 * 해당 내용은 교육에서 사용되는 블로그와 검색엔진 참고 하며 만들어놓았기 때문에 미흡한 점이 많을 수 있음,, 순환 신경망 RNN : Recurrent Neural Network    Recurrent이전 어떠한 정보가 다음 입력을 처리할 때 추가적으로 사용되는 것을 의미하며 일종의 메모리 역할.메모리란 현재까지 입력 데이터를 요약한 정보이며, 최종적으로 남겨진 메모리는 모든 입력 전체를 요약한 정보를 말한다.음성, 동영상, 주식시세와 같은 시간의 흐름이 있는 시퀀스(Sequence) 데이터를 다루는 신경망을 가리킴- 언어 변환, 자연어 처리(nlp), 음성 인식, 이미지 캡션과 같은 순서 문제나 시간 문제에 흔히 사용됨. 그리고 Siri, 음성 검색, Google 번역과 같이 널리 쓰이는 애플리케이션.. 2024. 8. 1.
[텍스트 마이닝] 한글 텍스트 분석 - 한글 영화 감성분석 필요한 패키지는 구글에... 다시 쳐봐야 할 것 같다..Mecab 테스트import MeCabm = MeCab.Tagger()m.parse('안녕하세요. 테스트 입니다.')'안녕\tNNG,행위,T,안녕,*,*,*,*\n하\tXSV,*,F,하,*,*,*,*\n세요\tEP+EF,*,F,세요,Inflect,EP,EF,시/EP/*+어요/EF/*\n.\tSF,*,*,*,*,*,*,*\n테스트\tNNG,행위,F,테스트,*,*,*,*\n입니다\tVCP+EF,*,F,입니다,Inflect,VCP,EF,이/VCP/*+ᄇ니다/EF/*\n.\tSF,*,*,*,*,*,*,*\nEOS\n' konlpy Mecab 테스트konlpy는 한국어 자연어 처리를 위한 파이썬 라이브러리 중 하나로, 다양한 한국어 형태소 분석기를 제공한다... 2024. 8. 1.
[텍스트 마이닝] 문서 군집화 파일의 내용을 참고하여 해당 테마 군집화 해보기import pandas as pdimport glob, osimport warningswarnings.filterwarnings('ignore')pd.set_option('display.max_colwidth', 700)path = r'.\topics'all_files = glob.glob(os.path.join(path,'*.data')) #해당경로에 있는 파일을 다 가져와 목록을 만듦filename_list = []opinion_text = []for file in all_files: df = pd.read_table(file, encoding= 'latin1') # 파일이나 url로 읽어오는 # encoding= 'latin1' 영문자.. 2024. 8. 1.
[텍스트 마이닝] 감정 분석 - [실습] IMDB 영화평 분석 * IMDB 영화평 데이터 : 정답을 가지고 있는데이터지도학습 기반 감성분석데이터 로딩 및 확인import pandas as pdreview_df = pd.read_csv('./labeledTrainData.tsv',header= 0, sep='\t')print(review_df.shape)%alias_magicreview_df.head()(25000, 3) review_df['review'][0]"With all this stuff going down at the moment with MJ i've started listening to his music, watching the odd documentary here and there, watched The Wiz and watched Moonwalker.. 2024. 8. 1.
[텍스트 마이닝] 텍스트 분석 -2 [실습] 20 뉴스 그룹 분류 텍스트 데이터 확인from sklearn.datasets import fetch_20newsgroupsimport numpy as npnews_data = fetch_20newsgroups(subset='all', random_state= 100) # subset='all' 훈련데이터와 평가데이터 모두print(np.unique(news_data.target))# 20개의 카테고리에 해당하는[ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19]print(type(news_data))print(np.array(news_data.data).shape)(18846,) import pandas as pdprint('target 클래스')print(dict(.. 2024. 8. 1.
[텍스트 마이닝] 텍스트 분석 -1 (전처리 작업) 토큰화패키지 다운!pip install nltk# nltk site: https://www.nltk.org NLTK :: Natural Language ToolkitNatural Language Toolkit NLTK is a leading platform for building Python programs to work with human language data. It provides easy-to-use interfaces to over 50 corpora and lexical resources such as WordNet, along with a suite of text processing librarieswww.nltk.orgfrom nltk import sent_tokenizeimport nl.. 2024. 8. 1.
[머신러닝] 추천 시스템 알고리즘 - 잠재요인 협업 필터링 경사하강법을 이용한 행렬 분해SVD(Singular Value Decomposition)는 NaN 값이 없는 행렬에만 적용할 수 있다. R 행렬(사용자-영화 평점 행렬)은 평점되지 않은 많은 NaN 값이 있기 때문에 P(사용자-잠재요인 행렬)와 Q(잠재요인-아이템 행렬) 행렬을 일반적인 SVD 방식으로 분해할 수 없다. 행렬 분해 로직 함수R(m x n) = P(m x K) * Q.T(K x n) [ m: user 수, n: 아이템 수, K: 잠재요인 수 ] R : 사용자-영화 평점 행렬 P : 사용자-잠재요인 행렬 (초기 값은 랜덤 값으로) Q : 잠재요인-아이템 행렬 (초기 값은 랜덤 값으로)행렬 분해 함수 매개변수R: 사용자 - 아이템 평점 행렬 (실제 평점 값을 갖는 행렬) K: 잠재요인 차원 수.. 2024. 8. 1.