본문 바로가기

분류 전체보기108

3-1. Least Squares Problem 본 글은 주재걸교수님의 인공지능을 위한 선형대수 강의를 듣고 정리한 내용입니다. Over-determined Linear Systems (#equations ≫ #variables) 보통의 경우 solution이 없음 근사적인 해를 구해 보는 것이 Least Squares Problem의 기본 개념 가장 근사치의 해를 어떻게 정의할 것인가? 1. Inner Product(내적) Let 𝐮, 𝐯, and 𝐰 be vectors in ℝ𝑛 , and let 𝑐 be a scalar. a) 𝐮 ∙ 𝐯 = 𝐯 ∙ 𝐮 (교환 법칙) b) (𝐮 + 𝐯) ∙ 𝐰 = 𝐮 ∙ 𝐰 + 𝐯 ∙ 𝐰 (분배 법칙) c) (𝑐𝐮) ∙ 𝐯 = 𝑐(𝐮 ∙ 𝐯) = 𝐮 ∙ (𝑐𝐯) (상수의 곱) d) 𝐮 ∙ 𝐮 ≥ 𝟎, and 𝐮 ∙.. 2022. 1. 1.
2-6. 전사함수와 일대일함수 본 글은 주재걸교수님의 인공지능을 위한 선형대수 강의를 듣고 정리한 내용입니다. ONTO(전사) 공역과 치역이 같은 경우 공역중 어떤 값이든 정의역 1개 이상과 대응해야 한다. 입력 벡터의 dimension이 출력 벡터의 dimension보다 같거나 높아야 한다. One-to-One(1대1 함수) ONTO일 필요는 없음 치역은 정의역으로부터 하나의 화살표만을 받아야 한다. input의 차원이 output의 차원보다 작거나 같아야 One-to-One의 가능성이 생긴다. Linearly Independently와 같은 의미를 가진다. 출처: https://www.edwith.org/ai251 2021. 12. 30.
Git, Github GIt : 개발을 진행하며 작성하는 소스코드가 업데이트 되는 버전을 기록해두고 관리할 수 있는 소스코드 버전 관리 시스템 Github : Git으로 관리하는 프로젝트를 호스팅하고, 시간과 공간의 제약 없이 협업할 수 있는 온라인 서비스 Git이 버전 기록을 저장한다면, Github에서는 그 기록을 다른 사람과 함께 공유하며 협업할 수 있다. 로컬에서 작업한 내용을 Git이 저장해 두었다면, 그 기록을 온라인 작업공간인 Github에 올려 원격으로도 작업할 수 있도록 한다. Github 사용하기 로컬의 Git에 Github의 계정 정보 등록하기 git config --global user.email "my-email@gmail.com" git config --global user.name "my-usern.. 2021. 12. 30.
프로그래밍 패러다임 패러다임 : 어떤 한 시대의 사람들이 견해나 사고를 근본적으로 규정하고 있는 테두리를 말하며, 인식의 체계 또는 사물에 대한 이론적인 틀이나 체계를 의미하는 개념 프로그래밍 패러다임 : 프로그래머에게 프로그래밍의 관점을 갖게 해주고, 결정하는 역할 언어에 따라 하나 혹은 여러개의 패러다임을 지원함 프로그래밍 패러다임 절차 지향 프로그래밍 : 일이 진행되는 순서대로 프로그래밍 하는 방법 장점 : 코드가 순차적으로 작성되어 있어 순서대로 읽기만 하면 이해 가능 단점 : 순차적으로 작성되어 있기 때문에 위에서 하나가 잘못되면 아래도 연쇄적으로 문제가 생겨 유지보수가 어려움 객체 지향 프로그래밍 : 개발자가 프로그램을 상호작용하는 객체들의 집합으로 볼 수 있게 함. 객체를 먼저 작성하고 함수 작성 장점 : 코드.. 2021. 12. 30.
클래스, 모듈, 패키지 클래스(Class) 비슷한 역할을 하는 함수들의 집합 RPG 게임의 비슷한 특성을 가지는 스킬들을 모아놓은 '직업'과 유사한 개념 모듈(Module) 함수, 변수, 클래스를 모아놓은 파일. 즉, 코드의 저장소 이미 만들어져 있는 모듈은 가져와 쓸 수 있고, 직접 만들어서 사용 가능 # mycalculator.py test = 'you can use this module' def add(a, b): return a + b def mul(a, b): return a * b def sub(a, b): return a - b def div(a, b): return a / b class all_calc(): def __init__(self, a, b): self.a = a self.b = b def add(sel.. 2021. 12. 30.
MultiProcessing Multiprocessing 은 컴퓨터가 작업을 처리하는 속도를 높여주는 방법 중 하나이다. 예시를 들자면 하나의 자전거를 이용해 여러명이 한명씩 순차적으로 목적지에 가다가, 여러 자전거를 이용해서 여러명이 동시에 목적지에 도달하는 것. parrallel processing : 병렬 처리 serial processing : 순차 처리 Serial Processing import time num_list = ['p1','p2','p3','p4'] start = time.time() def count(name): for i in range(100000000): a = 1 + 2 for num in num_list: count(num) print("time :", time.time() - start) >>> .. 2021. 12. 30.