본문 바로가기
반응형

분류 전체보기77

수학 기초 개념 : 삼각함수 삼각함수는 각도의 크기와 삼각형의 변의 길이 사이의 관계를 설명하는 함수다. 쉽게 표현하면 각의 크기에 따라 값이 달라지는 함수, 즉 각의 크기가 변수인 함수를 말한다. 가장 일반적인 삼각함수로는 사인(sin), 코사인(cos), 탄젠트(tan)가 있다. 이들은 삼각형의 각도와 변의 비율을 사용해서 계산된다. 그림 1에서 내각 θ를 고정했을 때 변의 길이가 달라지더라도 삼각형의 모양 자체는 큰 변화가 없다. x/r, y/r 같은 변 간의 비율은 일정하게 유지되는데 이때의 비율을 삼각비(trigonometry ratio)라고 한다. 삼각비는 각도 θ에 따라 달라진다. 사인(sin): sin은 임의의 각 θ에 대해 직각삼각형에서 빗변에 대한 대변의 비율이다. 즉, sin(θ) = y/r 이다. 코사인(cos.. 2023. 7. 3.
PP-OCR 기술 리뷰 PP-OCR은 바이두에서 개발한 광학 문자 인식 (OCR: Optical Character Recognition) 시스템이다. 2020년에 PP-OCRv1이 나오고 현재 v3까지 업데이트되었다. PP-OCR은 PaddleOCR 이라는 프레임워크로 github에 공개되어있다. 그림 1처럼 OCR과 문서 인식을 위한 다양한 알고리즘을 제공한다. Apache 라이센스라서 원래의 저작자만 명시한다면 이를 가져다 써도 문제는 없다. 하지만 중국에서 개발한 것이라 국내 환경에는 적합하지 않은 테스트 케이스가 많다. 프레임워크화는 잘되어있어서 개인적으로 여기서 제공하는 알고리즘을 실험해보기엔 나쁘지 않은것 같다. 또 논문에서는 경량화된 OCR 시스템을 만들기위해 많은 노력을 쏟았다. PPOCRv1 PPOCRv1은 2.. 2023. 7. 3.
python 성능 최적화 코드 작성 방법 적절한 자료 구조 사용 Python에서 자료 구조를 적절하게 사용하는 것은 코드의 성능을 향상시킬 수 있는 중요한 방법이다. 예를 들면 Python에서는 리스트 컴프리헨션을 사용하는 것이 map 함수나 일반적인 for 루프를 사용하는 것보다 일반적으로 더 빠르다. numbers = range(1, 1000000) # for loop 사용 def square_for_loop(numbers): squares = [] for n in numbers: squares.append(n * n) return squares # map 함수 사용 def square_map(numbers): return list(map(lambda n: n * n, numbers)) # 리스트 컴프리헨션 사용 def square_comp.. 2023. 6. 30.
선형대수 기초 : 선형 변환과 고유값, 고유벡터 선형 변환 선형 변환은 수학적으로 벡터에 행렬을 곱해서 또 다른 벡터를 만드는 함수를 말한다. 다르게 표현하자면 하나의 벡터 공간에서 또 다른 벡터 공간으로, 벡터의 특징을 유지한 채 변환하는 방법이라고 할 수 있다. 선형 변환은 두 가지 중요한 성질, 스칼라 곱과 벡터 덧셈에 대한 '선형성'을 유지해야 한다. 선형 변환은 많은 수학적, 물리적 문맥에서 중요하게 사용된다. 예를 들어, 회전, 스케일링, 반사 등은 모두 벡터 공간에서의 선형 변환의 예다. 선형 변환은 행렬을 이용하여 간편하게 표현할 수 있다. 행렬 곱셈은 사실상 선형 변환의 일종이다. 특히, n차원 벡터에 대한 선형 변환은 n x n 행렬로 표현될 수 있으며, 이 행렬을 해당 벡터에 곱함으로써 변환된 벡터를 얻을 수 있다. 인공지능 분야에.. 2023. 6. 29.
선형대수 기초 : 벡터와 행렬 선형대수학은 벡터 공간(vector space)과 선형 변환(linear transformation)을 중심으로 한 학문 체계를 말한다. 선형대수는 방대한 양의 데이터나 복잡한 시스템을 비교적 간단하게 표현할 수 있을뿐만 아니라 컴퓨터로 계산하기도 쉽다. 선형대수학의 주요 개념은 다음과 같다. 벡터와 벡터 공간 (Vector and Vector Space): 벡터는 크기와 방향을 가진 물리적 개념으로 시작되었지만, 고차원 공간에서의 점이나 방향을 나타내는 추상적 개념이기도 하다. 벡터 공간은 벡터의 집합으로, 벡터 간의 덧셈과 스칼라 곱셈이 정의되어있다. 행렬 (Matrix): 행렬은 숫자, 심볼, 수식 등을 직사각형 형태로 배열한 것이다. 행렬은 선형 변환을 나타내는 주요 도구이며, 연립 방정식의 계수.. 2023. 6. 28.
PyCharm 단축키 PyCharm은 Python의 대표적인 통합 개발 환경 (IDE) 중 하나입니다. PyCharm에서 자주 사용하는 유용한 단축키를 포스팅합니다. 북마크 북마크 단축키 (F11) : 클릭하면 해당 위치를 기억해서 바로 찾을 수 있다. 아래 그림에서 체크 표시는 북마크가 지정되었다는 의미를 나타낸다. 북마크 모두보기 (Shift+F11) : 북마크를 지정한 코드를 모두 볼 수 있다. 검색 찾기 (Ctrl+f) : 해당 파일에서 원하는 글자가 들어간 곳을 찾을 수 있다. 모든 파일에서 찾기 (Ctrl+Shift+f) : 모든 파일에서 원하는 글자가 들어간 곳을 찾을 수 있다. 지정한 함수로 넘어가기 (Ctrl+B, Ctrl+마우스왼쪽클릭) 특정 라인으로 이동 (Ctrl+G) : 지정한 라인으로 이동한다. 디버.. 2023. 6. 28.
반응형