프로필사진

전체 글 81

[밑러닝] XOR 문제의 해결, 층 쌓기

* 이 글은 책을 읽으며 정리한 글입니다. * 나중에라도 제가 참고하기 위해 정리해 두었으며, 모든 내용을 적은 것이 아닌, 필요하다고 생각되는 부분만 추려서 정리한 것임을 미리 밝힙니다. 목차 XOR 문제 리마인트 XOR 문제 해결 다층 퍼셉트론 (multi-layer perceptron) 1. XOR 문제 리마인드 지난 포스트에서, 풀기 어려운 난제에 대해 이야기한 바가 있다. 문제를 풀기에 앞서, 문제가 무엇인지 리마인드를 해보자. AND, NAND, OR 게이트 등은 2차원의 공간 상에 표현했을 때, 하나의 선만으로 빨간 동그라미와 파란 세모와의 구역을 구분지을 수 있었다. 예를 들면, 아래는 OR 게이트를 시각화한 것이다. 하지만 XOR 게이트는 하나의 선만을 가지고 구분지을 수가 없었다. 이것..

[밑러닝] 퍼셉트론(perceptron), 인공신경망의 기원

* 이 글은 책을 읽으며 정리한 글입니다. * 나중에라도 제가 참고하기 위해 정리해 두었으며, 모든 내용을 적은 것이 아닌, 필요하다고 생각되는 부분만 추려서 정리한 것임을 미리 밝힙니다. 목차 퍼셉트론(perceptron)이란 AND, NAND, OR, XOR 게이트 퍼셉트론의 구현 XOR 문제 1. 퍼셉트론(perceptron)이란 퍼셉트론은 인공신경망의 아이디어를 제공한 알고리즘이다. 퍼셉트론을 요약하자면, 정보(신호)가 유효한지 아닌지 판가름하는 알고리즘이다. 내가 원하는 기준치($\theta$) 이상으로 정보(신호)가 세게 들어오면 '1(유효함)'을 내놓고, 그렇지 않으면 '0(유효하지 않음)'을 내놓는다. 이를 식으로 나타내면 다음과 같다. $$ y=\begin{cases} 0\ (w_1x_1..

[Early project] 리니지 게임 활동 데이터 기반 고객 이탈 예측 모형

이 글은 2019년 빅콘테스트에서 챔피언리그의 과제로 제시된 '게임 활동 데이터를 활용한 게임유저 잔존가치를 고려한 고객 이탈 예측 모형"' 개발에 관한 기록입니다. 목차 고객 이탈 예측 모형 이탈 예측 모형이 갖춰야 하는 덕목 문제 정의 프로젝트에 사용한 모델 향후 보완점 1. 고객 이탈 예측 모형이란 고객의 이탈 분석에는 두 가지의 방향이 있다. 첫째는 인과 분석이고, 둘째는 예측 분석이다. 인과 분석은 이탈 고객의 분석을 통해 원인을 파악하여 그 원인을 제거하는 것이 목적이다. 하지만 데이터는 고객 행동의 결론만을 보여줄 뿐, 정확한 인과는 파악하기는 힘들다. 관측 데이터로는 고객 이탈의 '징후'만 잡아낼 수 있을 뿐이다. 예측 분석이란, 이탈 징후를 보이는 고객을 사전에 알아내는 것이다. 이탈 징..

Odyssey Logbook 2020.03.02

[Early project] 소비자의 리뷰에 근거한 제품 특성별 랭킹 산출

이 글은 다음의 논문에 근거하여 작성되었습니다 [논문 링크] Kunpeng Zhang, Ramanathan Narayanan, and Alok Choudhary, Voice of the Customers: Mining Online Customer Reviews for Product Feature-based Ranking, June 2010. 목차 기존 랭킹 시스템의 한계와 특성 기반의 랭킹이 필요한 이유 프로젝트 개요 PageRank 알고리즘 pRank 알고리즘 프로젝트에서 어려웠던 점과 보완 방향 1. 기존 랭킹 시스템의 한계와 특성 기반의 랭킹이 필요한 이유 많은 온라인 소매업체에서는 '인기순' 정렬 기능을을 제공하고 있다. 잘 팔리고 평이 좋은 제품을 우선적으로 노출해서 소비자의 선택을 도와주는 것..

Odyssey Logbook 2020.03.02

자연어처리(NLP) 직무 면접 대비용 개념 한 줄 정리

※무단 사용 및 펌을 절대 금지합니다 이 페이지에서만 봐주세요.※ 하나 하나 손으로 기입한 것이어서 잘못된 내용이나 오타가 있을 수 있습니다 댓글로 제보해주세요 분야 용어 용어 풀이 텍스트 전처리 토큰화 Tokenization 언어를 한 단위의 의미를 가지는 문자열로 쪼개는 과정이다. 토큰화에는 문장 토큰화, 단어 토큰화 등이 있다. 영어는 nltk, 한국어는 konlpy를 많이 쓰며, bert의 영향으로 BPE 방식의 SentencePiece 토크나이저도 많이 사용된다. 어간 추출 Stemming 어간(stem)을 추출하는 작업으로, 룰 기반으로 작동하는 경우가 많다. 어미나 조사를 제거하여 준다. 표제어 추출 Lemmatization 표제어를 추출하는 작업으로, 사전에 실리는 대표어로 대체해주는 작업..

데이터 관련 직무 면접 대비용 개념 한 줄 정리

※무단 사용 및 펌을 절대 금지합니다 이 페이지에서만 봐주세요※ 하나 하나 손으로 기입한 것이어서 잘못된 내용이나 오타가 있을 수 있습니다 댓글로 제보해주세요 분야 용어 용어 풀이 머신러닝 일반 머신러닝 Machine learning (기계학습) (톰 미첼의 정의에 따르면) 컴퓨터가 어떤 작업(Task, T)을 하는 데 있어 경험(Experience, E)으로부터 학습하여 성능(Perfomance measure, P)을 향상시키는 것이다. 딥러닝 Deep learning 머신러닝의 한 분야로, 심층 신경망을 이용하여 댜량의 데이터에서 표현되는 핵심을 찾아내어 일반화하고, 이것을 새로운 데이터에 대해 예측하는 데 사용하는 기술이다. 머신러닝의 종류 지도학습(supervised learning) : 데이터에..

멀티클래스 텍스트 분류(Multi-class text classification)

목차 텍스트 분류란 멀티클래스 텍스트 분류(Multi-class text classification) 멀티틀래스 텍스트 분류를 시행하는 여러가지 모델들 1. 텍스트 분류란 친구와 대화 중, 다음과 같은 문장을 당신이 들었다고 해보자. "그 영화는 특출난 구석이 어디 하나 없는 밋밋한 스토리였어." 그러면 당신은 친구가 그 영화에 대해 부정적인 평가를 내리고 있다고 생각할 것이다. 그러니까, 방금 당신은 이 텍스트가 '긍정적'인지, '부정적'인지 분류했다는 것이다. 분류는 긍정/부정 뿐만 아니라 다양한 분야에서 이루어진다. 당신은 문서를 분류하며 쓸모에 따라 분류하여 쓸모 없는 것은 폐기한다. 쓸모가 있는 문서는 A프로젝트에 관련된 건지, B프로젝트에 관련된 것인지 분류한다. 이 모든 것이 '텍스트 분류'..

Task Synopsis 2020.02.29

SQL 명령문 총정리

※무단 사용 및 펌을 절대 금지합니다 이 페이지에서만 봐주세요※ 사용되는 곳 명령어 정의 사용 예시 관련 명령어 및 참고 사항 테이블에서 데이터 검색 SELECT 질의, 쿼리 SELECT 열명 FROM 테이블명 '*' : 열명에 기입 시 모든 열 반환 WHERE 조건에 만족하는 행만 반환 SELECT col1, col2 FROM 테이블명 WHERE 조건식 비교연산자('=', '', '' ...) IS NULL / IS NOT NULL AND / OR / NOT IN LIKE 특정 패턴과 일치하는 문자열 찾기 SELECT 열명 FROM sampletable WHERE text LIKE '%SQL%' '%' : 임의의 문자열, 빈 문자열에도 매치 '_' : 임의의 문자 하나!만 의미 정렬 ORDER BY 결..

[밑러닝] 1.6 matplotlib, 파이썬의 시각화 툴

* 이 글은 책을 읽으며 정리한 글입니다. * 나중에라도 제가 참고하기 위해 정리해 두었으며, 모든 내용을 적은 것이 아닌, 필요하다고 생각되는 부분만 추려서 정리한 것임을 미리 밝힙니다. 목차 matplotlib의 정의 그래프 그려보기 사진 재현 1. matplotlib의 정의 matplotlib은 파이썬에서 쓰이는 시각화 툴이다. 그래프 그리기에 탁월하다. (이외에도 seaborn이라는 툴이 있는데 이는 빅데이터를 시각화하기에 적당한 툴이다) 일단은 matplotlib에 대해 서술해보도록 하자. matplotlib은 외부 라이브러리고, 흔히 plt로 줄여서 사용한다. import matplotlib.pyplot as plt 2. 그래프 그려보기 앞서 배운 넘파이(numpy)를 이용해 간단한 그래프를 ..

[밑러닝] 1.5 넘파이(numpy as np)

* 이 글은 책을 읽으며 정리한 글입니다. * 나중에라도 제가 참고하기 위해 정리해 두었으며, 모든 내용을 적은 것이 아닌, 필요하다고 생각되는 부분만 추려서 정리한 것임을 미리 밝힙니다. 목차 넘파이(numpy)의 정의 넘파이(numpy)의 연산 넘파이(numpy)의 N차원 배열 브로드캐스트(broadcast) 원소 접근 1. 넘파이(numpy)의 정의 넘파이(numpy)는 벡터나 행렬 연산을 빠르게 하는 도구다. 다르게 말하자면, 배열을 다루는 도구이다. 넘파이는 한 개 이상의 원소를 가진 배열 형태라면 모두 "넘파이"라는 그릇에 담아버린다. 앞으로 과학적인 분석이나 딥러닝을 할 때 심심찮게 볼 수 있을 것이다. numpy는 다들 풀네임 쓰기 귀찮아해서 관용적으로 np라고 쓴다. 외부 라이브러리이기 ..