Week02 Day07
미분
어떤 함수의 정의역 속 각 점에서 함숫값의 변화량과 독립 변숫값의 변화량 비의 극한 혹은 극한들로 치역이 구성되는 새로운 함수다.
어떤 함수의 미분 계수 또는 순간 변화율을 구하는 것을 의미하며 미분 계수는 독립 변수 x의 증분에 관한 함숫값 ƒ(x)의 증분의 비가 한없이 일정한 값에 가까워질 때 그 일정한 값, 즉 함수에서 변수 x값의 변화량에 관한 함숫값 ƒ(x)의 변화량 비가 한없이 일정한 값에 가까워질 때 그 일정한 값 dy/dx로 나타낸다.
미분은 비선형 함수를 선형함수로 근사적으로 나타내려는 시도이다.1
위키피디아 정의는 다소 어렵다.
미분을 단순하게 순간변화율 혹은 접선의 기울기 혹은 강...
Week02 Day06
numpy
numerical python의 약자이며 python의 고성능 과학 계산용 라이브러리이다.
선형대수 및 여러 통계와 관련된 함수를 제공한다.
numpy에서 배열(array)를 ndarray라 부른다.
ndarray의 값들은 list와 달리 모두 동일한 데이터 타입을 가진다.
또한 정형화된 배열이다.
import numpy as np
# shape은 ndarray의 각 axis의 차원 수를 나타낸다.
# axis는 ndarray의 축을 나타내며 축에 따라 몇차원인지를 나타낸다.
# 여기서는 axis=0 일때 2차원, axis=1 일때 3차원을 나타낸다.
arr = np.array([1, 2, 3], [4...
Week01 Weekend
BoostCamp의 첫주가 지났다.
python의 기초적인 내용을 배웠다.
알고 있는 내용이 많았지만 정확히 아는게 아니라 수업에 없는 내용은 따로 찾아서 공부하고 정리했다.
여러 블로그와 stackoverflow를 참고했는데 확 와닫는 설명이 없어서 이해될때까지 찾아봤다.
이 중에서 iterator class는 __iter__와 __next__ 메소드를 구현해야 되는데 왜 __iter__ 메소드는 자기자신(self)를 반환하는지 이해가 안됬다.
책도 찾아보고 많은 글을 찾아봤지만 명확하게 이해되지 않았다.
사실 왜 iterator에 __iter__ 메소드를 구현해야되는지도 이해가 안된다…
이 부분은 좀 더 시간을...
Week01 Day05
예외처리
에러는 프로그램을 중지시키므로 치명적이며 예상한 부분과 그렇지 못한 부분에서 발생한다.
예상한 부분에서의 예외처리는 조건문을 이용해 처리할 수 있다.
하지만 권장하는 방법은 try - exception을 이용하는 것이다.
# 0으로 나누면 ZeroDivisionError가 발생한다.
# 에러가 날 것으로 예상되는 코드를 try 이하에 작성한다.
# 이 부분에서 에러가 발생하면 except 이하의 코드가 실행된다.
# 또한 발생한 에러가 첫번째 예외상황(ZeroDivisionError)에 해당되지 않는다면 다음 예외상황(ValueError)으로 넘어간다.
# 만약 해당되지 않는다면 에러를 발생하며 프로그램이...
Week01 Day04
OOP(Object-Oriented Programming)
객체 지향 프로그래밍(영어: Object-Oriented Programming, OOP)은 컴퓨터 프로그래밍의 패러다임 중 하나이다.
컴퓨터 프로그램을 명령어의 목록으로 보는 시각에서 벗어나 여러 개의 독립된 단위, 즉 “객체“들의 모임으로 파악하고자 하는 것이다.
각각의 객체는 메시지를 주고받고, 데이터를 처리할 수 있다.1
프로그래밍에서 필요한 데이터를 추상화시켜 상태와 행위를 가진 객체를 만들고 그 객체들 간의 유기적인 상호작용을 통해 로직을 구성하는 프로그래밍 방법이다.2
OOP에서 클래스와 객체라는 개념이 등장한다.
...
Week01 Day03
stack
나중에 들어온 데이터가 먼저 나간다.
Last in First Out
queue
먼저 들어온 데이터가 먼저 나간다.
First in First Out
tuple
변경할 수 없는 list이며 tuple 내 요소를 제거하거나 추가할 수 없다.
바뀌면 안되는 데이터를 저장하여 개발자가 변경하는 실수를 피할 수 있다.
set
입력하는 순서를 고려하지 않고 중복을 허용하지 않는다.
수학에서의 set과 매우 유사하다.
dict
데이터를 저장할 때 구분할 수 있는 값을 함께 저장하며 이 값을 key라 하고 이때 데이터를 key라고 한다.
즉, 구분하기 위해 같은 key값의 중복을 허용하지 않는다.
colle...
Week01 Day02
변수(Variables)
값을 저장하는 장소
메모리 주소를 가지고 있고 변수에 할당되는 값은 메모리 주소가 가리키는 곳에 저장된다.
기본 데이터 타입(primitive data-type)
정수(integer), 실수(float), 문자열(string), 논리형(boolean)이 있다.
동적 타이핑(dynamic typing)
코드가 실행되는 시점에서 변수의 데이터 타입을 결정한다.
즉, 실행하지 전까지 A라는 변수가 어떤 타입인지 모른다.
코드의 유연함과 편리성이 증가하지만 이로 인해 오류가 발생할 수 있다.
고정소수점(fixed point)
컴퓨터는 2진수로 데이터를 저장한다.
예를 들어 10진수의 14을 ...
Week01 Day00-01
부스트캠프 첫날이다.
2021-01-18 ~ 2021-03-19 동안 U stage가 진행된다.
이 과정에서 python 기초, 선형대수, 확률 및 통계를 python으로 구현해보며 data handling을 위한 library를 배운다.
또한 딥러닝 프레임워크로 pytorch를 사용하며 이에 대한 기초적인 것을 배운다.
비전공자들을 위한 강의이므로 자세하게 설명해 주신다.
나 포함 6명이 한 조로 이루어 졌다.
여기에 조마다 멘토님이 계셔서 모르는 것을 질문할 수 있다.
오늘 배운 것을 정리해봤다.
운영체제
프로그램이 동작할 수 있는 구동 환경.
따라서 프로그램들은 운영체제에 의존적이다.
예를 들...
전체 글 65개, 9 페이지