본문 바로가기
728x90
반응형

전체 글110

[NLP] Sequence to Sequence 모델 Sequence-to-Sequence ; 입력 시퀀스가 인코더에 들어가면 컨텍스트 벡터 형태로 나와 디코더에 들어가고 그에 따른 디코더의 출력이 출력 시퀀스가 된다. Encoder와 Decoder내에 각 LSTM셀이 들어있고, 이 LSTM셀은 각 입력과 출력을 한다. 예시코드를 보면서 Sequence to Sequence 모델의 구조를 이해하려고 한다. 영어로 된 문장을 한글로 번역하는 모델을 만들어 보자. import pandas as pd import tensorflow as tf from tensorflow.keras.preprocessing.sequence import pad_sequences from tensorflow.keras.utils import to_categorical df= pd.r.. 2023. 8. 1.
[NLP] Word2Vector Korean Word2VecABOUT 이곳은 단어의 효율적인 의미 추정 기법(Word2Vec 알고리즘)을 우리말에 적용해 본 실험 공간입니다. Word2Vec 알고리즘은 인공 신경망을 생성해 각각의 한국어 형태소를 1,000차원의 벡터 스페이word2vec.kr>> 한국어 단어(word)로 벡터 연산을 해볼 수 있는 사이트단어들로 벡터연산한 결과를 볼 수 있는데, 위 예시를 풀이해 보자면한국의 수도는 서울 이고, 일본의 수도는 도쿄 라는 사실을 먼저 알고 들어가자한국-서울+도쿄=? 의 식으로 생각할 때, 도쿄를 우변으로 넘기면 -도쿄가 되버린다.그럼 한국-서울=?-도쿄 의 식이 나오게 되는데 좌변과 우변이 같을 때, 물음표에 들어갈 단어는 상식적으로 일본이 되는 것을 알 수 있다. > 컴퓨터가 단어의 의.. 2023. 8. 1.
[NLP] Transfer Learning 전이학습 전이학습 (Transfer Learning); 한 작업에서 학습한 지식을 다른 관련작업에 이전하여 학습 성능을 향상시키는 기술.    새로운 모델을 생성할 때, 충분한 양의 데이터가 없거나 학습에 많은 비용이 들어가는 경우가 많다.이러한 문제를 해결하기 위해 이미 학습된 모델이나 그 모델의 일부를 새로운 작업에 활용하는 방식을 전이학습 이라고 한다.이전 모델에서 일부 또는 전체 파라미터를 조정하여 새로운 모델에 적합하도록 만든다. 적은 양의 데이터로도 높은 성능을 달성할 수 있다는 장점이 있다.  사전학습 (Pre-trained); 대규모 데이터셋으로 미리 학습된 모델. 사전학습된 모델들은 일반적이고 추상화된 특성들을 학습하도록 설계되었다. 위 전이학습에서 필요한 사전학습된 모델이 이에 해당한다. 파인튜.. 2023. 7. 31.
[선형대수학] 3주차 0729 가우스 소거법 후 피봇의 위쪽값을 1이 되도록 만들기 = upper triangle 부분이 0이 되어야 하는거 아닌교,, 피봇이 있는 칼럼과 없는 칼럼을 구분-> 1,3번 열 -> 이와 같이 식으로 계산하여 미지수 계산 (x,y,u,v)의 4x1의 벡터를 구하고자 함 v의 식으로 표현 벡터 집합이 평행 이동 Ax=0의 조건을 만족하는 N(A) d에 의해서 만들어지는 상수? 행렬이 평행이동??? 벡터공간을 선형결합으로 설명 상수항이 더해지는 순간, 공간이라는 것이 깨짐? linear 한것이 깨짐? ; 벡터들이 선형적으로 독립되어있다. x1, x2,,,,xn 벡터가 있을때, (주어진 벡터 모두가 통째로 독립적인 관계인가?O, 서로 독립관계인가?X) 모든 선형계수의 결합은 0(0벡터)이 되어야 한다. >> 벡.. 2023. 7. 29.
[NLP] 정규표현식 정규표현식 (Regular Expression); 일정한 규칙(패턴)을 가진 문자열을 표현하는 방법 복잡한 문자열 속에서 특정한 규칙으로 된 문자열을 검색한 뒤 추출하거나 바꿀 때,문자열이 정해진 규칙에 맞는지 판단할 때도 사용 1. 문자열 판단하기; re. match( '패턴' , '문자열' )import rere.match('hello','hello, world!')# 전 문자열을 후 문자열에서 찾을 수 있으므로 정규표현식 매치객체가 반환됨re.match('python','hello, world!')# 전 문자열이 후 문자열에 없으므로 아무것도 반환되지 않음 정규 표현식은 re 모듈을 가져와서 사용하며 match함수에 정규표현식 패턴과 판단할 문자열을 넣는다. 2023. 7. 25.
[Machine Learning] SMOTE SMOTE( Synthetic Minority Oversampling Technique) 는 오버샘플링의 일종. 타겟변수의 범주별 비율이 맞지 않을 때? 사용했다. y값 y.value_counts() y.value_counts(normalize=True) normalize=True 를 넣어주면 비율로 확인할 수 있다. 아 팀프로젝트로 파산데이터 분석을 진행했었는데 타겟변수가 파산했는가 에 대한 여부였다. 파산 한 경우 : 1, 파산하지 않은 경우 : 0 거의 96% 이상이 타겟변수 0으로 쏠려 있는 것을 볼 수 있다. 이런 경우에는 0으로 과적합 될 가능성이 있다. 음.. 그러니까 독립변수가 어떠하더라도 대부분의 예측 결과로 0이 나올수도 있다 이 말..! 임의로 8:2의 비율로 오버샘플링 하였다. 굳이.. 2023. 7. 23.
[Machine Learning] Hyper Parameter 하이퍼 파라미터 파라미터는 모델 내부에서 결정되는 변수이다 각 파라미터는 데이터를 통해 구해지며 모델 내부 자체적으로 결정되는 값이기 때문에, 사용자가 임의로 설정할 수는 없다. ## 파라미터 VS 하이퍼파라미터 하이퍼 파라미터는 모델링 시 사용자가 직접 결정할 수 있는 변수이다. 각 파라미터는 최적의 값이 정해져 있지 않아서 사용자의 경험이나, 필요 조건에 따라 결정해야 한다. 만약 하이퍼 파라미터를 수동으로 결정하지 못하겠다면 그리드 서치( Grid Search) 나 베이지안 최적화( Bayesian Optimization) 방법을 사용해도 좋다. >>>https://data-yun.tistory.com/4 [Machine Learning] Grid Search 그리드 서치 그리드 서치(Grid Search) : 좋.. 2023. 7. 23.
[선형대수학] 2주차 0722 x와 y를 벡터로 AX = b => UX = C nxn nx1 nx1 벡터들로 닫혀있는집합= space set{ vectors } + operation V: vector space x1 ⊂V x2⊂V 일때 x1+x2 ⊂ V kx1⊂ V => 벡터 스페이스의 닫혀있는 모양(k=0 or x1= -x2 -> 0EV ) 0벡터는 반드시 벡터스페이스에 포함된다. 평균벡터 하나를 가지고 모든 벡터를 빼면 평균기준으로 분포하게 된다. 2차원 벡터공간의 원소 ⊂ R^2 A(mxn) ∈ R^mn subspace 부분집합-> U(mxn) ⊂ R(mxn) 원점으로 지나는 r공간\ C(A) = [시그마] CiXi 선형조합으로 두 벡터의 연산을 만들어 낼 수 있다. 당수배( 스칼라배/실수배 )를 곱하거나 ⭐a라는 행렬의 컬럼스.. 2023. 7. 23.
[알고리즘] 시간복잡도 l= [3,5,2,6,1] #제거하기 l.pop[1] -> 리스트로 구현 시 시간이 많이 걸리고 비싼 연산임.. n번 계산 하는 알고리즘이다 ( Order n) 리스트 내 요소 개수만큼 탐색하는 시간과 연산이 걸림 from collections import deque queue= deque([1,2,3]) ## 요소삽입 queue.append(5) # > [1, 2, 3, 5] ## 요소 삭제 queue.popleft() # > [2, 3, 5] # > 반환값은 1 ## 리스트 처럼 접근도 가능 queue[0] # > 2 # > 0번째만 가능? - > 리스트의 pop연산 보다 FIFO(First In First Out) 사용에 더 유용하고 연산 속도나 갯수가 적다. (deque는 popleft 사용) 코.. 2023. 7. 22.
728x90
반응형