공부 기록/끄적 노트

공부 기록/끄적 노트

패스트캠퍼스 챌린지 최종 후기 | 30일간의 여정

평소처럼 패스트캠퍼스 강의들을 보다가, 4차 산업혁명과 기술 트렌드를 배경으로 '딥러닝/인공지능'에 흥미가 생겼다. 알파고는 인공지능 붐을 일으키는데 신호탄이 됐고, 이후 대한민국 정부나 기업 및 IT업계 엔지니어 등 많은 국민적 관심사가 인공지능 기술이 됐다. 그리하여 인공신경망을 기반으로 한 딥러닝(머신러닝의 일종)이 각광받으면서, 딥러닝 인공지능 개발자에 대한 연봉도 올라가고, 그렇게 유용한 거 이참에 나도 한 번 배워보고싶다는 마음이 생겨 '한 번에 끝내는 딥러닝/인공지능 초격차 패키지' 강의를 구입했다. 그 후 패스트캠퍼스 전액 환급 챌린지의 존재를 알게 되었고, 주저없이 바로 참여했다. 패스트캠퍼스 전액 환급 챌린지(갓생살기 30일 미션)에 등록하고, 11월 1일부터 꾸준히 하루에 1강의씩 수..

공부 기록/끄적 노트

패스트캠퍼스 챌린지 30일차 | 딥러닝 네트워크 연산 Introduction

Forward Propagation of Neural Networks 딥러닝의 가장 기본적인 연산들에 대해 알아보자. Deep Learning Process 딥러닝 모델은 데이터를 먹고 산다. 그러므로 데이터셋이 필요하다. (Data Perparation) 학습을 시키기 위해 뉴럴 네트워크를 설계한 후 구현해야 한다. (Neural Network Design & Implementation) 학습의 과정을 겪게 된다. (Model Traning) 이 모델이 얼마나 성능을 내는지 평가. 상용화 판단. (Performance Evaluation) 웹/앱 혹은 서비스에 실제로 적용 (Model Deployment) 위와 같이 동작하는 일련의 과정이 딥러닝이다. Model Traning 모델을 하나의 함수라고 가..

공부 기록/끄적 노트

패스트캠퍼스 챌린지 29일차 | 정규표현식

{} - *, +, ?을 사용하여 반복적인 패턴을 찾는 것이 가능하나, 반복의 횟수 제한은 불가 - 패턴 뒤에 위치하는 중괄호{}에 숫자를 명시하면 해당 숫자만큼의 반복인 경우에만 매칭 - {4} - 4번 반복 - {3,4} - 3 ~ 4번 반복 import re re.search('pi+g', 'piiig') re.search('pi{3,5}g', 'piiig') 미니멈 매칭 (non-greedy way) - 기본적으로 *, +, ?를 사용하면 greedy(맥시멈 매칭)하게 동작함 - *?, +?를 이용하여 해당 기능 구현 import re re.search(r'', 'haha') {}? - {m,n}의 경우 m번에서 n번 반복하나 greedy하게 동작 - {m,n}?로 사용하면 non-greedy하게..

공부 기록/끄적 노트

패스트캠퍼스 챌린지 28일차 | 정규표현식 반복 패턴

\ 1. 다른 문자와 함께 사용되어 특수한 의미를 지님 - \d : 숫자 [0-9]와 동일 - \D : 숫자가 아닌 문자 [^0-9]와 동일 - \s : 공백 문자(띄어쓰기, 탭, 엔터 등) - \S : 공백이 아닌 문자 - \w : 알파벳 대소문자, 숫자 [0-9a-zA-Z]와 동일 - \W : non alpha-numeric 문자 [^0-9a-zA-Z]와 동일 2. 메타 캐릭터가 캐릭터 자체를 표현하도록 할 경우 사용 - \. , \\ import re re.search(r'\sand', 'apple and banana') re.search(r'\Sand', 'apple and banana') import re re.search(r'\.and', '.and') re.search(r'\.and', 'r..

공부 기록/끄적 노트

패스트캠퍼스 챌린지 27일차 | 정규표현식, re 모듈의 사용

정규표현식 - regular expression - 특정한 패턴과 일치하는 문자열을 '검색', '치환', '제거'하는 기능을 지원 - 정규표현식의 도움 없이 패턴을 찾는 작업 (Rule 기반)은 불완전하거나, 작업의 cost가 높음 - e.g) 이메일 형식 판별, 전화번호 형식 판별, 숫자로만 이루어진 문자열 등 raw string - 문자열 앞에 r이 붙으면 해당 문자열이 구성된 그대로 문자열로 반환 a = 'abcdef\n' # escape 문자열 print(a) b = r'abcdef\n' print(b) 기본 패턴 - a, X, 9 등등 문자 하나하나의 character들은 정확히 해당 문자와 일치 - e.g) 패턴 test는 test 문자열과 일치 - 대소문자의 경우 기본적으로 구별하나, 구별하..

공부 기록/끄적 노트

패스트캠퍼스 챌린지 26일차 | 클래스 연습문제 풀이

클래스 연습문제) - 복소수 클래스를 정의한다 - 덧셈, 뺄섬, 곱셈 연산자 지원 - 길이 (복소수의 크기) 지원 - 복소수 출력 '1 + 4i'와 같이 표현 - 비교 연산 ==, != 지원 - =, 0: return '{} + {}i'.format(self.real, self.img) else: return '{} - {}i'.format(self.real, abs(self.img)) def __eq__(self, cn): return self.real == cn.real and self.img == cn.img def __ne__(self, cn): return not (self.real == cn.real and self.img == cn.img) def __abs__(self): return ma..

공부 기록/끄적 노트

패스트캠퍼스 챌린지 25일차 | 클래스 연산자 재정의

special method - __로 시작, __로 끝나는 특수 함수 - 해당 메서드들을 구현하면 커스템 객체에 여러가지 파이썬 내장 함수나 연산자를 적용 가능 - 오버라이딩 가능한 함수 목록은 아래 링크에서 참조 https://docs.python.org/3/reference/datamodel.html https://docs.python.org/3/reference/datamodel.html#object.__add__ # Point # 2차원 좌표평면 각 점 (x,y) # 연산 # 두 점의 덧셈, 뺄셈 (1, 2) + (3, 4) = (4, 6) # 한 점과 숫자의 곱셈 (1, 2) * 3 = (3, 6) # 그 점의 길이 (0, 0) 부터의 거리 # x, y 값 가져오기 # 출력하기 class Poi..

공부 기록/끄적 노트

패스트캠퍼스 챌린지 24일차 | method type, 클래스 상속

method type - instance method : 객체로 호출 메서드는 객체 레벨로 호출되기 때문에, 해당 메서드를 호출한 객체에만 영향을 미침 - class method(static method) : 클래스로 호출 클래스 메서드의 경우 클래스 레벨로 호출되기 때문에, 클래스 멤버 변수만 변경 가능 class Math: @staticmethod def add(self, a, b): return a + b @staticmethod def multiply(self, a, b): return a * b m = Math() m.add(10, 20) m.multiply(10, 20) Class Inheritance (상속) - 기존에 정의해둔 클래스의 기능을 그대로 물려받을 수 있다. - 기존 클래스에 기..

공부 기록/끄적 노트

패스트캠퍼스 챌린지 23일차 | self 키워드, method

self - 파이썬의 method는 항상 첫번째 인자로 self 전달 - self는 현재 해당 메서드가 호출되는 객체 자신을 가리킴 - C++/C#, JAVA의 this에 해당 - 역시, 이름이 self일 필요는 없으나, 위치는 항상 맨 처음의 parameter이며, 관례적으로 self로 사용 class Person: def __init__(self, name, age): self.name = name self.age = age def sleep(self): print(self.name, '은 잠을 잡니다.') a = Person('Aaron', 20) b = Person('Bob', 30) print(a) print(b) a.sleep() b.sleep() method 정의 - 멤버 함수라고도 하며, ..

공부 기록/끄적 노트

패스트캠퍼스 챌린지 22일차 | 생성자(__init__) 이해 및 사용

__init__(self) - 생성자, 클래스 인스턴스가 생성될 때 호출됨 - self인자는 항상 첫번째에 오며 자기 자신을 가리킴 - 이름이 꼭 self일 필요는 없지만, 관례적으로 self로 사용 - 생성자에서는 해당 클래스가 다루는 데이터를 정의 : 이 데이터를 멤버 변수(member variable) 또는 속성(attribute)라고 함 class Person: def __init__(self): print(self, 'is generated') self.name = 'Kate' self.age = 10 p1 = Person() p2 = Person() print(p1.name, p1.age) p1.name = 'Aron' p1.age = 20 print(p1.name, p1.age) class ..

공부 기록/끄적 노트

패스트캠퍼스 챌린지 21일차 | 클래스, 오브젝트

'인간'이라는 타입(class) 이름, 국적, 나이는 속성(attribute) 먹다, 자다, 일어나다는 행동(method) 홍길동, 임꺽정 등 실제로 존재하는 객체(object) List라는 타입(class) items 속성(attribute) append, extend 행동(method) [1, 2, 3] ['Hello', 'World'] 실제로 존재하는 객체(object) class란? - 실세계의 것을 모델링하여 속성(attribute)과 동작(method)를 갖는 데이터 타입 - python에서 string, int, list, dict.. 모두가 다 클래스로 존재 - 예를 들어 학생이라는 클래스를 만든다면, 학생을 나타내는 속성과 학생이 행하는 행동을 함께 정의할 수 있음 - 따라서, 다루고자 ..

공부 기록/끄적 노트

패스트캠퍼스 챌린지 20일차 | 모듈의 사용 방법 import

모듈 임포트 - 그동안 사용했던 함수들처럼, 다양한 기능들이 미리 함수로 구현되어 모듈 형태로 제공 - 대표적으로 추후 과정에서 사용하게 될 아래의 모듈들이 존재 - requests - HTTP 요청/응답 모듈 - numpy - 수치해석 모듈 - pandas - 데이터 분석 모듈 import requests resp = requests.get('http://naver.com') resp.text import - import를 사용하여 해당 모듈 전체를 import import math print(math.pi) print(math.cos(100)) from import - 해당 모듈에서 특정한 타입만 import from math import pi from math import cos print(pi) ..

공부 기록/끄적 노트

패스트캠퍼스 챌린지 19일차 | 함수 연습문제 풀이

함수 연습문제 1. 주어진 숫자리스트의 평균을 구하는 함수를 출력하시오. 2. 해당 숫자가 소수인지 아닌지 판별하시오. 3. 2부터 해당 숫자 사이에 소수가 몇 개 있는지 출력하는 함수를 구하시오 # 입력 : 숫자 리스트 # 출력 : 숫자 리스트의 평균값 def mean(nums): _sum = 0 for i in nums: _sum += i return _sum / len(nums) print(mean([1, 2, 3])) print(mean([1, 2, 3, 4, 5])) print(mean([1, 2, 3, 4, 3.9, 8.7, 16.4, 20.6])) # sum 내장 함수로 대체 가능 def mean(nums): return sum(nums) / len(nums) print(mean([1, 2,..

공부 기록/끄적 노트

패스트캠퍼스 챌린지 18일차 | 람다 함수

Lambda 함수 - 단일문으로 표현되는 익명 함수 - 익명 함수란 이름이 없는 구현체만 존재하는 간단한 함수를 의미 - 코드 상에서 한 번만 사용되는 기능이 있을 때, 굳이 함수로 만들지 않고 1회성으로 만들어서 쓸 때 사용 square = lambda x:x**2 type(square) print(square(5)) def add(x, y): return x + y add2 = lambda x,y:x+y add2(10, 20) strings = ['bob', 'charles', 'alexander3', 'teddy'] # strings.sort(key=str_len) strings.sort(key=lambda s:len(s)) print(strings) filter, map, reduce - lamb..

공부 기록/끄적 노트

패스트캠퍼스 챌린지 17일차 | 가변 길이 인자 함수

variable length argument (가변 길이 인자) - 전달되는 파라미터의 개수가 고정적이지 않은 경우 사용 - print 함수, format 함수 등 - *args : 파라미터를 튜플의 형태로 전달 - **kwargs : 파라미터를 딕셔너리 형태로 전달 (네임드 파라미터) print() print(1) print(1, 2) print(1, 2, 3) print(1, 2, 3, 4) print(1, 2, 3, 4, 5) def test(*args): print(type(args)) for item in args: print(item) test(10, 20, 30) keyword parameter (키워드 파라미터) - **가 붙은 경우에는 키워드 파라미터로 인식 - 즉 함수 호출 시, 파라미..

우준성
'공부 기록/끄적 노트' 카테고리의 글 목록