python 43

[2021.10.08] 딥러닝 강좌 2주차 프로그래밍 과제 전.

Coursera의 딥러닝 강좌 2주차를 들었다. 강의는 모두 듣고 programming assignment 하나만 남겨두고 있다. 과제는 2주차에서 배운 딥러닝 계산 과정을 이용해 파이썬으로 구현하는 과정인데, 이전 머신러닝에서 matlab을 통해 과제를 했던 경험을 떠올리면 쉽지 않을 것으로 예상된다. Linear Regression 내용을 복습해야겠다. 1. Vectorization을 통해 for-loop을 줄여 효율적인 코드를 작성할 수 있다. 2. 파라미터 b, w를 matrix로 나타내면 여러개의 feature를 하나의 변수에 저장할 수 있고, 계산도 용이하다. 3. input X와 이에따른 z = w^T * X + b 를 벡터화하면 여러개의 training examples (m)에 대해 연산이..

[Andrew Ng] Neural Network and Deep Learning : 2. Basics of Neural Network Programming (2)

Vectorization 벡터화를 통해 for-loops을 줄여 컴퓨터가 계산을 효율적으로 할 수 있게 할 수 있다. More vectorization examples Whenever possible, avoid explicit for-loops. $$u = Av \ u_i=\sum_i\sum_j A_{ij}v_j$$ non-vectorized u = np.zeros((n,1)) for i ... for j ... u[i] += A[i][j] * v[j] vectorized u = np.dot(A,v) Vectors and matrix valued functions ex. 모든 matrix elements에 exponential operation을 해야할 때 non-vectorized u = np.zer..

Coding/Coursera 2021.10.08

[~2021.10.06] 딥러닝 강좌 듣기.

늘 다짐이 그렇듯 처음에는 의지에 불타올라 열심히 하다 시간이 지날수록 점점 귀찮아지고 잘 안 하게 된다. 그렇다고 공부를 아예 안한것은 아니지만, TIL 작성도 귀찮고 공부량도 적어진 것은 사실이다. 다시 마음을 다잡고 할 수 있는 계기가 필요한 것 같다. 1. 클래스 상속은 어떤 클래스를 만들 때, 기능을 이어받는 것을 말한다. 2. class 자식클래스(부모클래스): 명령어로 자식클래스를 만들 수 있다. 3. 자식클래스에서는 파이썬 내부적으로 부모클래스의 생성자를 불러오기 때문에 따로 작성하지 않아도 된다. 4. 메소드 오버라이딩은 부모클래스에 있는 메소드를 가져와 수정하고 덮어쓰는 것을 말한다. 5. 클래스 변수는 객체 변수와 달리 모든 객체에 공유된다. (같은 데이터 값을 갖는다.) 6. Log..

[코뮤니티] 클래스와 메소드, 생성자

계산기 기본기능을 클래스를 이용해 만들어보았다. 클래스 안에는 메소드가 있으며 이를 이용해 만든 것을 객체라고 한다. 클래스는 붕어빵틀과 같이 객체를 생성할 수 있으며, 이로 만들어진 붕어빵을 객체라고 볼 수 있다. class 안의 def 함수는 메소드(method)라고 불린다. 메소드의 self 파라미터는 객체 자신을 메소드로 전달한다. def __init__() 생성자를 사용하면 초기값을 설정하고 객체가 생성될 때 자동으로 호출된다. (a = Calculator(x, y)) class Calculator: def __init__(self, first, second): self.first = first self.second = second def add(self): result = self.first ..

Coding/Python 2021.09.29

[2021.09.28] Deep Learning 배우기

오늘은 Coursera의 Neural Networks & Deep Learning 강의 1주차를 마쳤다. 아직 Introduction이라 자세한 내용은 배우지 못했지만, 딥러닝에 대한 전체적인 개념을 알 수 있었다. 또한 코뮤니티의 파이썬에 대한 새로운 내용을 알 수 있었다. 1. 데이터의 디지털화, 컴퓨팅 성능의 발전, 알고리즘의 최적화로 딥러닝이 각광받고 있다. 2. 파이썬의 튜플은 리스트와 비슷하나 값을 수정하거나 생성할 수 없다. 3. 집합은 순서가 없으며, 따라서 인덱스를 사용할 수 없다. 또한 중복이 허용되지 않는다. 4. 연산자나 함수를 통해 차집합, 합집합, 교집합 등을 구할 수 있다. 5. 딕셔너리는 코드잇에서도 배웠지만 키-값 쌍으로 이루어져 있다. 이전보다 많은걸 하려다보니 집중하기가..

[코뮤니티] 파이썬(python) 튜플, 집합, 딕셔너리(dictionary)

달콤한 파이썬 #3. 튜플, 집합 튜플 리스트는 대괄호 [ ]로, 튜플은 괄호 ( )로 둘러싼다. 리스트와 달리 튜플은 값의 생성, 삭제, 수정이 불가능하다. 다른 자료형도 포함할 수 있다. tuple_1 = (1, 2) tuple_2 = ("python", 1, 2) tuple_3 = (1, 2, (1, 2, 3)) print(tuple_1) # (1, 2) print(tuple_2) # ('python', 1, 2) print(tuple_3) # (1, 2, (1, 2, 3)) 튜플 역시 인덱스로 접근할 수 있다. + : 튜플 추가 (이어붙이기) * : 튜플 반복 tuple_1 = (1, 2) tuple_2 = ("python", 1, 2) tuple_3 = (1, 2, (1, 2, 3)) print..

Coding/Python 2021.09.28

[2021.09.27] 11번째 파이썬 공부 : 다음은?

코드잇의 프로그래밍 기초 in python 강좌를 모두 수강했다. 비록 난이도는 낮은 편이었지만, 파이썬의 기초적인 개념을 배울 수 있어서 좋았다. 1. 특정 조건을 만족할 때까지 반복하는 것은 while문을 사용하는 것이 좋다. 2. if ~ in 을 사용하여 요소가 리스트에 있는지 확인하는데 요긴하게 사용할 수 있다. 3. 조건이 여러개일 때는 가장 범주가 작은 조건을 우선으로 작성하고, 그 조건 이외에 상황에서 어떻게 나눌 것인지 생각하는 게 좋다. 4. 함수의 파라미터를 여러개 지정하여 return할 수 있다. 지금까지 기초적인 파이썬 공부를 해보았고, 앞으로 인공지능과 빅데이터 관련 공부를 하기 위해 Coursera의 Neural Networks & Deep Learning 강좌를 수강할 계획이..

[코드잇] 파이썬(python)으로 숫자야구 게임 시뮬레이션 구현하기

[프로젝트] 숫자야구 숫자 3개 뽑기 : generate_numbers from random import randint def generate_numbers(): numbers = [] while len(numbers) < 3: # 리스트의 요소가 3개 미만일 동안 반복 num = randint(0,9) if num not in numbers: # 중복값을 없애기 위해 중복이 아닐때만 리스트에 추가하기 numbers.append(num) return numbers print(generate_numbers()) 숫자 예측하기 : take_guess def take_guess(): print("숫자 3개를 하나씩 차례로 입력하세요.") guess =[] while len(guess) < 3: # 리스트에 요..

Coding/Python 2021.09.27

[2021.09.24] 10번째 파이썬 공부 : 꾸준함을 유지하자

추석 연휴 동안에는 코드잇 강의나 따로 파이썬 공부는 하지 않고, 우연히 코뮤니티의 추석맞이 챌린지를 발견해서 하루에 한 문제씩 코드를 작성해봤다. 그리고 연휴가 끝난 금요일이 되서야 다시 코드잇 강좌를 들었다. 이번 내용은 로또 시뮬레이션을 구현하는 프로젝트였는데, 배운 것들을 활용할 수 있는 부분이 많았다. 1. for ~ in ~ range() 로 리스트를 효율적으로 다룰 수 있다는 사실을 잊지 말자. 2. 코드를 쓰기 전에 while문을 써야 효율적 일지 for문을 써야 효율적일지 고민해보자. 3. from itertools import combinations를 통해 조합을 나타내고 계산할 수 있다. 4. 사용자 지정 함수 def function(): 를 사용할 때 어떤 값을 받아(paramete..