728x90
반응형

전체 글 180

미들웨어(Middleware)

1. 미들웨어의 정의들 두 매개체 양쪽을 연결하여 데이터를 주고받을 수 있도록 중간에서 매개 역할(레이어)을 하는 소프트웨어 두 매개체는 운영체제/응용소프트웨어가 될 수도 있고 클라이언트/서버 or 서버/서버의 통신이 될 수도 있다. 네트워크를 통해 연결된 여러 개 컴퓨터에 있는 많은 프로세스들에게 어떤 서비스를 사용할 수 있도록 연결해주는 소프트웨어 컴퓨터 제작 회사가 사용자의 특정한 요구대로 만들어 제공하는 프로그램 응용 소프트웨어가 운영 체제로부터 제공받는 서비스 이외에 추가적으로 이용할 수 있는 서비스를 제공하는 컴퓨터 소프트웨어 또는 클라이언트와 서버 간의 통신을 담당하는 소프트웨어 미들웨어라는 용어는 꽤 광범위해 보인다. 결론은, 큰 범위에서의 미들웨어란 "매개체1과 매개체2의 중간에서 매개 ..

상관분석(Correlation Analysis) : 상관관계로 분석하기

1. 의미 [위키백과] 상관분석은 확률론과 통계학에서 두 변수간에 어떤 선형적 관계를 갖고 있는 지를 분석하는 방법이다. 두 변수는 서로 독립적인 관계로부터 서로 상관된 관계일 수 있으며 이때 두 변수 간의 관계의 강도를 상관관계(Correlation, Correlation coefficient)라 한다. 상관분석에서는 상관관계의 정도를 나타내는 단위로 모상관계수로 p를 사용하며 표본 상관 계수로 r을 사용한다. 상관관계의 정도를 파악하는 상관계수(Correlation coeffecient)는 두 변수간의 연관된 정도를 나타낼 뿐 인과관계를 설명하진 않는다. 두 변수간의 원인과 결과의 인과관계가 있는지에 대한 것은 회귀분석을 통해 인관관계의 방향, 정도와 수학적 모델을 확인해 볼 수 있다. 2. 결과 상..

[논문]얼굴 특징점 추적을 통한 사용자 감성 인식(2019.03)

Emotion Recognition based on Tracking Facial Keypoints 얼굴 특징점 추적을 통한 사용자 감성 인식(2019.03) [이용환, 김흥준] https://www.koreascience.or.kr/article/JAKO201915061086666.pdf - 감성 인식 기술 (영상 인식 기반 기술, 음성 인식 기반 기술) : 본 논문에서는 AAM을 통해 입력 영상의 랜드마크를 검출하고 표정 변화에 따른 랜드마크의 움직임과 변화로 감정을 분류하는 방법을 제안. - AAM(Active Appearance Model) 모델 : Shape Model 과 Appearnace Model을 결합하고 파라미터를 조정해 여러 얼굴 생김새를 표현함. Shape Model : 사람 얼굴 이..

[Google Colab] 코랩 텍스트 파일 불러오기 오류

뉴욕타임즈 뉴스 기사 요약하기(Sequence to sequence) from google.colab import drive drive.mount('/content/drive') !git clone https://github.com/hengluchang/deep-news-summarization.git 오류 : 텍스트가 불러들여 오지 않음. Data_set = np.loadtxt('/content/deep-news-summarization/dataset/article.txt', delimiter=" ") Data_set = pd.read_csv('/content/deep-news-summarization/dataset/article.txt') 해결 : # 뉴욕타임즈 기사 불러오기 with open('/c..

요소 추가 append(), extend(), insert()

1. append() array.append(x) > array 맨 끝에 새로운 요소를 객체로 추가함 li = [1, 2, 3] li.append(4) print(li) li.append([5, 6]) #입력한 값이 리스트와 같은 반복 가능한 iterable 자료형이더라도 객체로 저장 print(li) >> [1, 2, 3, 4] >> [1, 2, 3, 4, [5, 6]] 2. extend() array.extend(iterable_x) > append와 똑같이 맨 끝에 추가되지만, 괄호( ) 안에는 iterable 자료형만 올 수 있다는 점이 다르다. > 리스트(iterable자료형)로 넣지만 객체가 아닌 각각의 요소가 추가됨 > iterable 자료형이 아닌 경우 TypeError가 발생한다. li ..

[Python] 파이썬 에러들

1. IndentationError IndentationError: expected an indented block 들여쓰기 에러 IndentationError: unindent does not match any outer indentation level tap키와 space키를 혼용했거나 줄이 서로 맞지 않음 IndentationError: unexpected indent 쓸데없는 들여쓰기가 있는지 확인 2. SyntaxError SyntaxError: invalid syntax 구문 에러 해결 : 오류난 문법 위치를 찾아 수정해야 함. SyntaxError: EOL while scanning string literal 따옴표 잘 보기 SyntaxError: can't assign to keyword ..

경계 검사 (bounds checking)

위키백과 - 경계 검사 경계 검사 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. 경계 검사(bounds checking)는 변수가 사용되기 전에 어떤 경계 내에 위치하는지를 검사하는 기법으로, 주로 숫자 데이터가 특정 범위 내에 존재하는지 여부나 (범 ko.wikipedia.org 변수가 사용되기 전에 어떤 경계 내에 위치하는지를 검사하는 기법. 주로 범위 검사, 인덱스 검사가 있고, 경계 검사에 실패한 경우 예외(exception)으로 처리된다. - 범위 검사 : 어떤 숫자가 특정 범위(Range)내에 존재하는지 여부를 검사 ex) 월을 표현하는 변수의 경우 값이 1-12 사이에 있는지에 대한 검사 - 인덱스 검사 : 접근할 배열의 인덱스가 배열의 경계 안에 존재하는지 여부 검사..

(메소드) rjust, zfill, split, startswith, endswith, replace, copy

rjust 메소드 원하는 문자열 앞에 다른 문자열을 채울 수 있다. 문자.rjust(길이, "채울문자1개") ex) print("123".rjust(5,"0") >> "00123" a= "수박" a.rjust(5,"0") >> "000수박" zfill 메소드 문자열 앞에 문자열 0추가 문자.zfill(길이) ex) print("2".zfill(3)) >> 002 split 메소드 문자열 나누고 리스트 만들기 문자.split("나누는 기준") ex) a = "Hello, I am Jack" print(a.split(" ")) #띄어쓰기로 나누기 >> ['Hello,', 'I', 'am', 'Jack'] startswith, endswith, replace 메소드 - startswith : 시작하는 문자 T..

머신러닝 용어 ( Data Point, Sample, Instance 등 )

Attributes : 속성 Example, Sample : 사례 Data Point : 다차원 공간에 위치로 표현되는 벡터라는 의미에서 사용 예를 들어 붓꽃 데이터는 150개의 Sample(사례)를 가지며, 4개의 Features(특성)을 갖는다. Instance : 인스턴스. 1 sample이 여러 개의 속성을 갖는 것 (각 사례를 개별적인 특성을 갖는 단위로 묶을 수 있다는 의미로 사용)

뉴스 기사 분류 : 로이터(Reuters) 데이터셋 (병목현상, 레이블을 벡터로 바꾸는 방법들 2가지)

1986년 로이터에서 공개한 짧은 뉴스 기사와 토픽의 집합인 데이터. 텍스트 분류를 위해 널리 사용되는 간단한 데이터셋으로 46개의 토픽이 있고 어떤 토픽은 다른 것에 비해 데이터가 많다. 각 토픽은 훈련 세트에 최소한 10개의 샘플을 가지고 있다. (이 데이터셋은 원본 로이터 데이터셋(135개 토픽) 중 샘플이 많은 것을 뽑아 간단하게 만든 것) defalt값으로 8,982개의 훈련 샘플과 2,246개의 테스트 샘플이 있음. IMDB, MNIST와 마친가지로 케라스에 포함되어 있다. IMDB과 마찬가지로 미리 전체 데이터셋의 단어를 고유한 정수 인덱스로 바꾼 후 훈련/테스트 데이터로 나누어 놓았다. >> 자세한 코드 & 설명 gggggeun/study Contribute to gggggeun/study..

영화 리뷰 분류 : IMDB(Internet Movie Database)

이 예제에서 리뷰 텍스트를 기반으로 영화 리뷰를 긍정(positive)과 부정(nagative)으로 분류하는 방법을 연습해 보았다. IMDB 데이터셋도 케라스에 포함되어 있으며, 이 데이터는 전처리되어 있어 각 리뷰(단어 시퀀스)가 숫자 시퀀스로 변환되어 있다. 여기서 각 숫자는 사전에 있는 고유한 단어를 나타낸다. >> 전체코드 gggggeun/study Contribute to gggggeun/study development by creating an account on GitHub. github.com 1. 신경망 모델 # 16개의 은닉 유닛을 가진 2개의 은닉층 # 현재 리뷰의 감정을 스칼라 값의 예측으로 출력하는 세 번째 층 # 은닉층 활성화 함수 relu(음수는 0), 출력층 활성화 함수 si..

신경망의 구조 : layer, data, loss function, optimizer

[케라스 창시자에게 배우는 딥러닝] 참고 신경망의 구조 네트워크(또는 모델)를 구성하는 층 입력 데이터와 그에 상응하는 타깃 학습에 사용할 피드백 신호를 정하는 손실 함수 학습 진행 방식을 결정하는 옵티마이저 1. 층(layer) 층은 신경망의 핵심적인 데이터 구조이며, 하나 이상의 텐서를 입력으로 받아 하나 이상의 텐서를 출력하는 데이터 처리 모듈이다. 어떤 종류의 층은 가중치가 없지만(Flatten, Dropout, Pooling 등), 대부분의 경우 가중치를 갖는다. 가중치는 확률적 경사 하강법에 의해 학습되는 하나 이상의 텐서이며 여기에 네트워크가 학습한 지식이 담겨 있다. 층마다 적절한 텐서 포맷과 데이터 처리 방식이 다르다. 예를 들어 (samples, features) 크기의 2D 텐서가 저..

신경망에서 미분이 필요한 이유 2 : gradient descent (경사하강법), learning rate(학습률)

[케라스 창시자에게 배우는 딥러닝] 참고 📢 목차 1. 그래디언트(gradient) 2. 확률적 경사 하강법 (Stochastic gradient descent) 3. 최적화 방법(optimization method) (=옵티마이저) 1. 그래디언트(gradient) gradient는 수학적으로 텐서 연산의 변화율이다. 이는 다차원 입력, 즉 텐서를 입력으로 받는 함수에 변화율 개념을 확장시킨 것이다. y_pred = dot(W, x) loss_value = loss(y_pred, y) 위의 식은 신경망의 입력데이터(x)를 가중치(행렬W)와 곱하고 예측값(y_pred)을 얻고, 예측값과 실제값(타깃y)의 손실함수(loss)를 나타낸 식이다. W를 사용해 타깃의 예측값을 계산하고, 손실(예측값과 타깃값 사..

신경망에서 미분이 필요한 이유 1 : 미분, 순간 변화율, 기울기

[케라스 창시자에게 배우는 딥러닝], [모두의 딥러닝] 참고 1. 미분, 순간 변화율, 기울기 실수 x를 새로운 실수 y로 매핑하는 연속적이고 매끄러운 함수(미분가능한) f(x)=y 가 있다. 예를 들어 아래 2차함수 그래프가 있다고 가정해보자. *미분가능하다 : 변화율을 유도할 수 있다는 의미로 연속적이고 매끄러운 함수. x축에 있는 한 점 a에 대응하는 y값은 $a^{2}+b$가 된다. 이때 a가 오른쪽이나 왼쪽으로 조금씩 이동한다고 생각해보자. 그러면 y도 조금씩 변화할 것이다. 좀 더 상상력을 발휘해 이번엔 a가 아주아주 미세하게 "0에 가까울 만큼" 움직였다고 생각해보자. 그러면 y값도 역시 매우 미세하게 변화를 할 텐데, 이번엔 너무 미세해서 실제로 움직이는게 아니라 방향만 드러내는 정도의 순..

신경망 - 가중치(weight), 랜덤 초기화(random initialization), 훈련 루프(training loop)

[케라스 창시자에게 배우는 딥러닝] 참고 신경망의 각 층은 입력 데이터를 다음과 같이 변환한다. 예) keras.layers.Dense(512, activation='relu') ⬇ output = relu(dot(W, input) + b 이 식에서 텐서 W와 b는 층의 속성처럼 볼 수 있다. 이들은 가중치(weight) 또는 훈련되는 파라미터(trainable parameter)라고 부를 수 있으며, 각각 커널(kernel)과 편향(bias)라고 부르기도 한다. *커널은 여러가지 의미로 사용된다. SVM의 커널 함수, 합성곱 신경망의 필터를 지칭하기도 함. 이런 가중치에는 훈련 데이터를 신경망에 노출시켜서 학습된 정보가 담겨 있다. 초기에는 가중치 행렬이 작은 난수로 채워져 있다. 이것을 무작위 초기화..

728x90
반응형