목록ML (51)
운동하는 공대생

1 Intro 이미지 분석, 텍스트 분석 등 다양하게 딥러닝 모델과 프로세스들이 각광받고 있는 요즘 Text Extraction 즉 이미지에서 텍스트 정보를 인식하고 데이터화하는 방식에 대한 연구를 진행하였고 내가 사용하였던 layoutlmv2 모델의 이론과 그리고 코드를 리뷰해보려고 한다. 2 Process 이미지에서 텍스트를 추출하는 방식을 간단하게 도식화 하자면 아래의 그림과 같다. 먼저 아래의 그림처럼 이미지에서 text 즉 글씨의 정보를 OCR 기법을 이용하여 단어의 위치와 범위를 bounding box 형식으로 구분하여 지정을 한다. 그 이후에 위치정보와 텍스트 정보를 이요하여서 Layoutlmv2 모델에 적용하고 모델을 학습시킨 후 그 단어가 어떤 layout 에 지정이 되는지를 예측하는 방..

이전 까지는 문장에서 단어의 빈도를 바탕으로 하는 NLP 방법을 알아보았다. 이 방식의 큰 문제는 단어의 빈도를 바탕으로 처리를 해서 문서의 특징을 파악하는 건 가능하지만 각 단어 간의 유사성이나 의미를 파악하기는 어렵다. 예를 들어서 뜻이 다른 같은 단어가 여러 개 나오는 문장에서 이전 방식을 사용하면 의미를 파악하기보다는 문장의 특징을 파악하는 건 가능하지만 그 단어가 다르다는 의미를 파악하기는 어렵다 가령 '날아다니는 파리'와 '프랑스의 수도인 파리' 같은 예시이다. 워드 임베딩 예측을 기반으로 하는 벡터 임베딩 방식을 이용하기 이전에 단어를 수치적으로 표현하는 방식인 워드 임베딩 방식을 꼭 알아햐 한다. 예측을 하기 위한 단어의 데이터를 수치화를 시켜서 예측이 가능한 형태로 바꿔주는 작업니다. 예..

교차 검증 모델을 학습하면서 교차 검증을 하는 이유는 무엇일까. 이유는 바로 과적합(Overfitting)의 문제를 보안하기 위해서 이다. 과적합 문제는 모델학습 과정에서 항상 주의를 해야 하는 문제로 훈련 데이터에만 모델이 치중하여 학습을 하면 실제 데이터를 가지고 예측을 하였을 때 성능이 떨어지는 문제를 말한다. 그렇다면 교차 검증 방식은 어떻게 작용할까? 교차 검증 방식은 데이터 편중을 막기 위해서 학습 데이터 세트를 가지고 학습 데이터와 검증 데이터 세트를 또한번 나눠서 실제 학습을 하기 이전에 1차 평가를 하는 방식이다. 그렇게 된다면 최종 학습을 하기 위해서 모델의 최적화를 학습 이전에 가능하다. K-Fold K-Fold 교차 검증 방식은 가장 보편적으로 사용되는 교차 검증 기법이다. K-Fo..
What is TF-IDF TF-IDF는 NLP 분야에 거 가장 흔하게 사용하는 방식으로 텍스트들이 나열되어있는 데이터에서 단어의 빈도수를 기준으로 하여서 한 단어가 그 문장에서 얼마나 수학적으로 중요한지 가중치를 나타내는 방식이다. 한 문장에서 한 단어의 빈도가 높으면 높을수록 이 TF 값은 커지고 여러 문장에서 한 단어의 빈도수가 높아면 IDF 값이 줄어드는 형식으로 이 두 값 TF, IDF를 곱한 것을 결과로 도출한다. 즉 한 문장에서 자주 사용되는 단어는 중요하다 판단하지만 다른 문장에서도 흔하게 사용하면 중요하지 않다고 단어를 판단하는 알고리즘이다. Mathematical Formula of TF-IDF 단어의 빈도를 나타내는 이 알고리즘은 결과값을 여러 가지 방식으로 산출한다. 먼저 총빈도수를..

Intro 머신러닝 분야를 공부를 시작하면서 자연스럽게 접하게 되었던 딥러닝 분야 공부를 항상 미뤄왔다가 이번 여러 대회를 참가하면서 비정형 데이터들의 분류와 예측하는 대회들이 유행하고 있어서 딥러닝 분야를 공부를 시작을 해보았다. What is Deep Learning 딥러닝 분야는 항상 최신 트렌드 산업과 기술에서 꾸준히 등장하고 있는 분야이다. 이런 딥러닝 분야는 이제까지 공부한 머신러닝 알고리즘 중 하나인 인공신경망(Artificial Neural Network)으로 만들어진 알고리즘을 말하며 큰 틀에서 본다면 머신러닝 분야라고 할 수 있다. 퍼셉트론(Perceptron) 인공 신경망 알고리즘을 사용하는 머신러닝 분야중 한가지인 딥러닝의 초기 모델이 퍼셉트론이다. 퍼셉트론에 대하여 이야기하기전에 ..

What is Levenshtein Distance 레벤슈타인 거리는 문자열의 유사도를 판별하는 알고리즘의 한 방식으로 두 문자열 사이에 같아지기 위한 연산을 최소화하는 값을 찾는 알고리즘이다. 여기서 연산이랑 수정, 삭제, 삽입 이렇게 3가지 연산을 칭한다. 위의 사진처럼 1차 수정에서 4번 삭제에서 1번 삽입에서 1번 총 6번의 비용이 필요한 문자열이다. Levenshtein Distance Process 레벤 슈타인은 그렇다면 어떤 방식으로 작동하는지 알아보겠다. 기본적으로 LCS 알고리즘과 유사하게 알고리즘이 작동한다. LCS LCS: 최장 공통 부분수열 문제는 LCS라고도 불린다. 이는 주어진 여러 개의 수열 모두의 부분수열이 되는 수열들 중에 가장 긴 것을 찾는 문제다 사전적인 의미는 이렇지만..

파이썬 머신러닝 완벽 가이드(개정 2판) 책 내용을 정리한 내용입니다. 다항 회귀 이해 이전 공부한 내용까지는 단순 회귀에 관하여 설명했지만 이번에는 현실 상황에서 더 자주 있는 독립변수의 단항식이 아닌 2차, 3차 이상의 다항식일 경우에 해당하는 다항 회귀에 대햐여 이야기를 해보겠다. 다항 회귀는 단순회귀의 일차원 직선과 다르게 곡선형의 모양을 띄고 있다. 그래서 어떤 데이터에서는 선형 모델이 더 좋은 정확도를 보일 수도 있지만 일반적인 경우에는 다항 회귀 모델이 더 높은 정확도를 나타낸다. 다항 회귀를 이용한 과소적합 및 과적합 이해 과적합 다항 회귀 모델을 사용하는것이 항상 좋은 경우만 있는 것은 아니다. 이유는 항상 과소 적합과 과적 합의 오류를 신경을 써야 한다. 일단 과적합(overfittin..

What is Gradient Descent 이전 글에서 이야기했지만 회귀 분야에서 예측값과 실제값의 차이, 즉 비용을 최소화해주는 게 가장 중요하다. 이때 이 비용 값을 최소화해주는 방식이 Gradient Descent(경사 하강법)이다. 이 이론이 등장한 배경은 직관적인 단순 선형 회귀가 아닌 함수상으로 생각하기 어려운 다중으로 종속변수가 존재하는 상황에서는 RSS 비용 값을 최소화하기 위해서 데이터를 기반으로 알고리즘을 학습하는 이 방식이 등장하게 되었다. 수학 공식은..... 생략..ㅎㅎ 출처: https://angeloyeo.github.io/2020/08/16/gradient_descent.html 위의 동영상을 참조하면 처음 초기 값에서 RSS 비용 함수의 비용 값이 큰 상황의 함수가 있다...