일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 모델평가지표
- 쓰레기분류
- 네이버부스트 캠프
- 영수증 ocr
- 스케치이미지
- 객체탐지
- 일기장
- 다국어 ocr
- imageclassification
- 네이버 부스트캠프
- 9095번
- 부스트캠프
- Diffusion
- 재활용 품목분류
- 1149번
- 코드트리
- 스케치데이터셋
- 백준
- zero-shot classification
- object detection
- dp
- 학습장
- 회귀모델
- 타일링2
- pytorch
- 11727번
- Aimers
- 머신러닝 사이클
- 네부캠
- 네이버부스트캠프
- Today
- Total
목록2024/08 (11)
john8538 님의 블로그

https://www.acmicpc.net/problem/1149 동적계획법 즉 DP를 활용하여 문제를 해결할 수 있다. 그림을 통하여 문제를 조금 더 간편하게 이해해보자. 문제 이해N개의 집이 있고, 각 집은 빨강(R), 초록(G), 파랑(B) 중 하나의 색으로 칠해야 한다.인접한 집들은 서로 다른 색으로 칠해져야 한다.각 집을 각 색으로 칠하는 비용이 주어진다.목표는 모든 규칙을 만족하면서 전체 비용을 최소화하는 것.해결 접근 방식 (동적 프로그래밍)그림에서 보이듯이, 각 단계(집)마다 3가지 선택(R, G, B)이 존재.각 단계에서의 최소 비용은 이전 단계의 결과에 의존.따라서 이를 해결하려면 전에 단계에서 가져올 수 있는 숫자중 최소를 구한 후, 현재 위치와 더하면 된다!이를 계속 한 행..

https://www.acmicpc.net/problem/11727 우선 문제에 접근해보자. 2×n 직사각형을 1×2, 2×1과 2×2 타일로 채우는 방법의 수를 구하는 프로그램을 작성해야한다.규칙을 그림을 통하여 그려보았다. 2x3을 보게 된다면 규칙을 쉽게 찾을 수 있다. 앞서 구한 2x2에서 2x1이 오른쪽으로 붙어 2x3이 되는 경우와 2x1이 왼쪽으로 붙어 2x3이 되는 경우총 2가지가 존재한다. 따라서 2x2에서 구한 3개에 2x1(2개)를 더해 총 5개가 된다.2x4를 생각해보자. 2x3에서 2x1이 붙는 경우와 2x2에서 2개씩 결합하는 경우가 존재해 총 11개가 된다.이를 점화식으로 구해보자. A(n) = A(n-1) + (2 X A(n-2)) 가 된다.이를 코드로 작성하자. n = ..

https://www.acmicpc.net/problem/9095DP란?Divide-And-Conquer : Top-down approach나누어진 부분들 사이에 서로 상관관계가 없는 문제를 해결하는데 적합피보나치 알고리즘의 경우에는 나눈어진 부분들이 서로 연관이 있다.즉, 분할정복식 방법을 적용하여 알고리즘을 설계하게 되면 같은 항을 한 번 이상 계산하는 결과를 초래하게 되므로 효율적이지 않다. 따라서 이 경우에는 분할정복식 방법은 적합하지 않다. Dynamic programming: bottom-up approach큰 문제를 작은 문제로 나눈 다는 점은 Divde-And-Conquer와 동일하다.그러나 작은 문제를 먼저 해결하고, 그 결과를 저장한 다음, 후에 그 결과가 필요할 때마다 다시 계산하는 ..

회귀 모델의 성능을 평가하는 데 사용되는 주요 지표들에 대해 자세히 알아보겠습니다. 이 지표들은 모델의 예측이 실제 값과 얼마나 가까운지, 그리고 모델이 데이터의 변동성을 얼마나 잘 설명하는지를 측정합니다.1. 평균 절대 오차 (Mean Absolute Error, MAE)MAE는 예측값과 실제값 차이의 절대값 평균을 계산합니다.수식:여기서:n은 데이터 포인트의 수y_i는 실제값ŷ_i는 예측값특징:해석이 직관적이고 쉽습니다.오차의 단위가 원래 변수의 단위와 동일합니다.이상치에 비교적 덜 민감합니다.사용 사례:예측 오차의 평균적인 크기를 쉽게 이해해야 할 때이상치의 영향을 줄이고 싶을 때2. 평균 제곱 오차 (Mean Squared Error, MSE)MSE는 예측값과 실제값 차이의 제곱의 평균을 계산합니..

01) 머신러닝이란?Tom Mitchell(1998)의 정의에 따르면, 머신러닝은 "경험 E로부터 학습하여 작업 T에 대한 성능 P를 향상시키는 시스템"입니다. 즉, 데이터(경험)를 통해 특정 작업의 성능을 스스로 개선하는 알고리즘을 연구하는 학문이라고 할 수 있습니다. 1.1 머신러닝의 적용사례현재 머신러닝은 다양한 분야에서 활용이 되는데요,컴퓨터 비전문자 인식MLP음성 인식 등에 사용이 됩니다.1.2 머신러닝의 종류크게 3가지 유형으로 나뉩니다.지도학습 : 레이블이 존재하는 데이터(정답)로 학습비지도 학습 : 레이블이 없는 데이터로 패턴을 찾음강화학습 : 행동에 대한 보상을 통해 학습02) 머신러닝 라이프 사이클머신러닝 라이프사이클은 머신러닝 모델을 개발, 배포, 유지보수하는 일련의 단계들을 정의하는..

🌙 앞선 5강에서 이어지는 내용입니다. 참고해주세요01) 텐서의 노름(Norm)벡터 공간에서 정의되는 함수로, 벡터의 성질을 어떤 실수(Real Number)로 변환하는 함수를 의미합니다.즉 노름은 벡터 공간에서 벡터의 "크기" 또는 "길이"를 측정하는 함수입니다. PyTorch에서는 주로 L1, L2, L∞ 노름을 사용합니다.01_ L1 노름 (맨해튼 노름)L1 노름은 벡터 요소의 절댓값의 합으로 정의됩니다. 절댓값을 쓰는 이유는 다음과 같습니다.방향이 만약 -로 가게 된다면 음수가 나올 수 있으므로 절대값을 더해 ‘거리’를 구할 수 있게 됩니다이 노름이 맨해튼 노름으로 불리는 이유는 맨해튼 거리가 정확히 직교하기 때문에 맨해튼 내 어느 지점에서 지점까지 이동할때 최소거리를 블럭단위로 구하는 방식과 ..

🌙 PyTorch는 딥러닝 연구와 개발에 널리 사용되는 강력한 프레임워크입니다. 이 프레임워크의 핵심에는 텐서(Tensor)가 있습니다. 텐서는 다차원 배열로 모든 데이터와 모델 파라미터를 표현하는 데 사용됩니다. 따라서 텐서 연산을 효과적으로 다루는 것은 PyTorch를 마스터하는 데 필수적입니다.이번 포스트에서는 PyTorch의 주요 텐서 연산들을 살펴보고, 각 연산의 특징과 사용법을 자세히 알아보겠습니다.01) 텐서 결합 연산PyTorch에서 텐서를 결합하는 두 가지 주요 방법은 stack과 cat(concatenate)입니다.1.1 torch.cat()import torcha = torch.tensor([1, 2, 3])b = torch.tensor([4, 5, 6])c = torch.cat((..

강의Pytorch 3강 & 4강 수강 파이토치에서의 Tensor를 생성하고 다루는 방법의 기초에 대해 수강하였다. 강의 내용과 실습내용을 전부 타이핑해보며 손에 익히는 시간을 지녔으며, 추가로 궁금한 부분에 있어 따로 블로깅 하였다. 간단하게 요약해보자 3강# 특정 값으로 초기화된 텐서 생성torch.zeros() : 0으로 초기화torch.ones(): 1로 초기화# 난수로 값으로 초기화된 텐서 생성 torch.rand(): [0, 1] 구간의 연속균등분포 난수torch.randn(): 표준정규분포 난수# 특정 값으로 초기화된 텐서 변환 torch.zeros_like(): 크기와 자료형이 같은 0으로 초기화된 텐서로 변환torch.ones_like(): 크기와 자료형이 같은 1로 초기화된 텐서로 변환#..

CPU와 GPU 정리 & 차이점CPU란 중앙처리 장치를 뜻하며 컴퓨터 시스템을 통제하고 프로그램의 연산을 실행 - 처리하는 가장 핵심적인 컴퓨터 제어장치를 말한다. 수십억 개의 트랜지스터로 구축되었으며 여러 개의 프로세싱 코어를 갖출 수 있다. GPU란 더 작고 전문화된 코어로 구성된 프로세서다. 처리 작업을 병렬로 코어 간에 분할할 수 있으므로 대규모 성능을 제공한다. 둘다 중요한 컴퓨팅 엔진이고 실리콘 기반 마이크로프로세서이며 데이터를 처리하나 중요한 점은 아키텍처가 크게 다르며 만들어진 용도가 다르다. 주요 차이점은 아래 표에서 확인하자. Tensor에서의 CPU와 GPU이제 이 포스팅을 하게된 본론으로 들어가보자기본적으로 먼저 텐서를 생성한다.그 이후 텐서가 현재 어떤 디바이스에서 있는지 확인..

강의[Pytorch] 1강 & 2강 수강 및 퀴즈 진행 Pytorch란?PyTorch는 신경망 구축에 사용되는 소프트웨어 기반 오픈 소스 딥 러닝 프레임워크로, Torch의 머신 러닝 라이브러리와 Python 기반의 고급 API를 결합한 것 - https://www.ibm.com/kr-ko/topics/pytorch Python vs. R: What’s the Difference? - IBM BlogExplore the basics of open-source programming languages, including key differences and how to choose the right one for your situation.www.ibm.com파이토치란 2016년에 FAIR 연구소에서 개발된 ..