전체 글
-
Logistic Regression (로지스틱 회귀)개발 2017. 7. 31. 21:49
앞선 포스팅에서 나이에 따른 연봉 변화로 선형 회귀를 설명했었습니다. 이번에는 예시를 조금 변형해서 연봉이 5000만원이 넘는지 안넘는지를 결정하는 함수를 생각해봅시다. 먼저 연봉이 5000만원을 넘지 않는 경우를 0, 넘는 경우를 1로 생각하고 그래프를 그려볼까요? y축의 값이 0과 1밖에 없으니 그래프가 상당히 단조로워졌네요. 아마 30-32 사이에서 연봉이 5000만원으로 변화하는 지점이 있는 것 같습니다. 이 정보를 토대로 선형회귀를 해보면 아래 그림처럼 추세선을 만들어 줄 수 있을 것 같습니다. 대략 추세선의 값이 0.5 정도가 넘으면 연봉이 5000만원이 넘는다고 짐작 할 수 있겠네요. 이렇게 하면 뭐 더이상 손댈 것도 없을것 같습니다. 그런데 새로운 학습 데이터가 추가됐다고 해봅시다. 요렇게..
-
Linear Regression (선형회귀)개발 2017. 7. 28. 20:50
앞선 포스팅에서 우리는 인공지능이란 '대량의 데이터를 학습해 가장 그럴듯한 미래를 예측한다'고 정의했습니다. 그리고 여기서 우리 개발자가 할 일은 대량의 데이터를 훌륭하게 학습시키는 알고리즘을 만드는 일이라고 말씀드렸습니다. 이제 학습 알고리즘에 대해서 공부해봐야겠죠? 마음은 벌써 알파고에 쓰인 딥러닝을 짜보고 싶지만, 지금 당장은 해볼 순 없으니 가장 기초적인 학습법인 선형회귀(Linear Regression)부터 천천히 공부해봅시다. 우리에게 아래 표처럼 나이에 따른 연봉 데이터가 있다고 가정해봅시다 실제데이터는 아닙니다. 제가 가공한거에요 헤헤 언듯 데이터를 분석해보니 나이가 많을수록 연봉을 더 많이 받는것 같습니다. 한번 차트로 볼까요? 그래프 상으로 표현해보니 실제로도 그러하네요. 위 자료를 통..
-
tensorflow 설치하면서 인공지능을 정의해보자카테고리 없음 2017. 7. 20. 21:55
인공지능이 정확히 무엇인지 생각해보기에 앞서서 Ubuntu 터미널에 tensorflow 설치 명령어 하나만 실행해둡시다.(혹시 GPU를 사용하는 버전으로 설치하고 싶으신 분은 tensorflow 사이트에서 확인해보시고 설치하셔야 합니다!) sudo pip install --upgrade tensorflow 인터넷 사양에 따라서 20-30분 정도 걸립니다. 딱 인공지능에 대해서 정의 해보기 좋은 시간이네요. 그럼 시작해볼까요? 지금 우리에게 가장 익숙한 인공지능은 알파고입니다. 알파고는 엄청난 양의 기보를 학습한 후에 어떤 위치에 수를 놓으면 유리한지를 알게 됐습니다. 자 그렇다면 인공지능은 결국 대량의 데이터를 학습한 결과물 이라고 손쉽게 정의해볼 수 있을 것 같습니다. 그런데 대량의 데이터라면 어떤 단..
-
개발자는 이제 인공지능을 공부해야 합니다.카테고리 없음 2017. 7. 17. 23:13
2016년 3월 이세돌과 알파고의 대결이 시작되기 전까지만해도 알파고의 승리를 점치는 사람은 거의 없었습니다. 경우의 수가 제한된 장기나 체스에 비해 바둑은 수가 거의 무한에 가까워 현재 컴퓨팅 능력으로는 기계가 이 모든 경우의 수를 계산하기는 무리라는 것이 대부분 바둑계 전문가들의 생각이었지요. 하지만 모두의 예상을 뒤엎고 알파고는 10년간 세계를 평정했던 이세돌을 4:1로 제압합니다. 그리고 올해 한층 더 진화된 알파고는 현 인간계 바둑랭킹 1위 커제를 상대로 단 한판도 내주지 않고 우승합니다. 알파고의 기세를 보니 당분간(어쩌면 평생) 이 기계를 이길 수 있는 인간은 나오지 않을 것 같습니다. (알파고를 상대로 거둔 이세돌의 1승은 인류의 마지막 승리가 될 것이라고 합니다) 바둑 경기가 시작되기 전..
-
구글은 이미 인공지능으로 돈을 벌고 있었다.카테고리 없음 2017. 5. 29. 20:16
작년 이세돌에이어 현 바둑 인간계 랭킹 1위인 커제까지 알파고한테 패배하고 말았다. 작년부터 시작된 인공지능 시장의 흐름은 자율주행 자동차, 로봇이 나오면서 점차 겆잡을 수 없는 흐름을 탔고 많은 사람들은 인공지능을 실생활에 어떻게 활용 할 수 있을지 그리고 이를 이용해 어떻게 수익을 낼 수 있을지 고민하기 시작했다. 하지만 인공지능으로 돈을 벌 방법을 고민하는 와중에 벌써 돈을 벌고 있는 기업이 있을 것이라곤 상상하지 못했다. 놀랍게도 그 기업은 작년 알파고와 자율주행 자동차로 우리를 놀래켜준 구글이다. 구글은 이미 인공지능을 이용해서 돈을 벌고 있었다. 도대체 우리가 모르는새 그들은 어떻게 돈을 벌고 있었을까? 일반 사람들에겐 와닿지 않겠지만 대부분의 기업들은 이미 비즈니스에서 인공지능 기술을 사용하..
-
SW 역량테스트 기출 문제집 분석알고리즘/acmicpc 2017. 4. 21. 20:12
백준 온라인 저지에서 삼성 SW 역량테스트 기출 문제집을 발견 했다. 분명히 시험시간에 감독관이 외부에 유출하지 말라고(말아달라고) 했을 텐데 싸트 문제처럼 이것도 외부 유출은 막을 수 없나 보다. 재미 삼아 여기 있는 문제들을 한 번 풀어 봤는데 문제들이 공통적으로 뚜렷한 경향이 있었다. 이번 포스트에서는 (문제집에 올라온 기출 문제들이 모두 사실이라는 전제 하에) 기출 문제를 분석하고 취준생 입장에서 어떻게 준비하는 것이 좋을 지를 정리 해봤다. 기출 문제 분석 1. 시뮬레이션 문제가 대부분 대부분의 문제들이 고급 알고리즘 없이도 풀 수 있다. 여기서 고급 알고리즘은 다익스트라나 최소 스패닝 트리 같이 대학교 알고리즘 강의에서 배우는 내용들을 말한다. 물론 기출로 나온 문제들을 고급 알고리즘을 적용한..
-
10422알고리즘/acmicpc 2017. 4. 5. 23:03
문제를 보자마자 DP를 써야 한다는건 직감했는데 식을 어떻게 세워야 할지 쉽게 감이 오지 않았다. 가장 직감적으로 들었던 식은 이렇다. 문자열의 길이가 K인 경우의 식은 아래와 같이 구할 수 있다고 생각했다. 1. dp[K] = dp[K-2] 2. dp[K] += dp[2]*dp[K-2] + dp[4]*dp[K-4] + ... dp[K-2]*dp[2] 이미 괄호의 개수가 정해진 K-2개의 문자열에 괄호를 끼운다고 생각하면 반드시 올바른 괄호가 되므로 1번 식은 성립한다. 2번 식은 나머지 경우들을 처리하는 식인데, K개의 괄호식을 만든다고 생각할 때 앞부분에 해당하는 괄호의 경우의 수 와 뒷부분에 해당하는 괄호의 경우의 수를 곱해주면 길이가 K인 문자열을 구할 수 있다고 생각했다. 하지만 위의 식은 중복..
-
오픈스택 구조 분석개발 2017. 3. 7. 23:12
오픈소스를 좀더 심도있게 분석하기 위해 설치도 하고 내부 소스 코드도 보려 했으나, 설치 가이드 글들을 전혀 이해를 할 수 없어서 논문 부터 차근차근 읽고 가기로 했다. 'OpenStack: Toward an Open-Source Solution for Cloud Computing'이란 논문을 읽었는데 한창 오픈스택이 뜨기 시작한 2012년도에 나온거라 그런지 별 다른 내용이 없었지만 그래도 오픈스택의 전체적인 구조는 이해하는데 도움이 된 것 같다. 논문에 따르면 오픈스택의 구조는 위 그림처럼 다섯가지로 나눌 수 있다고 하는데 여기서 주된 요소는 Compute, Image, Object라고 한다. 각각에 대한 설명은 다음과 같다. OpenStack Compute: IaaS 클라우드를 관리 담당하는 플랫폼..