분류 전체보기
-
[Python Algorithms] 알고리즘 O 표기법Computer Science/Algorithms 2019. 7. 6. 10:11
최근 가장 핫한 키워드를 하나만 뽑으라면 단연 알고리즘일 것이다. (아마도..) 많은 회사들이 개발자 입사 시험에 알고리즘 테스트를 넣고 있고 개발자의 역량 강화에서도 중요한 부분이라고 알려져 있어 많은 사람들이 관심을 가지고 공부하고 있다. 나도 마찬가지로 입사를 위해서..ㅋㅋ 열심히 공부하고 있는 중이다. 먼저 알고리즘이 무엇인지 살펴본 뒤, 알고리즘을 어떻게 평가해야하는지, 파이썬으로 알고리즘을 어떻게 표현할 수 있을지를 다뤄보려 한다. 알고리즘 알고리즘은 수학과 컴퓨터 과학, 언어학 또는 관련 분야에서 어떠한 문제를 해결하기 위해 정해진 일련의 절차나 방법을 공식화한 형태로 표현한 것 [출처: 위키백과] 이라 설명되어 있다. 나는 특히 컴퓨터 과학에서 알고리즘을 "주어진 환경에서 컴퓨터로 문제를 ..
-
Supervised learning(지도 학습) VS Unsupervised learning(비지도 학습)Machine learning/Algorithms 2019. 6. 17. 16:41
2019/06/17 - [Machine learning/Algorithms] - What is machine learning? 저번 포스팅에 이어 이번 포스팅에는 머신러닝의 두 가지 종류인 Supervised learning과 Unsupervised learning에 대해 작성해보려 한다. 지도학습이란, 머신러닝을 학습시킬 때 사용하는 데이터 셋의 각 데이터마다 정답이 표시되어 있는 학습방법을 말한다. 예를 들어, 사과 사진을 보여주고 "사과"라고 말해주는 것이다. 이 지도학습은 또 다시 두 가지로 나눌 수 있다. 분류(Classification)와 회귀(Regression) 이다. 분류(Classification)는 0 또는 1, 악성 또는 양성 등과 같이 불연속적인 값들을 예측하는 것이다. 강의에서 ..
-
What is machine learning?Machine learning/Algorithms 2019. 6. 17. 15:50
머신러닝을 공부하기 시작할 때, 가장 먼저 들었던 수업은 Andrew Ng교수님의 "Machine Learning" 이었다. 앤드류 교수님의 특징인 나긋함과 섬세함으로 강의가 진행되고 처음 머신러닝 공부를 시작할 때 듣는 사람도 이해할 수 있을 정도의 난이도라 편하게 이해할 수 있었다. 그 수업을 통해서 머신러닝, 딥러닝의 기본적인 개념들을 쉽게 이해하고 정리할 수 있었다. 그 때 정리했던 노트들을 오랜만에 발견하고 그 내용을 적어보려 한다. 처음 강의 내용은 머신러닝이 무엇인지에 관한 내용이다. "What is machine learning?" 이라는 질문에 답하는 형신인데, 앤드류 교수님은 Tom Mitchell의 말을 인용하여 설명해 주셨다. "A computer program is said to ..
-
[OpenCV 튜토리얼] 1. OpenCV 영상(이미지) 입출력Python/OpenCV 2019. 6. 17. 14:13
딥러닝이나 컴퓨터 비전을 공부했던 사람이라면 한 번쯤은 들어보고 사용해봤을 OpenCV에 대한 간단한 튜토리얼과 활용을 포스팅하려 한다. 나의 경우, 딥러닝과 의료 영상에 대한 관심으로 의료 인공 지능을 공부하다가 알게 되었고 개인적으로 다른 라이브러리에 비해 사용이 편리했다. OpenCV는 Intel(인텔)에서 개발한 컴퓨터비전 라이브러리로 Window(윈도우), Linux(리눅스)에서 사용할 수 있고 Tensorflow(텐서플로우), PyTorch(파이토치) 등 다양한 딥러닝 프레임 워크를 지원한다. (OpenCV, "위키백과", 2019-06-17, https://ko.wikipedia.org/wiki/OpenCV) 먼저, OpenCV의 영상(이미지) 입, 출력에 대해 알아보도록 한다. 1. Ope..
-
[논문 리뷰] 딥러닝의 도약: ImageNetClassificationwithDeepConvolutional NeuralNetworksDeep learning/Algorithms 2019. 5. 28. 13:41
논문 저자: Alex Krizhevsky, Ilya Sutskever, Geoffrey E. Hinton 논문 정리해보기 1) Introduction ILSVRC-2010과 ILSVRC-2012 대회에서 사용된 데이터 셋을 사용하였다. 2D convolution의 최적화된 GPU를 구현하였다. Dataset에 대한 Overfitting을 해결하려 한다. 최종적으로 5가지의 convolutional layers와 3개의 fully-connected layers를 포함한다. → convolution layer를 제거하면 성능이 떨어짐을 확인 두 개의 GTX 580 3GB GPU를 이용하여 5-6일 정도의 training 시간이 소요되었다. 2) The Dataset ImageNet은 22,000개로 간략하게..
-
4-2. Python 기본 문법 (산술, 비교, 논리 연산)Python/Basic 2019. 4. 2. 19:10
4.2. Python 기본 문법 (산술, 비교, 논리 연산) 파이썬에서는 산술, 비교, 할당, 비트, 논리 연산자가 제공되어 사용할 수 있다. 1. 산술 연산 덧셈: + 뺄셈: - 곱셈: * 나누기: / (소수점 포함), // (소수점 제거) 나머지: % 제곱: ** 결과 확인 2. 비교 연산 관계 연산자는 참과 거짓인 True와 False로 값을 반환한다. 관계 연산자 의미 A > B A가 B보다 크다. A >= B A가 B보다 크거나 같다. A == B A와 B가 같다. A != B A와 B는 다르다. 결과 확인 3. 논리 연산 논리 연산은 Boolean값을 입력받아 연산 결과를 True나 False로 반환해준다. 3-1 and: 논리 연산에서는 곱의 연산이다. 모두 참일때만 참을 뜻한다. 입력 값 ..
-
[Kaggle 경진대회] Titanic: Machine Learning from DisasterMachine learning/Kaggle 2019. 3. 29. 21:58
[Kaggle 경진대회] Titanic: Machine Learning from Disaster 데이터 분석을 공부하거나 관련 직업을 가지고 있는 사람들이라면 한 번 쯤 들어봤거나 사용해본 사이트가 있을 것이다. 바로 Kaggle! 아무리 이론을 공부해도 실제로 적용해보지 않으면 기억에도 잘 남지 않을 뿐더러 올바른 방향으로 공부하고 있는지 알기 어렵다. 캐글에서는 기업들이 제공하는 데이터로 경진대회도 열어 가장 높은 확률로 예측한 사람이나 팀에게 상금을 주기도 한다. 진행중인 대회나 이미 종료된 대회일지라도 사이트에 올라온 데이터는 언제든 다운받아 쓸 수 있고, 데이터가 잘 정리되있는 편이어서 데이터 분석하기에 용이하다. 이미 끝난 대회의 경우 본인이 직접 예측한 분석결과를 캐글에 제출해서 채점할 수 ..
-
4-1. Python 기본 문법 (변수와 자료형)Python/Basic 2019. 3. 27. 23:24
4-1. Python 기본 문법 (변수와 자료형) 1. 변수 프로그래밍 언어를 배울 때 가장 기초가 되면서도 중요한 "변수"라는 개념이 있다. 변수는 '변할 수 있는 값 또는 정보'란 뜻으로, 프로그램을 할 때 특정 숫자나 문자를 담아두는 공간이라 생각할 수 있다. 일반적으로, 변수(상자)에 특정 값을 할당하면(담으면) 그 값은 계속 수정 가능하다. 이해가기 쉽게 var이라는 변수 안에 값인 5를 담는 것으로 표현했지만 실제로 변수는 5라는 값이 있는 메모리를 가리킨다고 볼 수 있다. 변수명을 정할 때는 1) 영문자나 _(언더스코어)로 시작해야 한다. 2) 대문자와 소문자는 구분되어 다른 변수로 저장된다. ex. Python과 python은 다른 변수다. 3) 파이썬의 예약어로 사용되는 이름은 변수로 사..