인공지능,프로그래밍(32)
-
주가예측 프로그램을 만들어 보았다. Prophet 라이브러리 활용
이전에 파이썬 프로그램을 통해서 주가를 예측하는 프로그램을 만들어 본 일이 있었습니다. 해당 예측 방법은 50일간의 데이터를 기반으로 1일 후의 주가를 예측하는 것이었는데요, 이렇게 매일 1일씩 예측하는 것이 어떻게 보면 예측 보다는 이동평균선을 미래로 한 칸 옮겨 본 정도이거나 마치 일목균형표를 허접하게 따라한 정도에 그치는 것 같아서 만족스럽지 않았습니다. 하지만 원리를 이해한다는 의미에서 참고하시기를 원하시는 분은 지난 글을 보시는 것도 좋을 것 같습니다. aitown.tistory.com/130 주가 예측 프로그램을 만들어 보았다. 파이썬 주피터 노트북 사용 이 블로그를 시작하는 초장기에 내가 해 보고 싶었던 것 중 하나가 바로 주가 예측 프로그램이었다. 사실 시중에 인공지능을 활용한 주가 예측 ..
2020.12.07 -
주가 예측 프로그램을 만들어 보았다. 파이썬 주피터 노트북 사용
이 블로그를 시작하는 초장기에 내가 해 보고 싶었던 것 중 하나가 바로 주가 예측 프로그램이었다. 사실 시중에 인공지능을 활용한 주가 예측 프로그램 앱들이 많이 있지만 어떻게 돌아가는지도 모르고 그게 정말 인공지능을 사용하는 것인지 아니면 그냥 인공지능의 탈을 쓰고 나오는 것인지 알 수 없었다. 그래서 내가 직접 만들어 보고 검증해 보고 싶었고, 혹시 하다가 잘 되면 그러니까 잘 맞는다고 생각하면 부업으로도 괜찮을 것이라는 생각이 들었기 때문에 본 프로젝트?를 시작하고 싶었다. 하지만 초기에 열정을 시간이 갈 수록 줄어들고 방대한 배울 것들로 인해서 진도를 나가기가 어려웠다. 일단 프로그래밍 환경을 조성하는 것부터가 만만치 않았다. 하지만 그런 이야기들은 뒤로 하고 오늘은 실제로 구현해 본 이야기만 해 ..
2020.11.29 -
초간단! 엑셀로 로또 번호 자동생성기 만들기 순열과 랜덤 함수 이해하기
로또는 1에서 45까지의 숫자 중에서 무작위로 6개를 뽑아 만든 숫자가 내가 선택한 번호와 맞으면 당첨되는 복권입니다. 얼마전에 예능프로그램 1박 2일에서 1등 당첨자와 인터뷰를 하는 장면이 나왔는데요, 그만큼 1등이 되기도 어렵고 그 사람을 만나는 것도 신기한 일입니다. 그럼 실제 당첨 확률은 얼마나 될까요? 이를 알기 위해서는 먼저 순열을 알아야 하는데요, 순열이란 숫자의 나열된 세트를 말합니다. 하지만 순열은 1,2와 2,1이 다른 것으로 인식하기 때문에 로또와 같이 단지 뽑을 확률을 구하려면 먼저 그 경우의 수를 알아야 하는데요, 예를 들어 4개 중에서 2개를 뽑을 경우의 수는 그 순열에서 2! 만큼 나누어 주어야 합니다. (2!는 2x1 이란 의미인데요, 같은 원리로 5!는 5x4x3x2x1 입..
2020.11.19 -
미로 자율주행 알고리즘
최근 인공지능에 대한 관심이 높아지면서 다양한 환경에서 인공지능을 활용하려는 시도가 이어지고 있는데요, 테슬라는 그 수혜를 받고 있는 기업중의 하나입니다. 저도 경험해 본 바에 의하면 한국에서 대부분의 테슬라 오너들이 경험할 수 이는 반자율 주행만 하더라도 꽤 편리한 기능으로 특히 막히는 구간에서는 정말 필요한 기능입니다. 그럼 이러한 자율 주행은 어떠한 원리로 작동하는 것일까요? 이를 이해하기 위해서는 사람이 어떤방식으로 운전을 하는지를 먼저 살펴볼 필요가 있습니다. 인공지능이란 사람의 지능을 흉내내는 것으로 사람이 생각하는 방식을 순서에 따라 컴퓨터가 따라하도록 하는 것이 그 시작이기 때문입니다. 하지만 우리가 운전을 할 때 보고 듣는 것을 모두 의식적으로 분석하면서 그 때 그 때 다양한 가능성을 고..
2020.10.12 -
인공지능을 언급할 때 꼭 나오는 텐서플로우가 뭐지?
인공지능을 언급할 때 꼭 나오는 단어가 있다. 바로 텐서플로우인데 영어로는 'TensorFlow'라고 하는 단어이다. 이 단어가 무슨 뜻인지 궁금해서 찾아보았다. 소개말을 보니 '데이터 플로우 그래프를 사용하여 수치연산을 하는 오픈소스 소프트웨어 라이브러리'라고 되어 있는데, 무슨 뜻인지 보니 데이터들이 있으면 단순히 일차원적인 숫치가 아닌 여러가지 숫자들로 되어 있고 이 숫자들은 그 성격에 따라 종류별로 구분하면 여러종류의 꾸러미 즉 수학용어로 '다차원의 배열'로 나누어 볼 수 있는데 여기에서 다차원 배열을 '텐서(tensor)'라고 부르고 이 텐서의 흐름을 가지고 연산을 할 수 있도록 만들어 둔 일종의 함수들의 모음 즉, 연산 공식들을 모아서 프로그램에 쓰기 편하게 만들어 둔 것이 텐서플로우라고 이해..
2020.07.16