머신러닝 용어: Example, Sample & Data Point

머신러닝 용어: Example, Sample & Data Point

머신러닝을 공부하면서 굉장히 생소하게 느껴졌던 용어가 몇 개 있습니다. 그 중에서 가장 어색했던 용어는 데이터셋의 개별 데이터를 표현하는 용어였습니다. 일반적으로 머신러닝 데이터셋의 개별 데이터를 다음과 같은 용어로 표현합니다. Example Sample Instance Data Point 문서를 번역하거나 정리하는 과정에서 위 용어를 어떻게 처리해야 할지가 항상 고민이었습니다. 개별 데이터를 왜 이렇게 표현하는지 제 개인적인 느낌을 정리해 ......
Docker Image: 파이썬 기반 머신러닝 학습용 이미지

Docker Image: 파이썬 기반 머신러닝 학습용 이미지

파이썬을 기반으로 머신러닝이나 딥러닝 작업을 진행할 때 가장 귀찮고 꺼려지는 작업은 기본 환경을 준비하는 과정입니다. 파이썬 기본 환경을 효과적으로 관리하기 위해서 Docker Image 형태로 PYML을 만들었습니다. PYML은 텐서플로우, 파이토치, 케라스 및 Scikit-Learn을 활용하여 데이터를 분석할 수 있는 환경이며 UI로 IPython을 사용합니다. taewanme/pyml 컨테이너 이미지 pyml 더커 이미지는 docker h ......
Kotlin 지원 Jupyter: BeakerX 도커 이미지

Kotlin 지원 Jupyter: BeakerX 도커 이미지

최근에 Kotlin을 익히고 있습니다. 안드로이드 개발을 목적으로 하기 보다는 서버사이드 개발언어, Micoroservice 구현언어로 Kotlin을 살펴보고 있습니다. Kotlin을 잘 지원하는 IntelliJ라는 개발툴이 있기는 하지만, 새로운 언어를 익힐때 빠른 실험과 결과 확인이 편리한 REPL 환경을 더 선호합니다. Kotlin은 자체적으로 REPL을 지원하기는 하지만 터미널에서 CLI 형태로 사용하기 때문에, 편집이 불편합니다. 또한 ......
보안 Black List 테이블의 Key 디자인: 억울한 이름

보안 Black List 테이블의 Key 디자인: 억울한 이름

세상에는 수많은 동명이인이 존재합니다. 대한민국에 김태완이라는 사람이 약 500명 정도는 있을 것 같습니다. 상단 이미지는 구글링으로 확인한 대한민국의 김태완입니다. 지난 몇 년간 고객사에서 제 이름 때문에 생겼던 웃지 못할 경험을 했고, 이 에피소드는 현재도 진행 중입니다. 이 에피소드는 2018년 1월 24일 페이스북에 올려 100명의 페친으로 부터 공감을 얻은 사건이 있었습니다. 그림 1: Facebook 원문: https://www.f ......
오픈소스 작명 센스: 아파치 플룸(Apache Flume)

오픈소스 작명 센스: 아파치 플룸(Apache Flume)

Flume에 대한 전체적인 개요를 정리한 문서입니다. Flume을 아직 잘 모르시는 분들에게 전체적인 Flume 이미지를 제공하는 목적으로 작성하였습니다. Flume이란? Apache Flume은 오픈소스 프로젝트로 개발된 로그 데이터를 수집 기술입니다. 여러 서버에서 생산된 대용량 로그 데이터를 효과적으로 수집하여, HDFS과 같은 원격 목적지에 데이터를 전송하는 기능을 제공합니다. 구조가 단순하고 유연하여 다양한 유형의 스트리밍 데이터 플로 ......
최초 Family Name 도메인 - kim

최초 Family Name 도메인 - kim

자기를 처음 소개를 할 때 직접 운영하는 홈페이지를 소개하는 것이 가장 효과적인 표현 수단이라고 생각합니다. 자기소개를 할 때 제 홈페이지는 taewan.kim 입니다. 라고 말하면 대부분 사람이 도메인 때문에 굉장히 신기해합니다. “kim“이라는 도메인이 있다는 것 자체를 신기하게 받아들입니다. 블로그를 자기 이름과 같은 도메인으로 운영하면 자기 홍보와 PR 측면에서 효과는 극대화됩니다. 여러분들은 kim 이라는 최상 ......
Spark: Collection의 flatMap을 이용한 비정상 패턴 처리

Spark: Collection의 flatMap을 이용한 비정상 패턴 처리

스칼라에서 map과 flatMap의 차이점을 파악하고 이해하는 것은 쉽지 않은것 같습니다. 이상 데이터 처리는 두 함수를 차아점을 구분하는 예제로 적합하다고 생가합니다. 이상 데이터 처리 예젤로 두 함수의 의미를 정리하겠습니다. 스칼라에서 컬렉션을 map함수로 변환시킬 때 어떤 것을 걸러 내야 할 때가 있습니다. val x = List("taewan 45", "minsu 6", "sunny 40&qu ......
'그날,바다' 후기 (노스포)

'그날,바다' 후기 (노스포)

오늘 ‘그날, 바다‘를 관람했습니다. 제 경우, 그날, 바다를 보기 위해서 극장에 들어가는 과정이 정말 어려웠습니다. 빨리 보고 싶다는 마음과 두려움이 함께 했습니다. ‘그날, 바다‘는 저에게 꼭 봐야 할 것 같은 영화지만, 두렵고 용기가 필요한 영화였습니다. 저와 같이 세월호에 대한 무게감에 영화 관람이 꺼려지시는 분들을 위해서 ‘그날, 바다’ 관람 후기를 작성합니다. 여러분들이 ......
뇌는 어떻게 결정하는가?

뇌는 어떻게 결정하는가?

최근에 제가 집중하고 있는 키워드는 인공지능 그중에서도 딥러닝 입니다. 인공지능이란 “인간이 수행하는 지적인 작업의 자동화”하는 것이라고 정의할 수 있습니다. 일반적으로 인공지능 그 중에서도 딥러닝을 소개할 때 인간의 뇌에서 영감을 받아 만든 기술로 데이터를 학습하여 숨겨진 패턴을 찾아내는 기술이라고 설명합니다. 딥러닝 기술을 익히면서 정말 사람의 뇌는 어떻게 움직이는지 궁금해졌습니다. 이런 궁금증으로 읽기 시작한 책이 ......
미래와 추억을 자극하는 'Ready Player One' 관람 후기

미래와 추억을 자극하는 'Ready Player One' 관람 후기

지난 수요일 레디 플레이어 원 시사회에 다녀 왔습니다. 결론부터 말씀 드린다면 이 영화 강추합니다. 특히 다음과 같은 분들에게 추천합니다. 향후 10년쯤 후의 미래가 궁금하신 분 SF 혹은 일본 메카닉 애니메이션 좋아하시는 분 1990 ~ 2000년 대 초반의 멀티미디어를 즐기시고 추억하시는 분 IT 분야에 종사하시는 분 “인디아나 존스”의 21세기 버전을 보고 싶으신 분 정말 이번 레디 플레이어 원은 스티븐 스필버그 ......
구글 vs 오라클 Java 라이센스 전쟁

구글 vs 오라클 Java 라이센스 전쟁

지난 8년간 오라클과 구글의 자바 라이센스 분쟁이 끝났습니다. 재판 과정을 지켜보면서 제가 느낀 감정과 사견을 정리해 보겠습니다. 이 글은 전적으로 저 개인의 사견임을 먼저 밝힙니다. 재심에서 재판부는 구글은 오라클에 라이센스를 지급할 것을 판결했고, 구글의 대법원 상고 요청이 기각되었습니다. 실질적으로 최종 판결인 것으로 판단됩니다. 앞으로 라이센스 규모 산정 및 협상이 이루어질 것입니다. 그림 1: 구글, 지재권 소송서 오라클에 패배…자바 관련기사 링크: 구글, 지재권 소송서 오라클에 패배…자바 오라클 재판 승소 기사를 보면 다음과 같은 내용을 포함합니다.
파이썬 데이터 사이언스 Cheat Sheet: NumPy 기초, 기본

파이썬 데이터 사이언스 Cheat Sheet: NumPy 기초, 기본

파이썬 기반 데이터 분석 환경에서 NumPy1는 행렬 연산을 위한 핵심 라이브러리입니다. NumPy는 “Numerical Python“의 약자로 대규모 다차원 배열과 행렬 연산에 필요한 다양한 함수를 제공합니다. 특히 메모리 버퍼에 배열 데이터를 저장하고 처리하는 효율적인 인터페이스를 제공합니다. 파이썬 list 객체를 개선한 NumPy의 ndarray 객체를 사용하면 더 많은 데이터를 더 빠르게 처리할 수 있습니다. Nu ......
[번역] JShell 사용자 가이드

[번역] JShell 사용자 가이드

이 문서는 Java9의 오라클 공식 문서 중 JShell 사용자 가이드의 한글화 문서입니다. 원문 정보는 다음과 같습니다. 원문: https://docs.oracle.com/javase/9/jshell/toc.htm 제목: Java Platform, Standard Edition Java Shell User’s Guide: 1 Introduction to JShell 문서번호: E87478-01 배포: 2017년 09월 라이센스: 원본 ......
CNN, Convolution Neural Network 요약

CNN, Convolution Neural Network 요약

Fully Connected Layer1 만으로 구성된 인공 신경망의 입력 데이터는 1차원(배열) 형태로 한정됩니다. 한 장의 컬러 사진은 3차원 데이터입니다. 배치 모드에 사용되는 여러장의 사진은 4차원 데이터입니다. 사진 데이터로 전연결(FC, Fully Connected) 신경망을 학습시켜야 할 경우에, 3차원 사진 데이터를 1차원으로 평면화시켜야 합니다. 사진 데이터를 평면화 시키는 과정에서 공간 정보가 손실될 수밖에 없습니다. 결과적으 ......
신경망 W 행렬 표기법: 'ij'/'ji' 의 차이점?

신경망 W 행렬 표기법: 'ij'/'ji' 의 차이점?

제가 처음에 딥러닝을 학습할 때 가장 혼란스러웠던 것은 입력 레이어의 데이터와 가중치 W의 합 표현하는 “Z(Weighted Sum)” 수식이 문서마다 다른 것이었습니다. <식 1>. Z(Weighted Sum)을 표현하는 수식 $$ \begin{align} Z^{[l]} & = W^{[l]T}A^{[l-1]} & (1) \\ Z^{[l]} & = W^{[l]}A^{[l-1]} & ......