Yet Never Lose Faith

- Good to Great , Jim Collins

How To Preprocess Image Data 자세히보기

All 126

6. 머신러닝/딥러닝 '지도학습'의 목표 2가지 - 회귀와 분류

이전 포스팅에서 머신러닝은 학습방식에 따라 지도학습, 비지도학습 그리고 강화학습이라는 3가지로 카테고리로 분류할 수 있다고 했다. 더보기 2020/06/11 - [Deep Learning/[Books] Do it! 정직하게 코딩하며 배우는 딥러닝 입문] - 3. 머신러닝 학습방식 3가지 (지도학습, 비지도학습, 강화학습) 이번 포스팅에서는 지도학습의 목표 2가지에 대해서 정리해보고, 각 목표를 달성하기 위해 사용하는 주요 알고리즘을 정리한다. 추가적으로! 지도학습 소속 알고리즘들은 활성화함수와 손실함수라는 개념을 사용하는데, 우리는 이 함수들을 문제의 특성에 따라 (달성하려는 목표에 따라) 적절하게 선별해서 사용해야한다. 활성화함수와 손실함수의 개념에 대해서는 다음에 자세하게 다루도록 하고, 이번 포스팅..

5. 머신러닝, 딥러닝 구현을 위한 기초 패키지 2가지 (numpy, matplotlib)

이번 포스팅에서는 머신러닝, 딥러닝을 구현하기 위해 기초적으로 알아둬야하는 패키지 2가지를 알아보겠다. 패키지란 특정 기능을 구현하기 위한 함수들의 모음, 즉 라이브러리 정도로 생각하면 된다. | 1. numpy(넘파이) 넘파이 패키지는 파이썬의 핵심 패키지 중 하나이다. 넘파이 패키지는 아주 방대하지만 이번 포스팅에서는 머신러닝,딥러닝을 위한 필수 기능만을 다룬다. 넘파이를 통해서 다차원 배열을 구현하고, 배열을 이용한 다양한 다양한 통계 및 수학함수를 사용할 수 있다. 사실 다차원 배열을 구현하기 위해서는 파이썬의 기본 자료구조 중 하나인 리스트를 사용하는 방법도 있다. 하지만 파이썬 리스트로 만든 배열은 배열의 크기가 커질 수록 성능이 떨어진다는 단점이 있다. 넘파이는 저수준 언어로 다차원 배열을 ..

4. 머신러닝, 딥러닝 구현 위한 개발 툴 2가지 (Jupyter notebook, Colab)

저번 포스팅까지 머신러닝, 딥러닝에 대한 기초적인 이론에 대해서 살펴보았다. 이번 포스팅에서는 머신러닝, 딥러닝을 구현하는데 사용하는 개발툴에 대해서 알아보겠다. 그 전에! 개발언어에 대한 언급을 잠깐 해보겠다. 머신러닝 개발언어로는 파이썬이 가장 많이 쓰인다. 몇 가지 장점이 있기 때문이다. 첫째는 프로그래밍이 단순해진다. 이는 파이썬 언어 자체의 특징이기도 하다. 파이썬은 원래 교육용으로 설계되었기 때문에 읽기 쉽고, 그래서 효율적인 코드를 되도록 간단하게 쓸 수 있도록 하려는 철학이 구석 구석까지 침투해 있어, 파이썬 커뮤니티에서도 알기 쉬운 코드를 선호하는 경향이 강하다. -위키백과- 둘째로, 머신러닝 라이브러리가 많다. 텐서플로우나 사이킷런 등 머신러닝이 구현된 라이브러리가 많다. 개발자가 머신..

3. 머신러닝 학습방식 3가지 (지도학습, 비지도학습, 강화학습)

지난 포스팅에서는 머신러닝이 도대체 뭔지!! 머신러닝의 정의에 대해서 알아보았다. 2020/06/01 - [Deep Learning/[Books] Do it! 정직하게 코딩하며 배우는 딥러닝 입문] - 1. 인공지능, 머신러닝, 딥러닝 기초개념 다지기 또한 머신러닝을 공부하는데 필요한 머신러닝 필수용어 5가지를 정리했다. 2020/06/04 - [Deep Learning/[Books] Do it! 정직하게 코딩하며 배우는 딥러닝 입문] - 2. 머신러닝 필수용어 5가지 (모델, 학습, 훈련, 입력, 타깃) 머신러닝 즉, 기계학습은 말그대로 컴퓨터(기계)를 학습시키는 기술이다. 여기서 학습은 스스로 데이터의 규칙을 찾아내도록 하는 기술을 의미한다. 그런데 우리가 공부할 때에도 여러 방법이 있듯, 머신러닝 ..

MSSQL count, group by - 가격이 여러개 존재하는 품목을 찾자!

업체 A는 가구를 판매한다. 판매 품목에 대한 물품코드, 색상, 가격 등은 DBMS를 통해 관리하고 있다. A의 상품들은 한가지 룰이 있다. 한 품목은 여러개의 색상을 가질 수 있지만 색상이 달라도 가격은 항상 동일해야한다. 그런데 어느날, 직원의 실수로 몇몇 품목의 가격이 잘못 업데이트 됐다. 당신은 IT 지원부서의 일원으로 가격이 여러개 존재하는 품목을 찾아달라는 요청을 받았다. MSSQL로 쿼리를 작성해보자. 우선 데이터를 살펴보자. SELECT * FROM ITEM ORDER BY ITM_CD 내가 골라내야하는 코드는 위와 같이 품목코드가 같은데 가격이 다른 애들이다. 먼저 GROUP BY 절을 통해 ITEM 테이블에 존재하는 (ITM_CD,SALCST) 조합들을 찾아낸다. SELECT ITM_C..

MSSQL 2020.06.08

2. 머신러닝 필수용어 5가지 (모델, 학습, 훈련, 입력, 타깃)

이번 포스팅에서는 머신러닝/딥러닝을 이해하는데 필요한 필수용어 5가지를 정리해본다. | 1.모델 모델(model)은 프로그램을 의미한다. 만약 당신이 강수여부를 예측하는 인공지능 프로그램을 만든다고 하면,그것은 다시 말해 강수여부를 예측하는 인공지능 모델을 만든다는 의미이다. 인공지능 프로그램 = 인공지능 모델 | 2. 학습 학습의 의미에 대해서는 저번 포스팅에서 자세하게 다뤘으니 의미만 언급하고 넘어가겠다. 학습이란 컴퓨터가 스스로 데이터의 규칙을 찾는 기술을 의미한다.(자세한 내용은 아래 포스팅 참고!) 2020/06/01 - [Deep Learning/[Books] Do it! 정직하게 코딩하며 배우는 딥러닝 입문] - 1. 인공지능, 머신러닝, 딥러닝 기초개념 다지기 | 3. 훈련 훈련은 말 그대..

1. 인공지능, 머신러닝, 딥러닝 기초개념 다지기

요즘 신문기사를 읽다보면 인공지능, AI 와 같은 단어를 매일 한번씩은 꼭 마주친다. 그만큼 우리가 인공지능을 실생활에서 점점 더 많이 활용하고 있는 것이라 생각한다. 인공지능을 공부하는 사람으로써, 오늘은 '인공지능'의 기초개념을 짚고 넘어가려고 한다. 인공지능(AI)이란? 인공지능(AI)은 Artificial Intelligence의 우리말이다. 나무위키에서는 인공지능을 아래와 같이 정의한다. 인공지능 인간의 지능을 갖고 있는 기능을 갖춘 컴퓨터시스템이며, 인간의 지능을 기계 등에 인공적으로 시연(구현)한 것이다. 또한 그와 같은 지능을 만들 수 있는 방법론이나 실현 가능성 등을 연구하는 과학 분야를 지칭하기도 한다. 정리하면, 인공지능이란 인간의 지능을 기계에 구현하는 것 또는 관련 연구 분야를 의..

자연어처리(카테고리 분류) 데이터 전처리

지난 포스팅에서는 형태소 분석 방법과 문장을 수치로 변환하는 예제에 대해서 공부했다. 이번 포스팅은 "문서"를 입력 받아 수치로 변환하는 방법에 대해서 공부해보겠다. 문장을 수치로 변환하는 예제를 이해했다면, 문서를 변환하는 건 아주 간단하다. 문서를 문장으로 바꾼 뒤, 문장을 수치로 바꾸면 된다. read() 함수를 통해 파일(문서)를 한 줄씩 읽은 후 add_text()에 인자로 전달한다. def add_file(path) : with open(path, "r", encoding="utf-8") as f : s = f.read() add_text(s) 문서별 형태소 분석까지 마쳤다. 이후에는 calc_files()를 사용하여 수치로 변환한다. add_text()와 calc_files()가 궁금하다면?..

자연어 처리(문서 카테고리 분류)의 원리

자연어란 인간의 언어를 의미한다. 기계어는 컴퓨터의 언어를 의미한다. 자연어 처리란 인간의 언어 현상을 컴퓨터와 같은 기계를 이용해서 모사할 수 있도록 연구하고, 이를 구현하는 인공지능의 한 분야이다. 정보검색, 문서자동분류, 신문기사 클러스터링, 대화형 Agent등이 있다. 이번 포스팅에서는 문서자동분류, 신문기사 클러스터링 같이 인공지능으로 자연어로 이루어진 문서의 카테고리를 분류하는 작업의 원리에 대해서 다룬다. 전체적인 과정을 이미지로 표현해보았다. 먼저 자연어로 된 문서들을 컴퓨터가 이해할 수 있도록 입력값(X)과 Target(Y)을 숫자 형태로 변환한다. (①) 적절한 형태의 학습 데이터를 확보하면 머신러닝, 딥러닝 모델을 생성한다. (②) 새로운 문서가 주어지면 이를 다시 숫자형태로 변환하고..

머신러닝 이용하여 언어판정하기 (feat. Unicode code point)

언어판정이란 주어진 문장이 어떤 언어로 작성됐는지 판정하는 것을 의미한다. 머신러닝 모델을 사용해서 언어판정을 해보려고 한다. 1. 이론 (1) Unicode codepoint 언어의 종류마다 사용하는 문자가 다르다. 한국어는 '가, 나,...' 영어는 'a,b,...' 일본어는 'か,つ,...' 언어판정을 위해서는 사용하는 문자의 차이, 사용빈도를 구분할 수 있어야한다. 이때, 문자의 식별을 위해 Unicode codepoint라는 개념을 사용한다. Unicode codepoint란? 문자열을 대표하는 정수값으로, 문자열에 할당된 코드값을 의미한다. 한 문자는 한 코드를 갖는다. 유니코드 전체를 논리적으로 묶은 평면을 유니코드 평면이라고 하는데, 총 17개의 평면으로 구성되어 있으며, 한 평면은 655..