참조 페이지 : https://1boon.daum.net/ziksir/5b8f7e76709b5300013c4229
요즘은 놀라운 일들이 워낙 많아서 그다지 놀랄 것도 없는 것 같기도 하다. 하지만 어떤 일들은 참 판단하기 어려운 정도로 놀라운 경우도 많다. 소위 편향된 시각을 벗어나기 위하여 (혹자는 이런 과정을 덕을 쌓는 것이라 하기도 한다) 노력하는 중에 본 이 글 또한 그렇지 않은가 싶다.
사실을 사실로 판단하는 것이 어려운 요즘, 그저 논문으로나마 이런 생각을 피력하고는 있지만, 갈 길이 무척이나 멀다는 것을 알지만 이미 지쳐버린 듯한 일상에서 내놓을 마땅한 구실이 없다.
2018-09-18
2018-07-23
굴욕감을 사서 느끼는 방법
많이 더운 날씨다. 다들 힘들어하지만 한편으로는 시원한 사무실에서 모니터를 보면서 업무를 진행할 수 있는 여건에 감사하는 마음도 크다. 이런 날씨에 밖에 나가서 일을 한다면 추가수당은 고사하고 타죽을까봐 일을 안하는 편이 낫다는 생각이다.
목구멍이 포도청이라고, 이렇게 생각하는 것도 다 내가 가진 업이다 싶다. 하지만 잠깐 떨어져서 생각해보면 내 인생에서 이런 일들이 당연하게 된 지가 불과 얼마 되지 않았다. 그 전에는 정말로 몸으로 뛰어야만 했는데, 그냥 그게 당연한 것으로 생각하고 살았다. 지금껏 약을 먹어도 낫지 않는 질환을 보유하고 있음에도, 나에게는 그 상황을 나아지게 할 만한 역량이 있다거나 용기있게 추진해서 극복하고자 하는 의지가 없었다.
과연 내가 잘 몰라서였을까? 아마 맞는 이야기 같다. 사람들이란 다들 자신이 생각하는 만큼만 살아가는 것이니까. 그리고 그게 옳다고 생각하면서 살아가는 편이 훨씬 마음이 편하다. 아니면 세상이 변하는 만큼이나 자기 자신도 변해야 하는데, 이게 쉬운 일이 아니라는 것은 누구나 아는 사실이니까.
때로는 이러한 상황에 따라 목표가 바뀌기도 한다. 생존을 위해 몸부림치는 단계를 벗어나고 나면 이제 어떻게 가진 것을 늘리고 다른 영역으로 확장할까 생각하게 되는데, 이 단계에서 필연적으로 연관된 다른 사람의 것을 빼앗아야 하는 일이 생긴다. 의식적이든 아니든 이런 일들을 겪으면서 일말의 양심이 있다면, 아니 기득권이라는 것이 존재한다면 삶은 더 힘들어질 것이다. 원래 먼저 발을 들인 사람이 적어도 초보보다는 뭔가 알아야 하는데, 그게 영업비밀이니 노하우니 하면서 실력이 아닌 제도 또는 그 무언가로 지켜지는 구조라면 금방 밑천이 드러나게 되고 결국은 뜯어먹히는 데 얼마 걸리지 않을 것이다.
너무 비관적으로만 이야기했나. 하지만 냉엄한 현실이며, 갖다 댈만한 근거를 찾아 헤매는 일들을 하는 것보다는 현실을 직시하는 편이 낫다. 그저 삶을 돌아봐서는 뭐 하나 할 수 없는 복잡다단한 현대에서의 푸념이다.
목구멍이 포도청이라고, 이렇게 생각하는 것도 다 내가 가진 업이다 싶다. 하지만 잠깐 떨어져서 생각해보면 내 인생에서 이런 일들이 당연하게 된 지가 불과 얼마 되지 않았다. 그 전에는 정말로 몸으로 뛰어야만 했는데, 그냥 그게 당연한 것으로 생각하고 살았다. 지금껏 약을 먹어도 낫지 않는 질환을 보유하고 있음에도, 나에게는 그 상황을 나아지게 할 만한 역량이 있다거나 용기있게 추진해서 극복하고자 하는 의지가 없었다.
과연 내가 잘 몰라서였을까? 아마 맞는 이야기 같다. 사람들이란 다들 자신이 생각하는 만큼만 살아가는 것이니까. 그리고 그게 옳다고 생각하면서 살아가는 편이 훨씬 마음이 편하다. 아니면 세상이 변하는 만큼이나 자기 자신도 변해야 하는데, 이게 쉬운 일이 아니라는 것은 누구나 아는 사실이니까.
때로는 이러한 상황에 따라 목표가 바뀌기도 한다. 생존을 위해 몸부림치는 단계를 벗어나고 나면 이제 어떻게 가진 것을 늘리고 다른 영역으로 확장할까 생각하게 되는데, 이 단계에서 필연적으로 연관된 다른 사람의 것을 빼앗아야 하는 일이 생긴다. 의식적이든 아니든 이런 일들을 겪으면서 일말의 양심이 있다면, 아니 기득권이라는 것이 존재한다면 삶은 더 힘들어질 것이다. 원래 먼저 발을 들인 사람이 적어도 초보보다는 뭔가 알아야 하는데, 그게 영업비밀이니 노하우니 하면서 실력이 아닌 제도 또는 그 무언가로 지켜지는 구조라면 금방 밑천이 드러나게 되고 결국은 뜯어먹히는 데 얼마 걸리지 않을 것이다.
너무 비관적으로만 이야기했나. 하지만 냉엄한 현실이며, 갖다 댈만한 근거를 찾아 헤매는 일들을 하는 것보다는 현실을 직시하는 편이 낫다. 그저 삶을 돌아봐서는 뭐 하나 할 수 없는 복잡다단한 현대에서의 푸념이다.
2018-07-04
의견을 피력할 기회
보통 누구에겐가 좋은 일이 생길 기회가 있다면 적극적으로 나서게 된다. 이게 젊을 때 이야기고, 나이가 들수록 여러 상황들을 고려하게 되므로 그렇게 적극적으로 나서기가 어려워지고, 때로는 알면서도 그냥 놓아두는 상황도 일어난다.
나야 그냥 그런 의견이라고 생각하지만, 보는 사람이 생각할 때는 다를 수 있다. 하물며 SN과 같은 개방된 매체에 말하는 것은 어떠랴. 이건 주워담을 수도 없다. 명백한 증거 앞에서 할 수 있는 일은 핑게를 대면서 빠져나가거나 책임을 지겠다는 입장을 견지하는 것 뿐이다.
또한 중요한 것은 의견을 알리는 방법의 문제인데, 이게 또 문제다. 내가 그 방법까지도 알고 있다면 문제가 될 것이 없다는 인식이 팽배한데, 그건 자신의 믿음일 뿐 그 의견을 청취하는 사람이나 청취하고자 하는 사람이 다르다는 것을 생각하면 또다시 조심하게 된다. 누군가 잘했다 평가하는 것을 가지고 의견이라 하거나, 누군가 잘못했다 헐뜯으면서 의견이라고 우긴다면 누가 믿어주겠는가. 진심조차 통하지 않는 각박한 이 세상에서 이렇게 순진한 목적과 절차를 가져간다면 내 의견이 내 발목을 잡는 일이 더욱 많아질 것이다.
가장 중요한 거, 이러한 내용에 해결 방법이라곤 정면 돌파밖에 없다는 것이다. 내 의견은 그저 선물이라 생각한다면 별일 아닐 것이고, 이게 의사결정에 도움을 준 것이라면 감사할 따름이지만, 세상을 바꾸고 사람들을 바꾸는 일이 되어버린다면 더이상 의견이 아닐 것이다. 이왕 의견이 아니라면 당당히 '주장'이라고 하자. 혹시 아나, 무언가 주장하는 사회가 정상적인 사회가 될는지.
나야 그냥 그런 의견이라고 생각하지만, 보는 사람이 생각할 때는 다를 수 있다. 하물며 SN과 같은 개방된 매체에 말하는 것은 어떠랴. 이건 주워담을 수도 없다. 명백한 증거 앞에서 할 수 있는 일은 핑게를 대면서 빠져나가거나 책임을 지겠다는 입장을 견지하는 것 뿐이다.
또한 중요한 것은 의견을 알리는 방법의 문제인데, 이게 또 문제다. 내가 그 방법까지도 알고 있다면 문제가 될 것이 없다는 인식이 팽배한데, 그건 자신의 믿음일 뿐 그 의견을 청취하는 사람이나 청취하고자 하는 사람이 다르다는 것을 생각하면 또다시 조심하게 된다. 누군가 잘했다 평가하는 것을 가지고 의견이라 하거나, 누군가 잘못했다 헐뜯으면서 의견이라고 우긴다면 누가 믿어주겠는가. 진심조차 통하지 않는 각박한 이 세상에서 이렇게 순진한 목적과 절차를 가져간다면 내 의견이 내 발목을 잡는 일이 더욱 많아질 것이다.
가장 중요한 거, 이러한 내용에 해결 방법이라곤 정면 돌파밖에 없다는 것이다. 내 의견은 그저 선물이라 생각한다면 별일 아닐 것이고, 이게 의사결정에 도움을 준 것이라면 감사할 따름이지만, 세상을 바꾸고 사람들을 바꾸는 일이 되어버린다면 더이상 의견이 아닐 것이다. 이왕 의견이 아니라면 당당히 '주장'이라고 하자. 혹시 아나, 무언가 주장하는 사회가 정상적인 사회가 될는지.
2018-06-27
남는 것, 남긴다는 것
이렇게 또 시간이 지나간다. 시간을 느낄 만한 일들을 특별히 하고 있는 것은 아닌데, 그렇게 또 시간이 지나감을 느낀다.
많은 변화 속에서 살아온 세월이지만, 앞으로 또 닥쳐올 많은 변화들을 두려워하면서 살아간다. 그동안 세월을 돌아보면 남는 것이 그리 많지는 않지만 제법 쌓여가고 있음을 체감한다. 그런데 그게 참 또 어려운 일이다. 당시에는 최선을 다해서 뭔가 이루려고 했는데, 막상 지나고 나면 느끼는 게 더 많고 잘못된 것이 더 많다. 이렇게 현실의 논리에 붙잡혀서 살아온 세월이 지나고 나니 창피함도 후회도 인생의 한 부분이겠거니 하고 스스로를 위로하게 된다.
더구나 그런 과거가 남에게 보여진 것이라면, 또 남이 그 보여진 것을 바탕으로 또 뭔가 했다면 그거 더 무서운 거다. 나야 그냥 나 혼자 후회하면 그만이고 댓가를 치루면 된다고 생각할 수도 있지만, 세상이 그렇지 않은 것을. 하물며 남들에게 영향을 미친 대목이라면 더더욱 이런 생각을 할 수 밖에 없는 것 같다.
이런 생각들 때문에 무언가 남기는 것이 참 부담스럽다. 이제는 자신있게 하던 것들도 하나하나 다시 짚어보게 되고, 화를 벌컥 내면서 소위 바른 방향으로 이끌어간다고 했었던 일들도 그냥 놔두는 수도 생기게 된다. 그럼에도 불구하고 과거든 현재든 알고 있는 지인들은 너무 빡빡하게 살지 말라 하니... 참 세상이 빡빡한 건지, 내가 빡빡한 건지 알 수가 없다.
쉬고 싶다는 생각을 하면서도 이렇게 오늘도 남겨간다. 그렇게 사는 것이 인생이리라. 다시는 실수는 하고 싶지 않다 생각하면서도 실수인지도 모르면서 살아가는 게 인생이고 또 남는 것, 남기는 것이리라 믿고 싶다. 그렇지 않으면 한줄 글이나 한마디 말로 정리가 불가능한 인생을 살게 되고, 그 허상이나 기록들이 고스란히 남아 나를 괴롭힐 게 뻔하기 때문이다.
많은 변화 속에서 살아온 세월이지만, 앞으로 또 닥쳐올 많은 변화들을 두려워하면서 살아간다. 그동안 세월을 돌아보면 남는 것이 그리 많지는 않지만 제법 쌓여가고 있음을 체감한다. 그런데 그게 참 또 어려운 일이다. 당시에는 최선을 다해서 뭔가 이루려고 했는데, 막상 지나고 나면 느끼는 게 더 많고 잘못된 것이 더 많다. 이렇게 현실의 논리에 붙잡혀서 살아온 세월이 지나고 나니 창피함도 후회도 인생의 한 부분이겠거니 하고 스스로를 위로하게 된다.
더구나 그런 과거가 남에게 보여진 것이라면, 또 남이 그 보여진 것을 바탕으로 또 뭔가 했다면 그거 더 무서운 거다. 나야 그냥 나 혼자 후회하면 그만이고 댓가를 치루면 된다고 생각할 수도 있지만, 세상이 그렇지 않은 것을. 하물며 남들에게 영향을 미친 대목이라면 더더욱 이런 생각을 할 수 밖에 없는 것 같다.
이런 생각들 때문에 무언가 남기는 것이 참 부담스럽다. 이제는 자신있게 하던 것들도 하나하나 다시 짚어보게 되고, 화를 벌컥 내면서 소위 바른 방향으로 이끌어간다고 했었던 일들도 그냥 놔두는 수도 생기게 된다. 그럼에도 불구하고 과거든 현재든 알고 있는 지인들은 너무 빡빡하게 살지 말라 하니... 참 세상이 빡빡한 건지, 내가 빡빡한 건지 알 수가 없다.
쉬고 싶다는 생각을 하면서도 이렇게 오늘도 남겨간다. 그렇게 사는 것이 인생이리라. 다시는 실수는 하고 싶지 않다 생각하면서도 실수인지도 모르면서 살아가는 게 인생이고 또 남는 것, 남기는 것이리라 믿고 싶다. 그렇지 않으면 한줄 글이나 한마디 말로 정리가 불가능한 인생을 살게 되고, 그 허상이나 기록들이 고스란히 남아 나를 괴롭힐 게 뻔하기 때문이다.
2018-04-10
무언가 해냈다는 것
세상 모든 사람들이 목표를 정하고 이를 이루기 위해 열심히 사는 것 같다.
나도 그렇게 살아왔고, 그 정점에 있는 여러가지 목표들이 있었다.
다소 낯간지러운 소리지만, 어제 그 중 하나를 비로소 이루었다는 생각이 들었다.
이제 적어도 대한민국 평균은 넘었다는, 어깨가 으쓱해지는 안도감이라... 누구에겐가 큰 소리로 떠들고 싶지만 아마도 저번처럼 술이나 거나하게 취해야 나올 이야기같고, 그냥 속으로 좋을 뿐이다.
물론 여기서 멈춰 서 있겠다는 이야기는 아니다. 이제서야 큰 것들 중에서 하나를 이루었다는 이야기다.
이젠 배경에 있는 땅바닥에 쭈그리고 앉아 그림이나 그리면서 미래를 상상하는 시절은 지나갔다는 생각이 많이 든다.
하지만 그만큼의 책임감도 어깨를 누른다.
나도 그렇게 살아왔고, 그 정점에 있는 여러가지 목표들이 있었다.
다소 낯간지러운 소리지만, 어제 그 중 하나를 비로소 이루었다는 생각이 들었다.
이제 적어도 대한민국 평균은 넘었다는, 어깨가 으쓱해지는 안도감이라... 누구에겐가 큰 소리로 떠들고 싶지만 아마도 저번처럼 술이나 거나하게 취해야 나올 이야기같고, 그냥 속으로 좋을 뿐이다.
물론 여기서 멈춰 서 있겠다는 이야기는 아니다. 이제서야 큰 것들 중에서 하나를 이루었다는 이야기다.
이젠 배경에 있는 땅바닥에 쭈그리고 앉아 그림이나 그리면서 미래를 상상하는 시절은 지나갔다는 생각이 많이 든다.
하지만 그만큼의 책임감도 어깨를 누른다.
2018-03-06
Windows에 TensorFlow GPU 버전 설치하기
# 참고 사이트 : https://brunch.co.kr/@gnugeun/20
# Windows 10 64bit 영문판, nvidia GeForce940MX, tensorflow-gpu 설치 기준
- 관건은 CUDA, cuDNN과 python의 버전을 맞추는 것임.
- 2018년 3월 6일 기준으로 CUDA 9.0, cuDNN 7.1, python 3.6.4 에서 이상없이 작동됨.
- 만일 gpu 버전이 아닌 경우에는 STEP 3로 바로 넘어가도 됨.
STEP 1. CUDA 9.0 설치
- https://developer.nvidia.com/cuda-80-ga2-download-archive
STEP 2. cuDNN 7.1 설치 : 7.1 for CUDA 9.1도 상관없음
- https://developer.nvidia.com/rdp/cudnn-download
- nvidia 회원가입 필요
- 단순히 압축을 푸는 용도이므로 CUDA 내 해당되는 디렉토리에 복사해 넣음
- 또는 path 설정시 cuDNN 폴더를 지정
STEP 3. python 3.6 64bit 설치
- https://www.python.org/downloads/windows/
- 최신 안정버전인 3.6.4 windows x86-64 executable installer 다운로드
- 설치시 path 업데이트에 꼭 체크할 것 : Add Python 3.6 to PATH
STEP 4. TensorFlow 설치
- cmd를 관리자 권한으로 실행
- pip upgrade
> python -m pip install --upgrade pip
(최신 버전에서는 이미 업그레이드 되어 있어 설치되는 건 없다)
- TensorFlow 설치
> pip install --upgrade tensorflow-gpu
- 만일 gpu 버전이 아니라면 cpu 버전을 설치하면 됨
> pip install --upgrade tensorflow
Further. 보너스 : Jupyter Notebook 설치
> pip install Jupyter
# TensorFlow 설치 : Anaconda판
- https://www.anaconda.com/download/
- 설치한 python 버전에 맞는 버전 설치
- 설치한 후에는 Anaconda prompt를 관리자 권한으로 실행
- pip 업그레이드
(base)> python -m pip install --upgrade pip
- Conda 환경 만들기
(base)> conda create -n tensorflow python=3.6.4
(중간에 Proceed([y]/n? 나오면 y 선택)
- TensorFlow 설치
(base)> activate tensorflow
(프롬포트가 tensorflow로 바뀜)
(tensorflow)> pip install tensorflow-gpu
### 2018. 4. 10 추가
현재 CNN이 작동되지 않는데, 다른 건 다 되면서 왜 안되는지 모르겠다.
# Windows 10 64bit 영문판, nvidia GeForce940MX, tensorflow-gpu 설치 기준
- 관건은 CUDA, cuDNN과 python의 버전을 맞추는 것임.
- 2018년 3월 6일 기준으로 CUDA 9.0, cuDNN 7.1, python 3.6.4 에서 이상없이 작동됨.
- 만일 gpu 버전이 아닌 경우에는 STEP 3로 바로 넘어가도 됨.
STEP 1. CUDA 9.0 설치
- https://developer.nvidia.com/cuda-80-ga2-download-archive
STEP 2. cuDNN 7.1 설치 : 7.1 for CUDA 9.1도 상관없음
- https://developer.nvidia.com/rdp/cudnn-download
- nvidia 회원가입 필요
- 단순히 압축을 푸는 용도이므로 CUDA 내 해당되는 디렉토리에 복사해 넣음
- 또는 path 설정시 cuDNN 폴더를 지정
STEP 3. python 3.6 64bit 설치
- https://www.python.org/downloads/windows/
- 최신 안정버전인 3.6.4 windows x86-64 executable installer 다운로드
- 설치시 path 업데이트에 꼭 체크할 것 : Add Python 3.6 to PATH
STEP 4. TensorFlow 설치
- cmd를 관리자 권한으로 실행
- pip upgrade
> python -m pip install --upgrade pip
(최신 버전에서는 이미 업그레이드 되어 있어 설치되는 건 없다)
- TensorFlow 설치
> pip install --upgrade tensorflow-gpu
- 만일 gpu 버전이 아니라면 cpu 버전을 설치하면 됨
> pip install --upgrade tensorflow
Further. 보너스 : Jupyter Notebook 설치
> pip install Jupyter
# TensorFlow 설치 : Anaconda판
- https://www.anaconda.com/download/
- 설치한 python 버전에 맞는 버전 설치
- 설치한 후에는 Anaconda prompt를 관리자 권한으로 실행
- pip 업그레이드
(base)> python -m pip install --upgrade pip
- Conda 환경 만들기
(base)> conda create -n tensorflow python=3.6.4
(중간에 Proceed([y]/n? 나오면 y 선택)
- TensorFlow 설치
(base)> activate tensorflow
(프롬포트가 tensorflow로 바뀜)
(tensorflow)> pip install tensorflow-gpu
### 2018. 4. 10 추가
현재 CNN이 작동되지 않는데, 다른 건 다 되면서 왜 안되는지 모르겠다.
2018-02-12
영문 Windows10, Excel에서 한글이 포함된 csv 파일이 저장되지 않을 때
이런저런 작업을 하다 보면 세팅 문제가 항상 걸린다.
이번 문제는 아래 환경에서 한글이 포함된 csv를 저장하려고 하면 나는 문제점에 관한 해결책이다.
정리하는 이유는... 다른 서버 환경에서도 이런 일이 일어나기 때문에 이걸 해결하는데 도움이 될까 싶어서이다.
# 환경
- Windows 10 64bit 영문버전
- MS Office 2010 32bit 영문버전
# 요망작업
- 한글 자료가 포함된 .xlsx 파일중 현재의 탭을 .csv로 저장하려 한다.
- 그냥 csv로 저장하면 한글 부분이 ???로 표시되면서 작동되지 않는다.
# 해결책
- Control Panel > Clock, Language, and Region > Language > Change date, time, or number formats > Administrative > Language for non-Unicode programs > Change system locale
- Korean (Korea)로 변경하고 재부팅
이번 문제는 아래 환경에서 한글이 포함된 csv를 저장하려고 하면 나는 문제점에 관한 해결책이다.
정리하는 이유는... 다른 서버 환경에서도 이런 일이 일어나기 때문에 이걸 해결하는데 도움이 될까 싶어서이다.
# 환경
- Windows 10 64bit 영문버전
- MS Office 2010 32bit 영문버전
# 요망작업
- 한글 자료가 포함된 .xlsx 파일중 현재의 탭을 .csv로 저장하려 한다.
- 그냥 csv로 저장하면 한글 부분이 ???로 표시되면서 작동되지 않는다.
# 해결책
- Control Panel > Clock, Language, and Region > Language > Change date, time, or number formats > Administrative > Language for non-Unicode programs > Change system locale
- Korean (Korea)로 변경하고 재부팅
2017-08-29
데이터 분석의 애로사항 : 쉽게, 더 쉽게?
공부할 때마다 항상 들어왔고 말했던 이야기인데, 더 쉽게 알려면 뭐가 필요할까 하는 내용이다. 세상 일들이 무척이나 어려워지고 있기 때문에, 이걸 더 쉽게 하려면 뭔가가 필요하다. 그런데 내게는 쉬운 것이 (또는 어렵지 않은 것이) 남에게는 무척이나 어려운 경우를 많이 보는데, 특히 데이터 분석을 한다고 하는 것이 이런 일들이 비일비재하게 일어나는 경우다.
뭐 분류라 할 것은 없지만, 이런 현상의 유형과 원인을 생각해보면 다음과 같다.
1. 관심이 없는 경우
뭐 구제불능의 상태다. 이해하려는 의도 자체가 없는데 이해시킨다는 것은 어려운 일을 넘어서 불가능에 가깝다. 내가 하는 일들에 대한 관심은 전혀 없고 그 일이 미칠 영향에만 관심이 있는 경우인데, 사실 이렇게 되기까지 모든 변수와 환경을 고려한다는 것은 어려운 일이므로 꼭 원인과 결과를 엮어서 이해하려고 하는 평면적인 사고에는 대책이 없다.
방법은 없지만, 대안으로 그저 그 수준에 맞춰서 아주 분명한 사실만 말해주는 방법이 있다. 그런데 이때 또 문제가 그렇게 확실한 문제점들은 이미 대상이 알고 있다 (또는 알고 있다고 생각한다)는 점이다.
2. 이해하려는 노력이 부족한 경우
연구를 하고 어느 정도 이해하고 있는 경우 (또는 이해했다고 생각하는 경우), 가진 지식기반이나 선입견 때문에 저으기 비판적인 시각을 가지게 된다. 이때 무언가 하려는 노력을 계속하지 않으면 정체되고, 특히나 데이터 분석에서 정확한 배경과 가정을 바탕으로 분석모델을 이해하려고 하다 보면 분명 옳은 이야기인데 끝이 안나는 경우가 나온다.
대책이 없기는 마찬가지이지만, 상대의 지식 수준에 맞춰서 원인과 결과를 설명하면 해결되는 경우가 많다. 이렇게 하기가 어려워서 그렇지... 그나마 제일 나은 케이스라고 말하고 싶다.
3. 그냥 정상에 선 상태 : 노력해도 안되는 경우
산 정상에 선 사람은 그저 내려다보면 된다. 자신이 어떻게 올라왔는지, 머리 위에 비행기가 있는지 따위는 중요하지 않다. 이와 같이 데이터 분석을 바라보는 사람은 자신의 척도로 분석을 바라본다. (예 : KPI, 영업목표, 금전적 이익 등)
이런 경우는 설득이 불가능하다. 자신의 방법으로 분석의 목표를 채우려 하고, 인과관계를 따지려 하기 때문이다. 이 사항은 꽤 자주 발생되는 편인데, 더 문제는 자신이 3번 유형인지 자체를 모르고 대부분이 2번 유형이라고 오판하는 경우다.
해결책 : 결국은 기본으로 돌아갈 수 밖에 없다. 내가 논리를 세우면 그것은 모래성과 같다. 학문적, 실제적, 산업적으로 증명되고 활용되는 로직을 이용하여 논리를 세워나가면 든든한 기반을 가진 것과 같으니, 아직까지는 이러한 방법 외에는 생각나는 것이 없다.
뭐 분류라 할 것은 없지만, 이런 현상의 유형과 원인을 생각해보면 다음과 같다.
1. 관심이 없는 경우
뭐 구제불능의 상태다. 이해하려는 의도 자체가 없는데 이해시킨다는 것은 어려운 일을 넘어서 불가능에 가깝다. 내가 하는 일들에 대한 관심은 전혀 없고 그 일이 미칠 영향에만 관심이 있는 경우인데, 사실 이렇게 되기까지 모든 변수와 환경을 고려한다는 것은 어려운 일이므로 꼭 원인과 결과를 엮어서 이해하려고 하는 평면적인 사고에는 대책이 없다.
방법은 없지만, 대안으로 그저 그 수준에 맞춰서 아주 분명한 사실만 말해주는 방법이 있다. 그런데 이때 또 문제가 그렇게 확실한 문제점들은 이미 대상이 알고 있다 (또는 알고 있다고 생각한다)는 점이다.
2. 이해하려는 노력이 부족한 경우
연구를 하고 어느 정도 이해하고 있는 경우 (또는 이해했다고 생각하는 경우), 가진 지식기반이나 선입견 때문에 저으기 비판적인 시각을 가지게 된다. 이때 무언가 하려는 노력을 계속하지 않으면 정체되고, 특히나 데이터 분석에서 정확한 배경과 가정을 바탕으로 분석모델을 이해하려고 하다 보면 분명 옳은 이야기인데 끝이 안나는 경우가 나온다.
대책이 없기는 마찬가지이지만, 상대의 지식 수준에 맞춰서 원인과 결과를 설명하면 해결되는 경우가 많다. 이렇게 하기가 어려워서 그렇지... 그나마 제일 나은 케이스라고 말하고 싶다.
3. 그냥 정상에 선 상태 : 노력해도 안되는 경우
산 정상에 선 사람은 그저 내려다보면 된다. 자신이 어떻게 올라왔는지, 머리 위에 비행기가 있는지 따위는 중요하지 않다. 이와 같이 데이터 분석을 바라보는 사람은 자신의 척도로 분석을 바라본다. (예 : KPI, 영업목표, 금전적 이익 등)
이런 경우는 설득이 불가능하다. 자신의 방법으로 분석의 목표를 채우려 하고, 인과관계를 따지려 하기 때문이다. 이 사항은 꽤 자주 발생되는 편인데, 더 문제는 자신이 3번 유형인지 자체를 모르고 대부분이 2번 유형이라고 오판하는 경우다.
해결책 : 결국은 기본으로 돌아갈 수 밖에 없다. 내가 논리를 세우면 그것은 모래성과 같다. 학문적, 실제적, 산업적으로 증명되고 활용되는 로직을 이용하여 논리를 세워나가면 든든한 기반을 가진 것과 같으니, 아직까지는 이러한 방법 외에는 생각나는 것이 없다.
Ubuntu 17.04 팁 : 마우스 더블클릭 설정
새로운 컴퓨터에 적응하기 위한 많은 노력들이 있었는데, 워낙 최신 운영체제다 보니 Ubuntu 17.04에 대한 정리가 아직 안 된것도 많다. 예를 들면 '소프트웨어' 어플을 이용해서 뭔가 설치하려고 하면 에러가 나고 전부 terminal을 이용해서 설치해야 하는 것등.
간단한 것인데, 마우스 더블클릭이 안되는 문제가 있었다. 이건 하위 버전에서 해결하는 방법이 잘 나와 있는데, 설정 메뉴상 위치가 바뀐 바람에 설정하기가 참 어려웠다.
결론적으로 설정 > 접근성 > 마우스 이동 및 누르기 > 두번 누르기 지연시간을 조금 올리면 더블클릭이 먹는다.
아주 간단한 팁이긴 한데, 왜 지연시간을 "올려야" 하는지 알 수가 없다. 번역상 오류인가...
간단한 것인데, 마우스 더블클릭이 안되는 문제가 있었다. 이건 하위 버전에서 해결하는 방법이 잘 나와 있는데, 설정 메뉴상 위치가 바뀐 바람에 설정하기가 참 어려웠다.
결론적으로 설정 > 접근성 > 마우스 이동 및 누르기 > 두번 누르기 지연시간을 조금 올리면 더블클릭이 먹는다.
아주 간단한 팁이긴 한데, 왜 지연시간을 "올려야" 하는지 알 수가 없다. 번역상 오류인가...
2017-08-09
더는 언급하지 않을 것... 깔끔하지 못한 뒷맛
사람을 살리고 죽이는 것이 칼이 아니라는 것은 이젠 상식이 되었다. 명색이 데이터 분석을 한다고 하는 나도, 무언가 하고 있을 누군가도 자기가 하는 일들을 잘 정의한다면 소위 전문가라 할 시대가 되었는데, 그것이 주는 의미를 잘 생각해봐야 할 때다.
나도 그렇게 논문을 내었지만, 이 세상은 hyperconnections의 세상이다. 무언가 함께 있고 연결되어 있다는 것을 의식하지 못할 만큼 세상은 빠르게 축적되고 변화하고 있으며, 이 축적된 데이터에 가치를 부여하고 이를 믿음의 근거로 여길 만큼 더욱 빠르게 변화할 예정이다. 근거 따위는 없이, 연구같은 소리는 없어진지 오래다. 내가 가진 데이터가 이렇게 이야기한다고 하면 그만인 세상이 되었고, 이것을 agile - rapid - seamless를 지나 stream analytics라고 부르고 있다.
하지만 뒤돌아보면 항상 인간은 후회하기 마련인데, 이 부끄러움을 어떻게 처리할지 모를 일이다. 모래성과 같은 웹상의 삶의 한 부분이 그 사람에게 피할 수 없는 과거로 남았을 때, 이 사회가 이 쓰레기와 같은 성질의 데이터를 어떻게 처리할지 의문이다. 과연 바다의 자정능력은 바다 고유의 능력인지, 아니면 어딘지 모를 곳으로 계속 움직이고 있을 방사능을 우리가 그저 모르고 있을 뿐인지 생각해 볼 문제다.
나도 그렇게 논문을 내었지만, 이 세상은 hyperconnections의 세상이다. 무언가 함께 있고 연결되어 있다는 것을 의식하지 못할 만큼 세상은 빠르게 축적되고 변화하고 있으며, 이 축적된 데이터에 가치를 부여하고 이를 믿음의 근거로 여길 만큼 더욱 빠르게 변화할 예정이다. 근거 따위는 없이, 연구같은 소리는 없어진지 오래다. 내가 가진 데이터가 이렇게 이야기한다고 하면 그만인 세상이 되었고, 이것을 agile - rapid - seamless를 지나 stream analytics라고 부르고 있다.
하지만 뒤돌아보면 항상 인간은 후회하기 마련인데, 이 부끄러움을 어떻게 처리할지 모를 일이다. 모래성과 같은 웹상의 삶의 한 부분이 그 사람에게 피할 수 없는 과거로 남았을 때, 이 사회가 이 쓰레기와 같은 성질의 데이터를 어떻게 처리할지 의문이다. 과연 바다의 자정능력은 바다 고유의 능력인지, 아니면 어딘지 모를 곳으로 계속 움직이고 있을 방사능을 우리가 그저 모르고 있을 뿐인지 생각해 볼 문제다.
2017-02-21
'무엇이 옳은가'에 대한 고찰
살다 보면 별 일이 다 생기지만, 이걸 판단한다는 게 참 어려운 일이다. 세상을 한가지 기준을 가지고 볼 수 없기 때문에 생기는 당연한 일이지만, 이런 충돌은 참 많이도 발생하고 또 해결되어야만 다음 단계로 가는 경우가 많아서 어찌 되었든 해결되어야 한다. 결론적으로 한쪽이 옳은 것이 아님에도 그 의견을 따라가는 경우가 비일비재한데, 이러한 관점에서 무엇이 옳은가? 에 대한 생각을 정리해 두는 것이 현재와 미래를 위하여 (과거는 잘 모르겠고) 좋을 듯 하다.
1. 기술 개발의 예 : SQL
무언가 개발한다는 것이 기존에 있는 것을 가지고 없는 것을 만드는 것이기 때문에 어려운 일일 수밖에 없다. 또한 보는 시각에 따라 서로 다른 과정을 가지고 같은 결론을 만들어내기 때문에 그 효율을 따질 수 밖에 없는데, 좋은 예를 최근에 겪어서 정리해보고자 한다.
누군가 SQL을 이용하여 DB에서 자료를 가져오는 과정을 만들었다. 그런데 그 속도가 느려서 다수의 인원이 바라본 결과 비효율적인 것은 아니라도 SQL의 속도를 향상시킬 만한 여러가지 요건들을 발견했다.
여기서 중요한 것은 이 SQL은 최초에 만든 사람이 직접 만든 게 아니고 일종의 프로그램을 따라서 자동으로 (컴퓨터가) 구성해준 것이라는 점이다. 그럼 최초 작성자에게 무슨 잘못이 있겠는가? 단지 얼마나 효율적인가를 따질 거라면 최초 작성자에게 문의할 부분이 있고 개선할 부분이 있다는 것뿐, 과연 그렇게 개선될지는 또 따져봐야 아는 것이다. 결국 최초 작성자도, 이후 검토자도 다 옳은 것이 되는데, 무엇이 (더) 옳을까?
2. 상대적인 시각의 예 : 무슬림
최근에 가장 국제적 문제가 되고 있는 점이기도 한 종교의 문제는 결국 하나의 시각을 다른 곳에 강요하거나 제한함으로써 생기는 문제이다. 무슬림의 시각에서 보면 지극히 당연한 것인데 다른 관점에서 보면 그리 당연하지 (옳지) 않은 것이기 때문이다.
여기서 무엇이 옳은가? 라는 관점에서 볼 일은 당연한 것은 과연 옳은 것인가 하는 문제이다. 아마도 사람은 당연하다는 관점에서 옳은 것을 볼 텐데, 여기에는 여러가지 판단기준이 존재한다. 예를 들어 문헌에 그렇게 기록되어 있다, 오래전부터 그렇게 해왔다, 주변 사람도 그렇게 한다 등등이 되겠다.
하지만 당연한 것이 옳은 것인지에 대한 구체적인 방법은 없는 것처럼 보인다. 내가 가지고 있는 관점은 그저 한 사람에게 당연한 것은 다른 사람에게는 당연하지 않을 수도 있다는 거다. 즉 내가 옳다고 생각하는 것이 다른 사람에게는 틀릴 수도 있다는 것이다.
여기서 다양성의 문제와 같은 복잡계가 나오는데, 세상 만물이 모든 것을 품고 있을 수는 없는 바, 일종의 협의를 통하여 서로 양보 (또는 서로 침범)하는 방법론적 결론이 도출된다. 즉 어느 정도까지는 당연한 (옳은) 것이지만 양보해준다 하는 사고이다. 하지만 무엇이 (더) 옳을까? 아마도 양보하는 당사자 양쪽 (또는 다수) 모두 자신의 사고체계상의 기준이 더 옳다고 믿고 있으리라 싶다.
3. 초월성과 규제의 예 : 도덕과 법률
이제 그 이상의 예를 살펴보면 당연하면서도 옳은 것들이 존재한다. 거창하게 절대선 같은 이야기를 하지 않더라도 법률이나 도덕과 같이 다수 (또는 전체)의 사람들이 옳다고 생각하는 것들이다. 바꾸어 말하면 이는 옳은 것이고 지키지 않으면 틀린 것으로서 제재를 받는 문제를 뜻한다.
하지만 우리가 잘 알듯 이러한 절대규칙과도 같은 옳은 것에도 해석의 문제가 존재한다. 옳은 것으로 생각되는데 해석을 해 보면 다른 '옳은' 것의 가치와 상충된다. 그럼 조정을 하면 되지 않느냐고? 인간의 역사와 문화는 이러한 가치의 조정의 산물일 터, 아직도 우리는 조정에 조정을 거듭하고 있다.
하물며 빅데이터의 세계에서는 이 옳은 것에 대한 문제가 끊임없이 제기된다. 혹자는 많으면 옳은 것이라 하고, 혹자는 아니라 한다. 어떻게 판단할 수 있을까? 과연 옳은 것은 존재할까? 우리는 그저 질문하고 대답하면서 세월을 보내고 있지만, 그렇게 허송세월 (또는 황금같은 세월)을 보내는 것에 어떻게 의미를 부여할 수 있을지, 무엇이 옳게 되는지 (혹은 그 반대인지) 모르면서 (아니면 너무 잘 알지만 모르는 척 하면서) 보내고 있는 것 같다.
누군가 정리해주면 좋겠지만, 역사의 교훈은 우리에게 그런 것들은 잊혀지고 반복된다고 가르친다. 모 영화에서 인간의 발전의 목적은 지식을 전하는 (pass on) 것이라고 하던데, 과연 맞는지, 맞다면 어떻게 옳다고 정의하고 그것을 전할지 알 수 없는 일이다. 매우 긍정적인 시각으로 이야기하자면, 인간에게 '옳은' 것은 '세포적으로 각인'되어 후대에 전해지는 것이고, 이러한 작업의 반복이 역사라는 아주 '옳은' 것을 창조해나가고 '교육'을 통하여 반복되는 것이라 하겠다.
1. 기술 개발의 예 : SQL
무언가 개발한다는 것이 기존에 있는 것을 가지고 없는 것을 만드는 것이기 때문에 어려운 일일 수밖에 없다. 또한 보는 시각에 따라 서로 다른 과정을 가지고 같은 결론을 만들어내기 때문에 그 효율을 따질 수 밖에 없는데, 좋은 예를 최근에 겪어서 정리해보고자 한다.
누군가 SQL을 이용하여 DB에서 자료를 가져오는 과정을 만들었다. 그런데 그 속도가 느려서 다수의 인원이 바라본 결과 비효율적인 것은 아니라도 SQL의 속도를 향상시킬 만한 여러가지 요건들을 발견했다.
여기서 중요한 것은 이 SQL은 최초에 만든 사람이 직접 만든 게 아니고 일종의 프로그램을 따라서 자동으로 (컴퓨터가) 구성해준 것이라는 점이다. 그럼 최초 작성자에게 무슨 잘못이 있겠는가? 단지 얼마나 효율적인가를 따질 거라면 최초 작성자에게 문의할 부분이 있고 개선할 부분이 있다는 것뿐, 과연 그렇게 개선될지는 또 따져봐야 아는 것이다. 결국 최초 작성자도, 이후 검토자도 다 옳은 것이 되는데, 무엇이 (더) 옳을까?
2. 상대적인 시각의 예 : 무슬림
최근에 가장 국제적 문제가 되고 있는 점이기도 한 종교의 문제는 결국 하나의 시각을 다른 곳에 강요하거나 제한함으로써 생기는 문제이다. 무슬림의 시각에서 보면 지극히 당연한 것인데 다른 관점에서 보면 그리 당연하지 (옳지) 않은 것이기 때문이다.
여기서 무엇이 옳은가? 라는 관점에서 볼 일은 당연한 것은 과연 옳은 것인가 하는 문제이다. 아마도 사람은 당연하다는 관점에서 옳은 것을 볼 텐데, 여기에는 여러가지 판단기준이 존재한다. 예를 들어 문헌에 그렇게 기록되어 있다, 오래전부터 그렇게 해왔다, 주변 사람도 그렇게 한다 등등이 되겠다.
하지만 당연한 것이 옳은 것인지에 대한 구체적인 방법은 없는 것처럼 보인다. 내가 가지고 있는 관점은 그저 한 사람에게 당연한 것은 다른 사람에게는 당연하지 않을 수도 있다는 거다. 즉 내가 옳다고 생각하는 것이 다른 사람에게는 틀릴 수도 있다는 것이다.
여기서 다양성의 문제와 같은 복잡계가 나오는데, 세상 만물이 모든 것을 품고 있을 수는 없는 바, 일종의 협의를 통하여 서로 양보 (또는 서로 침범)하는 방법론적 결론이 도출된다. 즉 어느 정도까지는 당연한 (옳은) 것이지만 양보해준다 하는 사고이다. 하지만 무엇이 (더) 옳을까? 아마도 양보하는 당사자 양쪽 (또는 다수) 모두 자신의 사고체계상의 기준이 더 옳다고 믿고 있으리라 싶다.
3. 초월성과 규제의 예 : 도덕과 법률
이제 그 이상의 예를 살펴보면 당연하면서도 옳은 것들이 존재한다. 거창하게 절대선 같은 이야기를 하지 않더라도 법률이나 도덕과 같이 다수 (또는 전체)의 사람들이 옳다고 생각하는 것들이다. 바꾸어 말하면 이는 옳은 것이고 지키지 않으면 틀린 것으로서 제재를 받는 문제를 뜻한다.
하지만 우리가 잘 알듯 이러한 절대규칙과도 같은 옳은 것에도 해석의 문제가 존재한다. 옳은 것으로 생각되는데 해석을 해 보면 다른 '옳은' 것의 가치와 상충된다. 그럼 조정을 하면 되지 않느냐고? 인간의 역사와 문화는 이러한 가치의 조정의 산물일 터, 아직도 우리는 조정에 조정을 거듭하고 있다.
하물며 빅데이터의 세계에서는 이 옳은 것에 대한 문제가 끊임없이 제기된다. 혹자는 많으면 옳은 것이라 하고, 혹자는 아니라 한다. 어떻게 판단할 수 있을까? 과연 옳은 것은 존재할까? 우리는 그저 질문하고 대답하면서 세월을 보내고 있지만, 그렇게 허송세월 (또는 황금같은 세월)을 보내는 것에 어떻게 의미를 부여할 수 있을지, 무엇이 옳게 되는지 (혹은 그 반대인지) 모르면서 (아니면 너무 잘 알지만 모르는 척 하면서) 보내고 있는 것 같다.
누군가 정리해주면 좋겠지만, 역사의 교훈은 우리에게 그런 것들은 잊혀지고 반복된다고 가르친다. 모 영화에서 인간의 발전의 목적은 지식을 전하는 (pass on) 것이라고 하던데, 과연 맞는지, 맞다면 어떻게 옳다고 정의하고 그것을 전할지 알 수 없는 일이다. 매우 긍정적인 시각으로 이야기하자면, 인간에게 '옳은' 것은 '세포적으로 각인'되어 후대에 전해지는 것이고, 이러한 작업의 반복이 역사라는 아주 '옳은' 것을 창조해나가고 '교육'을 통하여 반복되는 것이라 하겠다.
2017-02-02
무언가 접는다는 것
이제 마음을 접고 나니 한켠이 무너지는 것 같을 것 같았는데, 뭐 아무 상관 없는 듯이 시간이 지나간다. 몸도 마음도 지친 상태에서 선택할 수 있는 최선을 선택한 것 뿐이라고 스스로를 위로하고 싶어도, 그동안 쌓아둔 것들을 봇물처럼 쏟고 있는 요즘엔 그냥 지친 게 아니라 일종의 분노와도 같다고 표현하고 싶다.
그냥 놓아두었어야 했나, 아닌 것을 분명히 알면서도 하얀 백지에 글을 쓰는 지금처럼 판단하기 어렵다. 내가 하는 일에 대한 보람을 느끼는 것이 인생의 나아갈 길이라면, 벽에다 대고 치는 테니스와 같이 연습이 아닌 시합으로서 의미없는 일을 하는 것은 정말 낭비적인 것이다. 그렇다고 내가 아예 포기한 것은 아닌데, 이렇게 사는 것이 너무나 힘겹다고 느끼는 상황에서 더 뭔가 하는 것도 싫다.
이제 어떻게 해야 하나. 막막하다. 하지만 분명한 것은 나의 갈 길이 명확하다는 점이 아니라 명확하게 해야 한다는 것이다. 소용없는 일들에 대해 마음을 접고 더욱 집중해서 나아가야 할 것이다. 씹어먹는 느낌으로 받아들이는 날들이 되기를, 그리고 다른 무엇보다도 그런 생각들을 더 이상 낭비로 여기지 않기를 바란다. 하루하루, 한순간 한순간이 나에게 쌓여가는 그런 생활이 되기를 바란다.
그냥 놓아두었어야 했나, 아닌 것을 분명히 알면서도 하얀 백지에 글을 쓰는 지금처럼 판단하기 어렵다. 내가 하는 일에 대한 보람을 느끼는 것이 인생의 나아갈 길이라면, 벽에다 대고 치는 테니스와 같이 연습이 아닌 시합으로서 의미없는 일을 하는 것은 정말 낭비적인 것이다. 그렇다고 내가 아예 포기한 것은 아닌데, 이렇게 사는 것이 너무나 힘겹다고 느끼는 상황에서 더 뭔가 하는 것도 싫다.
이제 어떻게 해야 하나. 막막하다. 하지만 분명한 것은 나의 갈 길이 명확하다는 점이 아니라 명확하게 해야 한다는 것이다. 소용없는 일들에 대해 마음을 접고 더욱 집중해서 나아가야 할 것이다. 씹어먹는 느낌으로 받아들이는 날들이 되기를, 그리고 다른 무엇보다도 그런 생각들을 더 이상 낭비로 여기지 않기를 바란다. 하루하루, 한순간 한순간이 나에게 쌓여가는 그런 생활이 되기를 바란다.
2017-01-10
AlphaGo가 세지면 뭐가 좋아지나?
부정적인 글인 것 같지만 사실은 아니다. 무언가 좋아진다는 것에 대한 판단기준을 논하고자 하는 거다. 누군가 잘 하는 것을 샘내는 건 아니다... 가 아니라, 비교 대상이 아닌 내용을 비교하고 있다는 사실에 대해 논하고 싶은 것이다.
알파고가 60연승을 달린다는 기사를 접한 지도 꽤 되었다. 그동안 심심치않게 도박, 주식 등 경제관련 문제를 해결하기 위하여 수학적, 공학적 모델들을 이용한다는 이야기들이 기사로, 영화로, 실제로 나타나왔는데 눈에 그리 띄지는 않았다. 원인은 여러가지가 있겠지만 가장 중요하게는 그다지 우리 생활에 영향을 미치지 않았었다고 여기는 편이 무난하겠다.
하지만 알파고의 문제는 (나도, 기사를 읽는 그 누구도) 바둑을 좋아하지 않는 사람에게도 큰 문제인 것처럼 보도되고 있다. 인간을 넘어선 것이 그리 큰 문제일까 싶다가도 자존심이 상하기도 하고 무조건 이겨야 할 것 같은 느낌이다. 마치 한일전에서 축구든 농구든 야구든 이겨야만 사람취급(?)을 받는 것과 같다. 상대가 어떤 전력을 가지고 있는지는 중요하지 않다. 그냥 이겨야 하는 거다.
기본적으로 바둑은 게임이다. 게임은 기계와 인간이 하는 것을 전제로 하지 않으며, 인간과 인간간의 보이지 않는 싸움이다. 이러한 점에서 도박도 마찬가지고 주식도 (1대 다의 싸움이라는 측면에서는) 마찬가지라고 본다. 그 이야기는 늘 이길 수는 없다는 것이고, 이기든 지든 즐거운 면이 존재한다는 점이다. 게임이 즐겁지 않다면 누가 하겠는가만, 프로기사, 프로게이머 등 알 수 없는 존재들이 나타나 이 부분을 흐리고 있다고 보인다.
결론을 내고자 하는 이야기는 아니지만, 그저 즐길 수 있는 바둑이 되었으면 좋겠다. 하지만 이러한 기술들이 우리 삶에 깊숙히 들어오고 있다는 점은 그저 간과해서는 안되는 일이다. 이제 인간의 직관을 흉내내는 컴퓨터가 생긴다면 어찌 판단할 수 있을까. 그 녀석(?)은 나보다 더 먼 미래를 보고 이 곳으로 가는 길을 선택했을지도 모르는 일이니까. 하지만 인간 역시 가보지 않은 길을 기계가 예전 경험을 기반으로 개척한다는 말도 안되는 이런 상황이 인간의 실수와 잘못마저도 충실하게 따를까 염려된다. 인공지능은 아직 혁신은 아니다.
알파고가 60연승을 달린다는 기사를 접한 지도 꽤 되었다. 그동안 심심치않게 도박, 주식 등 경제관련 문제를 해결하기 위하여 수학적, 공학적 모델들을 이용한다는 이야기들이 기사로, 영화로, 실제로 나타나왔는데 눈에 그리 띄지는 않았다. 원인은 여러가지가 있겠지만 가장 중요하게는 그다지 우리 생활에 영향을 미치지 않았었다고 여기는 편이 무난하겠다.
하지만 알파고의 문제는 (나도, 기사를 읽는 그 누구도) 바둑을 좋아하지 않는 사람에게도 큰 문제인 것처럼 보도되고 있다. 인간을 넘어선 것이 그리 큰 문제일까 싶다가도 자존심이 상하기도 하고 무조건 이겨야 할 것 같은 느낌이다. 마치 한일전에서 축구든 농구든 야구든 이겨야만 사람취급(?)을 받는 것과 같다. 상대가 어떤 전력을 가지고 있는지는 중요하지 않다. 그냥 이겨야 하는 거다.
기본적으로 바둑은 게임이다. 게임은 기계와 인간이 하는 것을 전제로 하지 않으며, 인간과 인간간의 보이지 않는 싸움이다. 이러한 점에서 도박도 마찬가지고 주식도 (1대 다의 싸움이라는 측면에서는) 마찬가지라고 본다. 그 이야기는 늘 이길 수는 없다는 것이고, 이기든 지든 즐거운 면이 존재한다는 점이다. 게임이 즐겁지 않다면 누가 하겠는가만, 프로기사, 프로게이머 등 알 수 없는 존재들이 나타나 이 부분을 흐리고 있다고 보인다.
결론을 내고자 하는 이야기는 아니지만, 그저 즐길 수 있는 바둑이 되었으면 좋겠다. 하지만 이러한 기술들이 우리 삶에 깊숙히 들어오고 있다는 점은 그저 간과해서는 안되는 일이다. 이제 인간의 직관을 흉내내는 컴퓨터가 생긴다면 어찌 판단할 수 있을까. 그 녀석(?)은 나보다 더 먼 미래를 보고 이 곳으로 가는 길을 선택했을지도 모르는 일이니까. 하지만 인간 역시 가보지 않은 길을 기계가 예전 경험을 기반으로 개척한다는 말도 안되는 이런 상황이 인간의 실수와 잘못마저도 충실하게 따를까 염려된다. 인공지능은 아직 혁신은 아니다.
2016-10-18
R : Vector의 길이
참조 페이지 : http://blog.naver.com/her7845/220835292361
data.frame의 행 길이를 뜻하는 NROW() 함수만을 생각하다 Vector의 길이를 보는 것을 까먹었다.
그냥 length() 인데 말이다...
data.frame의 행 길이를 뜻하는 NROW() 함수만을 생각하다 Vector의 길이를 보는 것을 까먹었다.
그냥 length() 인데 말이다...
2016-10-07
정리의 중요성과 인터페이스의 전환
일이 바쁘다 보니 이곳에 여러가지를 정리해서 쓸 겨를이 없다. 그저 주어진 대로 살아가는 것 같지만, 하루하루 조직화를 계속하고 있는 셈이다.
많은 사람들에게 보여주고 공유하고 싶은 일들이 많은데, 이걸 표현하는 것이 여간 어려운 것이 아니다. E-R diagram처럼 사전에 알아야 할 정보들이 너무 많은 터라, 설명을 아무리 잘 한다고 해도 이해시키기가 여간 어렵지 않다. 이럴 때는 방법이 하나뿐인데, 잘 살펴보면서 천천히 내 체계대로 정리하는 것뿐이다.
말은 쉽지만, 이렇게 정리하는 것이 얼마나 어려운지 모른다. 지금은 그 도구로 Excel을 사용하고 있는데, 줄바꿈 등 양식을 지키지 않으면서도 Hierarchical한 item들을 생각나는 대로 정리할 수 있어서이다. 한편으로는 회사가 Excel에 특화된 점도 고려할 만 하다...
힘들고 어렵지만 고되진 않다. 오늘도 움직이자.
많은 사람들에게 보여주고 공유하고 싶은 일들이 많은데, 이걸 표현하는 것이 여간 어려운 것이 아니다. E-R diagram처럼 사전에 알아야 할 정보들이 너무 많은 터라, 설명을 아무리 잘 한다고 해도 이해시키기가 여간 어렵지 않다. 이럴 때는 방법이 하나뿐인데, 잘 살펴보면서 천천히 내 체계대로 정리하는 것뿐이다.
말은 쉽지만, 이렇게 정리하는 것이 얼마나 어려운지 모른다. 지금은 그 도구로 Excel을 사용하고 있는데, 줄바꿈 등 양식을 지키지 않으면서도 Hierarchical한 item들을 생각나는 대로 정리할 수 있어서이다. 한편으로는 회사가 Excel에 특화된 점도 고려할 만 하다...
힘들고 어렵지만 고되진 않다. 오늘도 움직이자.
2016-08-18
[JSP] HTML5 구성과 관련된 JSP의 제한사항
앞으로도 계속 보완을 해야 겠지만, 현재 경험한 JSP의 제한사항을 정리해 두고자 한다.
Eclipse나 IDE를 이용한 개발보다는 좀더 원리에 가까운 개발을 하는 터라, 원래 라이브러리 포함의 문제들도 언급되어 있을 수 있다.
1. HTML tag값을 부르는 방법이 다르다.
일단 동일 페이지 내에서는 안되고,
그리고 그 안에 변수를 읽어오는 코딩을 해 줘야 한다.
대표적으로 request.getParameter 객체가 있다.
참고 페이지 : http://oingbong.tistory.com/120
2. UTF-8 코딩에서 한글 파일명 처리 문제
왜 그런지 정확히 알 수는 없지만, 에러가 나지는 않으나 파일명이 한글인 경우 불러들이지 못하는 현상이 보인다. (정확하게는 JSP 파일에 include한 javascript 내의 문제이긴 하다.)
Eclipse나 IDE를 이용한 개발보다는 좀더 원리에 가까운 개발을 하는 터라, 원래 라이브러리 포함의 문제들도 언급되어 있을 수 있다.
1. HTML tag값을 부르는 방법이 다르다.
일단 동일 페이지 내에서는 안되고,
그리고 그 안에 변수를 읽어오는 코딩을 해 줘야 한다.
대표적으로 request.getParameter 객체가 있다.
참고 페이지 : http://oingbong.tistory.com/120
2. UTF-8 코딩에서 한글 파일명 처리 문제
왜 그런지 정확히 알 수는 없지만, 에러가 나지는 않으나 파일명이 한글인 경우 불러들이지 못하는 현상이 보인다. (정확하게는 JSP 파일에 include한 javascript 내의 문제이긴 하다.)
2016-08-01
[Javascript] 자동으로 갱신되는 웹페이지 만들기
참고 페이지 : http://merapa.tistory.com/7
언제쯤 헤매지 않고 한번에 뭔가 할 수 있을까?^^
Javascript 기반으로 웹페이지를 자동으로 갱신해보자.
핵심은 크게 두가지이다.
// 20초후 일정 함수를 부른다. 페이지 자체도 된다.
//setTimeout(myTimer, 3000);
// 20초마다 일정 함수를 부른다. 페이지 자체도 된다.
setInterval(myTimer, 20000);
function myTimer() {
// 일정 동작을 할 함수를 설정한다. 변수명을 바꾸는 등.
showNextPhase();
// 만들어놓은 form 속의 submit을 호출한다.
document.forms[0].submit();
}
언제쯤 헤매지 않고 한번에 뭔가 할 수 있을까?^^
Javascript 기반으로 웹페이지를 자동으로 갱신해보자.
핵심은 크게 두가지이다.
// 20초후 일정 함수를 부른다. 페이지 자체도 된다.
//setTimeout(myTimer, 3000);
// 20초마다 일정 함수를 부른다. 페이지 자체도 된다.
setInterval(myTimer, 20000);
function myTimer() {
// 일정 동작을 할 함수를 설정한다. 변수명을 바꾸는 등.
showNextPhase();
// 만들어놓은 form 속의 submit을 호출한다.
document.forms[0].submit();
}
R neuralnet 라이브러리 사용시 유의사항
요즘 프로젝트를 하면서 R의 neuralnet 패키지를 이용해서 모델을 돌리고 있다. 이게 꽤 속도도 빠르고 전처리 등 많은 부분에 자료가 많아서 잘 사용하고 있는데, 문제점도 있어서 주의가 필요하다. 특히 R 특성상 에러메시지를 식별하기 어려운 부분도 있어서 경험치적인 내용이 필요하다.
1.입력변수가 모두 0인 경우 처리가 되지 않는다.
입력변수가 null인 경우 처리가 되지 않는다.
에러 메시지 : Error in x - y : non-conformable arrays
기본적으로 neuralnet의 입력층에 있는 데이터는 0이 아닌 값을 가지는 것이 일반적이다.Normalization 여부와 관계없이 모두 0인 입력이 들어오는 경우, 입력변수가 null값을 가질 경우, 위의 에러 메시지가 나온다.
이유는 데이터 전처리에서 normalize 함수 등 자체 제작 함수를 사용할 때 0으로 나누는 등 null값에 대한 처리가 미흡할 때 생긴다.
R studio의 경우에는 null값이 존재하는 경우에도 neuralnet이 처리되어 처리값이 나오기는 하는데, 이를 신뢰할 수 없다.
이는 입력데이터를 바꾸어도 동일한 값이 나오는 것을 관찰하면 알게 된다.
해결방법으로는 해당 변수를 neuralnet 변수목록에서 지우면 된다.
또는 전처리 과정에서 null값을 0으로 바꾸어 주면 된다. (i-STREAM의 fillNull 이용)
#### 2016-08-22 추가
null값이 아닌 0값인 컬럼을 neuralnet에 입력해도 결과가 나온다.
문제는 0 컬럼 추가시에도 weight가 존재한다는 것인데, 이를 신뢰하기 어렵다는 점이다.
아마도 variation function이 -1 ~ 1의 값을 가진다는 가정 때문일까?
1.
입력변수가 null인 경우 처리가 되지 않는다.
에러 메시지 : Error in x - y : non-conformable arrays
기본적으로 neuralnet의 입력층에 있는 데이터는 0이 아닌 값을 가지는 것이 일반적이다.
이유는 데이터 전처리에서 normalize 함수 등 자체 제작 함수를 사용할 때 0으로 나누는 등 null값에 대한 처리가 미흡할 때 생긴다.
R studio의 경우에는 null값이 존재하는 경우에도 neuralnet이 처리되어 처리값이 나오기는 하는데, 이를 신뢰할 수 없다.
이는 입력데이터를 바꾸어도 동일한 값이 나오는 것을 관찰하면 알게 된다.
해결방법으로는 해당 변수를 neuralnet 변수목록에서 지우면 된다.
또는 전처리 과정에서 null값을 0으로 바꾸어 주면 된다. (i-STREAM의 fillNull 이용)
#### 2016-08-22 추가
null값이 아닌 0값인 컬럼을 neuralnet에 입력해도 결과가 나온다.
문제는 0 컬럼 추가시에도 weight가 존재한다는 것인데, 이를 신뢰하기 어렵다는 점이다.
아마도 variation function이 -1 ~ 1의 값을 가진다는 가정 때문일까?
2016-07-22
MySQL DB에 .txt 파일 import하는 방법
보통 MySQL DB로 데이터를 import할 때는 phpMyAdmin에서 .csv 형태로 밀어넣는 것이 가장 편하다.
하지만 데이터 용량이 커져버리면 안된다고 나온다.
이럴때 극복할만한 방안은 다음과 같다.
- 일단 db를 사용할 수 있는 command prompt로 들어간다.
c:> mysql -u (username) -p
Enter password: (type password)
mysql>
내 경우는 APMSetup을 사용하고 있으므로 윈도 태스크바 아이콘의 APMSetup 모니터에서 MySQL 콘솔을 선택하면 되겠다.
- 설치되어 있는 DB를 보려면 show databases; 명령어를 사용한다.
mysql> show databases;
- Import할 DB로 이동한다. 예로 DB 이름이 'test'인 경우 다음과 같이 사용한다.
mysql> use test;
- 먼저 import할 table을 만들어야 한다. 적당한 column 갯수와 그 형식을 지정하여야 하는데, 이 부분은 phpMyAdmin으로 처리하는 편이 편하므로 pass.
- table을 만들었다면 다음과 같이 .txt 파일을 import한다.
예로 table 명칭이 mytable이고 .txt 파일의 경로가 "c:/myfolder/a.txt"라면 다음과 같이 사용한다.
mysql> LOAD DATA LOCAL INFILE 'c:/myfolder/a.txt' INTO TABLE mytable
CHARACTER SET 'utf8'
FIELDS TERMINATED BY '\t'
ENCLOSED BY '"' LINES TERMINATED BY '\n';
실제로 CHARACTER SET 부분이나 ENCLOSED, LINES 부분은 table이 만들어져 있다면 필요없는 부분이다.
- 참고 : 보통 데이터 파일들은 header 부분에 column 명칭이 들어가는데, 이것도 그냥 db로 들어가버린다. 따라서 접속해서 맨 윗행을 지워야 할 것이다.
하지만 데이터 용량이 커져버리면 안된다고 나온다.
이럴때 극복할만한 방안은 다음과 같다.
- 일단 db를 사용할 수 있는 command prompt로 들어간다.
c:> mysql -u (username) -p
Enter password: (type password)
mysql>
내 경우는 APMSetup을 사용하고 있으므로 윈도 태스크바 아이콘의 APMSetup 모니터에서 MySQL 콘솔을 선택하면 되겠다.
- 설치되어 있는 DB를 보려면 show databases; 명령어를 사용한다.
mysql> show databases;
- Import할 DB로 이동한다. 예로 DB 이름이 'test'인 경우 다음과 같이 사용한다.
mysql> use test;
- 먼저 import할 table을 만들어야 한다. 적당한 column 갯수와 그 형식을 지정하여야 하는데, 이 부분은 phpMyAdmin으로 처리하는 편이 편하므로 pass.
- table을 만들었다면 다음과 같이 .txt 파일을 import한다.
예로 table 명칭이 mytable이고 .txt 파일의 경로가 "c:/myfolder/a.txt"라면 다음과 같이 사용한다.
mysql> LOAD DATA LOCAL INFILE 'c:/myfolder/a.txt' INTO TABLE mytable
CHARACTER SET 'utf8'
FIELDS TERMINATED BY '\t'
ENCLOSED BY '"' LINES TERMINATED BY '\n';
실제로 CHARACTER SET 부분이나 ENCLOSED, LINES 부분은 table이 만들어져 있다면 필요없는 부분이다.
- 참고 : 보통 데이터 파일들은 header 부분에 column 명칭이 들어가는데, 이것도 그냥 db로 들어가버린다. 따라서 접속해서 맨 윗행을 지워야 할 것이다.
2016-07-13
구청 근무를 마치면서
늘 생각하고 실행한다고 생각하지만 생각대로 되지 않는 것이 더 많은 것이 현실이다. 원대한 포부도 나만 가지고 있다면 뭔가 부족한 것이고, 이 포부를 남들과 공유할 수 없다면 그것 또한 나의 부족한 점이다.
1년 하고 몇일 더 한 구청에서의 근무는 돌아보면 그동안 생각만 해왔던 새로운 무언가를 하는 일이었지만 한편으로는 나 자신의 능력과 가능성을 정리하고 새로운 도약을 위한 준비과정이었다고 생각한다. 마음에 걸리는 것은 이러한 생각들이 철저히 나만을 위한 것은 아니었는지 하는 점이다. 물론 이렇게 생각하기까지 구청에서의 일들이 내 의지대로 되지 않았던 것도 사실이지만, 그렇다고 넋놓고 그냥 그렇게 흘러가기에는 시간이 너무 아까운 것이었기 때문이겠다.
힘든 점도 있었지만 보람된 근무였다고 자평하고 싶다. 이루어 놓은 것도 많다고 생각한다. 하지만 그것 또한 내 의견일 뿐이라는 생각에 미치면 무언가 쓸쓸하다. 만들어놓은 것이 있다면 그에 대한 평가를 잘 받는 것도 좋을 것인데, 이 부분에서는 항상 아쉬움을 느낀다. 다행히 그렇게 생각해주시는 분도 계시다는 것에 위안을 받으며 공무원직을 떠나 이제 좀더 우거진 수풀 속으로 들어가고자 한다.
1년 하고 몇일 더 한 구청에서의 근무는 돌아보면 그동안 생각만 해왔던 새로운 무언가를 하는 일이었지만 한편으로는 나 자신의 능력과 가능성을 정리하고 새로운 도약을 위한 준비과정이었다고 생각한다. 마음에 걸리는 것은 이러한 생각들이 철저히 나만을 위한 것은 아니었는지 하는 점이다. 물론 이렇게 생각하기까지 구청에서의 일들이 내 의지대로 되지 않았던 것도 사실이지만, 그렇다고 넋놓고 그냥 그렇게 흘러가기에는 시간이 너무 아까운 것이었기 때문이겠다.
힘든 점도 있었지만 보람된 근무였다고 자평하고 싶다. 이루어 놓은 것도 많다고 생각한다. 하지만 그것 또한 내 의견일 뿐이라는 생각에 미치면 무언가 쓸쓸하다. 만들어놓은 것이 있다면 그에 대한 평가를 잘 받는 것도 좋을 것인데, 이 부분에서는 항상 아쉬움을 느낀다. 다행히 그렇게 생각해주시는 분도 계시다는 것에 위안을 받으며 공무원직을 떠나 이제 좀더 우거진 수풀 속으로 들어가고자 한다.
Subscribe to:
Posts (Atom)
