전체 글 19

네부캠 AI_tech [4Week] 회고

이번 주는 컴퓨터의 기초 이론을 다룹니다.  ​컴퓨터가 이미지를 처리하는데 있어여러가지 Task에서 어떠하게 작동하는지 알려주는 주였습니다.비록 몸이 좋지 않아 입원을 하게 되어 수요일 부터 공결을 쓰게 되었습니다. 저번주 토요일부터 병원을 왔다갔다 했는데, 알고보니 맹장염(충수돌기염)이 아주 심해졌더군요.단순 체한 느낌으로 시작했는데 점점 위쪽 복통이 심해지더라구요, 여러병원에서 위염 혹은 장염으로 처방을 받았는데 나아지는 기미가 보이지 않아 화요일 새벽 응급실을 다녀왔네요.CT를 찍어보니 이미 오른쪽 배 전반부위에 걸쳐 복막염이 진행된 상태라서 맹장염 확인이 힘들 정도였습니다.다행히 수술은 잘 마무리 되었고 회복까지 약간 시간이 걸렸습니다. 수술과 회복중 고열의 일상으로 강의에 집중할 수 없게 되었고..

네부캠 AI_tech [2Week] 회고

이번주는 ML Basic에 대해 학습했습니다.Regression 부터 시작해서 Transformer 까지.어찌보면 대학교 인공지능 수업의 한 학기 과정을 일주일만에 마무리 한거나 다름없네요.​초반부는 알았던 내용이라 익숙했지만, Transformer로 갈 수록 약간 버거웠습니다.특히 과제를 해결하는데 무척 어려웠어요.torch 없이 numpy만 가지고 모델을 구현하고 실행시키는 과제였는데 양도 많을 뿐만아니라 원리를 완벽히 파악하고 코드를 작성해야해 손으로 계산해보면서 코딩을 했습니다.​다행히 마감 전날 새벽에 끝내긴 했지만 후반부는 완벽히 이해를 끝마친게 아니라 오늘 다시 정리할 예정입니다. 이 과정을 진행하면서 참 많은걸 배워가요.​평소 안했던 복습부터, 하루를 어떻게 채워나갈지 아침부터 고민하게 되..

일기장 2024.08.18

네부캠 AI_tech [1Week] 회고

​어떻게보면 매우 바빴던 한주, 새로운 도전의 기회가 될 수 있었던 한 주가 막을 내렸습니다.Naver boostcamp의 첫 주차가 마무리 되었습니다.​파이썬과 pandas,numpy와 같은 기초 프로그래밍인공지능을 이해하기 위한 수학파이토치를 사용한 선형회귀 기본 및 실제구현​가장 기본적이고 기초적인 내용을 다시 쌓아갈 수 있었습니다.학교수업을 들으며 급급히 지나갔던 내용을 되씹고 복기하며 다시 훑어보았습니다.​생각보다 과제와 수업양이 많아 다른 해야할 일을 제쳐두고 1순위로 몰입해서 달려왔던 것 같네요.오늘까지 과제 마감일이라 여러 밤을 지새우기도 했습니다.​적응기간이기도 했고 이제야 슬슬 몸도 적응이 되어가는거 같아요.저에게 부족한 부분을 찾을 수 있는 귀중한 시간이었습니다.​피어세션이란 팀원분들..

일기장 2024.08.18

백준-1149번 RGB거리

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

백준 2024.08.16

백준-11727번 2xn 타일링 2

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 = ..

백준 2024.08.16

백준-9095번 1,2,3 더하기

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

백준 2024.08.16

회귀 모델 평가 지표

회귀 모델의 성능을 평가하는 데 사용되는 주요 지표들에 대해 자세히 알아보겠습니다. 이 지표들은 모델의 예측이 실제 값과 얼마나 가까운지, 그리고 모델이 데이터의 변동성을 얼마나 잘 설명하는지를 측정합니다.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) 머신러닝 라이프 사이클머신러닝 라이프사이클은 머신러닝 모델을 개발, 배포, 유지보수하는 일련의 단계들을 정의하는..

텐서 연산 마스터하기: 기본부터 고급까지(2) (# 3일차-2)

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