본문 바로가기

분류 전체보기153

[python] 약수의 합(연습문제) 문제의 목표는 주어진 수 n의 모든 약수에 대한 합을 반환하면 되는 간단한 문제이다. 이때 약수에는 자기 자신까지 포함된다. 즉, n=7이라면 약수는 1, 7로 약수를 모두 더한 8을 반환하면 된다. 설계 및 구현 구현을 위한 함수는 약수를 찾아야 하는 n이 매개변수로 있는 간단한 함수이다. 구현내용은 간단히 생각하면 n보다 작은 수들을 모두 찾아 해당 수들을 사용해 n을 나누어 나머지가 0인지 확인하면 된다. 만약 n이 3000일 때 작은 수를 모두 확인한다면 확인해야 할 숫자가 너무 많기 때문에 효율이 떨어진다. 따라서 확인할 숫자는 약수중 최대가 되는 숫자인 n/2 까지만 확인하면 된다. ① n의 최대 약수인 n/2까지의 모든수들을 n과 나누어 나머지가 0인지 확인 ② 나머지가 0이라면 결과값에 더.. 2020. 4. 12.
[Machine Learning] 텐서플로우 딥러닝 - 3. Linear Regression and How to minimize cost와 이를 TensorFlow 로 구현하기 (edwith) 앞서 정리한 Simple Linear Regression을 구하기 위한 Gradient Descent 알고리즘을 좀 더 세세하게 정리하고 이를 TensorFlow로 구현하자. Hypothesis함수와 cost함수를 아래와 같이 정의했었다. Gradient Descent 알고리즘을 간단히 확인하기 위해 b를 생략하여 함수를 간략화했다. 이 간략화한 함수의 개형을 확인하기 위해 x, y 데이터는 y=x그래프 위의 데이터를 사용하고 W 값을 변화시켜 costt함수의 값의 변화를 확인하면 목표가 cost가 최소가 되는 W값을 찾는 것이었다. 해당 결과에서 W=1 일 때 cost가 최소인 것을 확인할 수 있다. 이걸 기계가 찾는 알고리즘이 Gradient descent이며, 경사를 따라 내려가면서 최저점을 찾도록.. 2020. 4. 10.
[Machine Learning] 텐서플로우 딥러닝 - 2. Simple Linear Regression과 TensorFlow 로 구현 (edwith) edwith[부스트코스] 텐서플로우로 시작하는 딥러닝기초 강의를 통해 공부한 내용을 요약˙정리한것입니다. Simple Linear Regression Regression : 후퇴, 퇴보, 되돌아가다 "Regression toward the mean" : 전체의 평균으로 되돌아간다. '어떤 데이터들이 크거나 작은 데이터들이 나와도 전체적으로 봤을 때 전체 평균으로 되돌아가려는 속성이 있다.'라는 통계적 원리를 설명한다. Sir Francis Galton (1822 ~ 1911) Linear Regression 선형회귀는 종속변수 y와 한 개 이상의 독립변수 x의 선형 관계를 모델링하는 것이다. Simple Linear Regression 독립변수 x가 단일 개 일 때의 모델링을 말한다. 즉, x와 y라는 .. 2020. 4. 7.
[Machine Learning] 텐서플로우 딥러닝 - 1. 기본적인 Machine Learning 의 용어와 개념 설명 (edwith) edwith[부스트코스] 텐서플로우로 시작하는 딥러닝기초 강의를 통해 공부한 내용을 요약˙정리한것입니다. 머신러닝(ML)은 일종의 소프트웨어이다. 등장 배경 explicit programming의 한계를 극복하기 위해 등장했다. 예를 들어 Spam filter, Automatic driving 등의 프로그램들은 많은 rule을 요구하는데 이 rule들을 전부 프로그래밍 하기에는 한계점이 있고 이 한계를 극복하기 위해 등장했다. Arthur Samuel (1959) - "기계가 일일이 코드로 명시하지 않은 동작을 데이터로부터 학습하여 실행할 수 있도록 하는 알고리즘을 개발하는 연구 분야" 모든 경우를 프로그래밍하지 않고 어떤 자료나 현상에서 자동적으로 배우자라는 취지로 발생, 프로그램인데 개발자가 하나하나.. 2020. 4. 6.
[C++] 문자열을 정수로 바꾸기(연습문제) 문제의 목표는 간단하다 입력받은 문자열 s를 숫자로 변경하여 반환하면 된다. 이때 s는 부호와 숫자로만 이루어져 있다. 따라서 s가 "+123"이라면 123을 "-123"이라면 -123을 반환하면 된다. 설계 및 구현 구현을 위한 함수는 반환 타입 int를 가지며 숫자로 변환할 매개변수 string타입 s를 가진다. 구현을 위한 내용은 파이썬에서 고안했으므로 바로 구현하자. ① s를 문자 하나씩 잘라내기, 문자를 정수로 변환하기 위한 테이블 준비 ② 잘라낸 문자를 테이블에서 찾아서 알맞은 정수로 변환하고 자릿수마다 더해주기 ③ 맨 마지막 부호가 -라면 -1을 곱해서 반환 +라면 그냥 반환 ① 각 문자를 알맞은 숫자로 변환하기 위한 테이블을 위해 map을 사용하여 key값에 아스키코드를 이용해 변환한 문자.. 2020. 4. 5.
[python] 문자열을 정수로 바꾸기(연습문제) 문제의 목표는 간단하다 입력받은 문자열 s를 숫자로 변경하여 반환하면 된다. 이때 s는 부호와 숫자로만 이루어져 있다. 따라서 s가 "+123"이라면 123을 "-123"이라면 -123을 반환하면 된다. 설계 및 구현 구현을 위해 주어진 함수는 숫자로 변환할 매개변수 s를 가지는 간단한 함수이다. 물론 return int(s)를 통해 간단하게 해결할 수 있지만 알고리즘 연습을 위해 형변환 int() 함수는 사용하지 않고 연습을 해보자. 구현의 내용을 생각해보면 해당 문자열을 하나씩 전부 잘라내어 자릿수마다 더해주는 과정이 필요하다 이때 더하려면 해당 문자가 정수형이어야 하므로 문자를 정수로 변환할 dictionary가 필요로 하다. 이때 맨 마지막에 부호를 판별하여 -라면 -1을 곱하여 반환하고 +라면 .. 2020. 4. 5.