Loading [MathJax]/jax/output/CommonHTML/jax.js
본문 바로가기

[DAY3] AI math 2. 행렬이 뭐예요? (전치, 행렬곱, 역행렬, 유사역행렬) 행렬 Matrix 여러 백터들을 원소로 가지는 2차원 배열 여러 점들 x=np.array([[1,2,3], [4,5,6]]) 2개의 행 벡터가 하나의 배열안에 담겨있다. numpy에서는 행이 기본 단위, 기준이 된다. 그래서 행열이 [[1,2,3], [4,5,6], [7,8,9]] 처럼 표현하게 된다. 행 row 열 column n X m 행렬이라고 하면 n 개의 행과 m개의 열의 크기를 가진 행렬임을 알 수 있다. [[1,2,3] [4,5,6]] 이면 2 X 3 행렬이다. X = (xij)로 표기하기도 한다 원소 xij i는 행의 index, j는 열의 index = i번째 행, j번째 열에 있는 원소이다. 보통 행렬의 한 원소는 소문자로 표시하..
[Day3] AI math 1. 벡터가 뭐예요? (스칼라곱, 연산, 성분곱, norm, L1, L2, 거리, 각도, 내적) Vector :숫자를 원소로 가지는 리스트 :공간에서 한 점 : 1차원이든 5차원이든 한 점으로 나타난다. 원점에서부터 그 위치(점)까지 연결된 화살표로 표현한다. 열벡터 : 세로벡터 ex) [1,] [2,] [3] 행벡터 : 가로벡터 ex) [1, 2, 3] import numpy as np x=np.array([1,2,3]) 벡터의 차원 각 벡터안의 숫자들의 갯수 ex) [1,2,3] =>3차원 스칼라곱 각 구성성분에 스칼라값을 곱해주게 된다. 방향은 그대로이고 길이만 늘어나거나 줄어든다. x=np.array([1,2,3]) #a*x=[a*1,a*2,a*3] print(2*x) >>>[2 4 6] 스칼라를 a라고 생각하면 된다. 벡터의 덧셈과 뺄셈 각 구성성분끼리의 덧셈이나 뺄셈 같은 형태(모양)이어..
[Day2] Python 2-4. String and advanced function concept : String, Call by Object Reference, Function, Recursive Function, Fuction type hints, Docstring, 함수 작성 가이드라인, 좋은 코드 쓰는 법 String 문자형 데이터 시퀀스 자료형 한 글자에 1byte(=8bit =256까지 표현 가능) 차지 1. Indexing 문자열의 각 문자 하나하나가 list의 element처럼 생각하면 된다 각 문자는 개별 주소(offset)을 갖는다 s='asdf' print(s[-2]) >>>d 2. Slicing a='Last Checkpoint: 5시간 전(unsaved changes)' a[15:30] >>>': 5시간 전(unsaved' 주소값을 기반으로 문자열의 일부만 가져올 수 있다 3. 포함 여부 검사 s='asdf' 'f' in s >>>True 4. 문자열 함수 엄청 많은 문자열 함수가 있다 잘 활용하자,, isdigit() title() split() lower() count() 5. 문자열 ..
[Day2] Python 2-3. Conditionals and Loops : Condition, Loop, debugging Condition 조건에 따라 특정한 동작을 하게하는 명령어 if, else, elif를 사용 1. if-else문 문법 if 조건: 명령 else: 명령 조건이 참이면 if문 아래의 명령이 실행되고, 거짓이면 else문 아래의 명령이 실행된다. 2. 비교연산자 >,=,>>True a is b >>>True a=[1,2] b=a[:] a==b >>>True a is b >>>False a=300 b=300 a==b >>>True a is b >>>False python은 자주 사용하는 수 -5~256을 정적 메모리에 저장해두고 사용하는데 그 외의 수는 사용할 때마다 할당되어서 다른 메모리 주소를 가지게 된다. 3. 숫자, 문자가 조건으로 들어갈 때 if 1: print("True") >>>True if ..
[Day2] Python 2-2. Function and Console I/O : 함수, Console in / out 함수 어떤 일을 수행하는 코드 덩어리 장점 : 코드 재사용을 할 수 있고, 분리 시킬 수 있다 캡슐화 코드를 나누어 놓는 것 구조 def 함수이름 (파라미터1 ,파라미터2): 코드 return 반환값 파라미터 : 입력값에 대한 interface argument : 실제 parameter에 대입된 값 def f(x): return 2*x+7 def g(x): return x**2 x=2 result=f(x)+g(x)+f(g(x))+g(f(x)) print(result) 이 코드에서 argument는 x인 2가 된다. return값이나 parameter은 존재하지 않을 수 있다. 함수는 상단에 적는 것이 좋다. 함수와 함수사이는 2줄씩 띄워 적는다. Console in / out 1. input() 사용자가..
[Day2] Python 2-1. Variables : Variable & memory, List Variable 1. 변수 : Variables 값을 저장하기 위한 메모리 공간 a=5 5가 값, a가 메모리 공간의 이름이자 변수 변수는 메모리 주소를 가지고 있고, 값은 메모리 주소에 할당된다. 2. 변수 이름 작명법 예약어 불가 대소문자 구문 의미 있는 단어로 표시 ex) aaa,axx 같은 것은 별로 좋지 않다 _, 영어 대소문자, 숫자 가능 3. 기본 자료형 : primitive data types integer : 정수형 : 양의정수와 음의정수와 0 : 32bit float : 실수형 : 소수점이 포함된 실수 string : 문자형 : ""이나 '' 로 묶인 문자 boolean : 참 또는 거짓 두 가지 값으로만 이루어짐 : a=True a=True type(a) type() 으로 자료형을 알..
[Day1] Python 1-3. 파이썬 코딩 환경 : Anaconda, VSCode, Jupyter Notebook 1. Anaconda 아나콘다는 너무 커서 miniconda를 추천 설치하고 난 후 window키 눌러서 anaconda 검색해서 프롬프트 들어가면 파이썬을 실행시킬 수 있다. (base) C:\Users\개인아이디>python Python 3.8.5 (default, Sep 3 2020, 21:29:08) [MSC v.1916 64 bit (AMD64)] :: Anaconda, Inc. on win32 Type "help", "copyright", "credits" or "license" for more information. >>> a=23 >>> b=1 >>> print(a+b) 24 >>> exit() 혹은 (base) C:\Users\fjdks>conda activate base (base) C..
[Day1] Python 1-2. 파이썬 개요 1. python 의 시작 c로 구현됨 인터프리터 언어 객체지향 플랫폼 독립적 PEP : 파이썬의 개선 사항 2. 플랫폼 독립적인 인터프리터 언어 플랫폼 = OS 운영체제에 상관없이 돌아가는 언어다. 언어를 해석하는 인터프리터가 운영체제에 맞게 번역을 한다. 적절한 인터프리터만 설치하면 운영체제에 독립적이게 실행 가능하다. 컴파일러 언어 프로그램을 운영체제에 맞춰 먼저 기계어로 번역을 함. 그 뒤에 실행. 인터프리터 언어 번역과정이 없는 것처럼 바로 실행됨. 실행시점에 번역과 실행을 같이 한다. 그때그때 번역과 실행이 되기 때문에 조금 느리다. 3. 객체 지향 동적 타이핑 언어 객체 지향적 언어 실행 순서중심이 아닌 모듈 중심으로된 언어 method(행동)과 attribute(속성)을 가짐 동적 타이핑 ..