반응형

전체 글 125

2. Mathematics for ML - (2) Eigenvalues and Eigenvectors

Part 1. Matrix Decomposition (2) Eigenvalues and  Eigenvectors matrix A가 주어졌을 때, 아래의 식을 만족한다면 λ를 eigenvalue,  x를 eigenvector라고 합니다. Eigenvalue(λ)를 구하고 싶을 때, det(A-λIn) = 0을 풀면 값을 구할 수 있습니다.    eigenvalue는 determinant를 통해 구할 수 있습니다.* span: ( 2 1 ) vector에 어떠한 constant c를 곱해도 eigenvector가 된다는 것 !* eigenvectors들은 unique하지 않다 !   Determinant는 eigenvalue들의 곱셈으로 표현됩니다. Trace는 eigenvalue들의 덧셈으로 표현됩니다. ..

LG aimers 2024.07.10

2. Mathematics for ML - (1) Determinant and Trace

Part 1. Matrix Decomposition (1) Determinant and Trace * extra행렬식은 영어로 determinant라고 합니다. 그 의미를 파악하기 위해 먼저, 간단하게 2 * 2 행렬을 살펴봅시다.첫 행렬로 (1,0), (0,1) 두 벡터로 구성된 행렬을 봅시다. 이 두 벡터를 좌표공간에 표현하면 아래 그림의 좌측과 같은 행태로 그릴 수 있습니다. 그리고 두 벡터를 이용해 만들 수 있는 우측 도형의 면적이 해당 행렬의 행렬식의 절대값 입니다. 이렇게, 행렬식의 절대값은 이 도형의 면적을 의미합니다.  Determinant는 오직 정방행렬에 대해서만 정의된다. 정방행렬 A의 determinant란 A를 실수로 mapping하는 함수이다. 정방행렬 A가 invertible인..

LG aimers 2024.07.10

1. AI 윤리

데이터 분석과 AI 학습에서 유의할 점1. 데이터의 확보, 전처리, 분석, 해석의 전 과정이 중요* 고품질의 데이터가 입력되었을 때 학습 결과도 유의미하며, 데이터가 가지는 오차 범위와 특이점, 대표성에 대한 충분한 이해를 가지고 접근해야 함 2. 알고리즘의 설명력, 편향, 신뢰의 문제에 주의 * 블랙박스 알고리즘이 실제 사회에서 사용되기 위해서는 많은 경우 설명력 보강이 필요하며,노이즈와 데이터 가변성에도 대처 가능한 알고리즘을 개발하도록 노력* AI가 다양한 사회 서비스에서 인간 결정을 돕거나 대체함에 따라윤리적 의사결정이 확보되도록 점검

LG aimers 2024.07.10

Fast Tokenizer

Slow Tokenizer와 Fast tokenizer'slow' tokenizer는 Transformers 라이브러리 내부에서 Python으로 작성된 것, 'fast' tokenizer는 Rust로 작성되어 Tokenizers에서 제공하는 것입니다. 단일 문장을 토큰화할 때 동일한 토크나이저의 느린 버전과 빠른 버전 간의 속도 차이가 항상 나는 것은 아닙니다. 사실, 빠른 버전은 실제로 더 느릴 수 있습니다. 많은 텍스트를 동시에 토큰화할 때만 차이를 명확하게 알 수 있습니다.   Batch Encoding토크나이저의 출력은 단순한 python 딕셔너리가 아닙니다. 우리가 얻는 것은 실제로 특별한 batch encoding 객체입니다. 빠른 토크나이저에서 주로 사용하는 추가 메서드가 있습니다. 병렬화(..

오토인코더(Auto Encoder) ・ Variational 오토인코더

오토인코더란 ? 오토인코더(AutoEncoder)란 입력이 들어왔을 때, 해당 입력 데이터를 최대한 compression 시킨 후, compressed data를 다시 본래의 입력 형태로 복원 시키는 신경망입니다. 이때, 데이터를 압축하는 부분을 Encoder라고 하고, 복원하는 부분을 Decoder라고 부릅니다. 압축 과정에서 추출한 의미 있는 데이터 Z를 보통 latent vector라고 부릅니다. 왜 이름이 오토인코더일까요 ? 다음 그림을 예시로 설명드리겠습니다. 위의 그림은 Auto Encoder의 결과를 시각화한 이미지입니다. 자세히보면 y축으로 두께가 변하고, x축으로는 기울기가 변하는 것을 확인할 수 있습니다. 이를 통해 이 모델의 latent vector는 두께, 회전, Class로 정의되..

[python] 1158. 요세푸스 문제

문제: https://www.acmicpc.net/problem/1158 풀이  리스트 회전을 구현하는 법을 알면 어려운 문제는 아니였습니다.# *** 으로 표시한 부분을 주의하여 구현하면 되는 문제입니다. # pop 해야 할 원소를 list의 가장 마지막으로 옮기고 pop = O(1)N, K = map(int, input().split())arr = [i for i in range(1, N+1)]idx = 0 # 제거될 사람의 인덱스 번호ans = []for i in range(N): idx = (idx + K-1) % len(arr) # *** ans.append(arr.pop(idx))ans[0] = ""print(*ans, sep= ', ')

[프로그래머스] level1. 크레인 인형뽑기 게임

문제:  https://school.programmers.co.kr/learn/courses/30/lessons/64061 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 풀이 문제의 풀이는 아래의 두 가지가 있습니다.비슷한 방법입니다. 행렬을 transpose하는 것이 아니라, moves에서 인덱스 값을 받아와서 처리합니다. def solution(board, moves): nrow, ncol = len(board), len(board[0]) stack = [] cnt = 0 for m in moves: # [1,5,3,5,1,2,1,4..

쿠버네티스(Kubernetes) ・ 도커(Docker)

쿠버네티스란 ? 쿠버네티스를 간단히 말하면, 컨테이너화된 워크로드와 서비스를 관리하기 위한 이식성이 있고 확장 가능한 오픈소스 플랫폼입니다. 일단 쿠버네티스가 무엇이고 등장 배경과 애플리케이션 배포 환경의 변화를 살펴보도록 하겠습니다. 애플리케이션 배포 환경의 변화 프로그램을 개발한 후, 사람들에게 서비스를 제공하려면 특정 서버에 본인이 만든 소프트웨어를 배포해야 합니다. 이 '배포' 방식의 변화 과정을 이해하는 것이 컨테이너, 도커, 쿠버네티스의 개념을 이해하는데 있어서 굉장히 중요합니다.   Container Deployment(컨테이너 배포) 시대로 오기까지의 여정  1. 전통적인 방식(Traditional Deployment)가장 오래되고 단순한 방식물리적인 컴퓨터 한 대에 하나의 OS를 설치하고..

Computer Science 2024.06.17

코딩 테스트 완전 정복 ・ 스택

스택의 ADT라는 것을 정의해보고 실제 스택이 동작하는 원리를 설명해보겠습니다.ADT는 abstract data type (추상 자료형)입니다. 추상 자료형이란 인터페이스만 있고 실제로 구현은 되지 않은 자료형 입니다. 언어에 따라 표준 라이브러리에서 스택 제공 여부는 다릅니다. 파이썬의 경우 스택을 제공하진 않지만 대안으로 리스트 메서드인 append() 메서드, push() 메서드로 스택을 대체할 수 있습니다. deque은 한쪽으로만 데이터 삽입, 삭제 할 수 있는 스택과는 다르게 양쪽에서 데이터를 삽입하거나 삭제할 수 있는 자료구조 입니다. 스택의 ADT(연산과 상태)스택 세부 동작에 대해 자세히 알아보기 스택에 데이터를 추가하는 경우를 생각해봅시다. 푸시 연산을 수행할 때  스택 내부에서 일어나는..

[프로그래머스] level2. 방문 길이

문제: https://school.programmers.co.kr/learn/courses/30/lessons/49994 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr  풀이  중복 경로의 길이를 제외한 움직인 경로의 길이를 반환 ***1. 중복 경로는 최종 길이에 포함하지 않음 = 중복 포함하지 않을 때 set() 사용 고려2. 음수 좌표 포함하지 않음 = 2차원 배열에서 음수 인덱스 사용 안함원점을 (0,0)에서 (5,5)로 바꿔도 됨 def is_valid_move(dx, dy): # 좌표평면을 벗어나는지 체크하는 함수 return 0

728x90
반응형