전체 글
-
텐서 차원(Shape) 변환과 축(dim)의 이해 2026.08.09
-
01 nn.Linear — 선형 레이어 🔗 torch.nn.Linear(in_features, out_features) 선형 레이어 (Linear Layer) 입력 텐서에 가중치 행렬(W)을 곱하고 편향(b)을 더하는 선형 변환 연산을 수행한다. 수식으로는 y = xWᵀ + b 로 정의되며, 가중치와 편향 파라미터는 모듈 내부에서 자동으로 초기화 및 학습된다. 개발자가 행렬 연산과 변수를 수동으로 관리할 필요 없이 nn.Linear 모듈 하나로 완전히 해결된다. in_features 입력 벡터의 ..
Pytorch 활용01 nn.Linear — 선형 레이어 🔗 torch.nn.Linear(in_features, out_features) 선형 레이어 (Linear Layer) 입력 텐서에 가중치 행렬(W)을 곱하고 편향(b)을 더하는 선형 변환 연산을 수행한다. 수식으로는 y = xWᵀ + b 로 정의되며, 가중치와 편향 파라미터는 모듈 내부에서 자동으로 초기화 및 학습된다. 개발자가 행렬 연산과 변수를 수동으로 관리할 필요 없이 nn.Linear 모듈 하나로 완전히 해결된다. in_features 입력 벡터의 ..
2026.08.06 -
이번 포스트에서는 머신러닝의 가장 기본이 되는 두 기둥이자 지도학습의 출발점인 선형 회귀(Linear Regression)와 로지스틱 회귀(Logistic Regression)의 차이점을 입문자 관점에서 쉽고 완벽하게 정리해본다. 📊 선형 회귀 vs 로지스틱 회귀: "예측할 것인가, 분류할 것인가?" 이름에 둘 다 '회귀(Regression)'가 들어가다 보니 처음 접할 때는 매우 헷갈리기 쉽다. 하지만 둘은 풀고자 하는 **문제의 정의와 목적** 자체가 완전히 다르다. 가장 직관적으로 구분하는 기준은 바로 출력 결과값의 형태이다. 선형 회귀(Linear Regression): 집값, 주가, 온도처럼 연속적으로 변화하는 '수치(값)'를 예측하는 ..
Linear Regression vs Logistic Regression이번 포스트에서는 머신러닝의 가장 기본이 되는 두 기둥이자 지도학습의 출발점인 선형 회귀(Linear Regression)와 로지스틱 회귀(Logistic Regression)의 차이점을 입문자 관점에서 쉽고 완벽하게 정리해본다. 📊 선형 회귀 vs 로지스틱 회귀: "예측할 것인가, 분류할 것인가?" 이름에 둘 다 '회귀(Regression)'가 들어가다 보니 처음 접할 때는 매우 헷갈리기 쉽다. 하지만 둘은 풀고자 하는 **문제의 정의와 목적** 자체가 완전히 다르다. 가장 직관적으로 구분하는 기준은 바로 출력 결과값의 형태이다. 선형 회귀(Linear Regression): 집값, 주가, 온도처럼 연속적으로 변화하는 '수치(값)'를 예측하는 ..
2026.08.05 -
이번 포스트에서는 머신러닝 모델의 일반화 성능을 좌우하는 핵심 첫 단추, scikit-learn을 활용한 데이터 분할(Train/Test Split)을 완벽하게 마스터해본다. 📑 데이터 분할: "족보만 달달 외운 학생은 진짜 시험에서 망한다!" 머신러닝 모델을 훈련할 때 가장 흔히 범하는 실수가 있다. 바로 가지고 있는 데이터를 전부 다 공부(학습)시키는 데 써버리는 것이다. 이럴 경우 모델은 학습 데이터에만 과도하게 최적화되는 과적합(Overfitting)에 빠지게 된다. 수능 시험을 보기 전에 기출문제와 답만 통째로 외워버린 셈이다. 이를 완벽하게 해결하기 위해 우리는 데이터를 용도별로 철저하게 칼로 쪼개듯 분할해야 한다. 각 데이터셋의 역할과 특징은 다음과 ..
데이터 분리와 피쳐 스케일링이번 포스트에서는 머신러닝 모델의 일반화 성능을 좌우하는 핵심 첫 단추, scikit-learn을 활용한 데이터 분할(Train/Test Split)을 완벽하게 마스터해본다. 📑 데이터 분할: "족보만 달달 외운 학생은 진짜 시험에서 망한다!" 머신러닝 모델을 훈련할 때 가장 흔히 범하는 실수가 있다. 바로 가지고 있는 데이터를 전부 다 공부(학습)시키는 데 써버리는 것이다. 이럴 경우 모델은 학습 데이터에만 과도하게 최적화되는 과적합(Overfitting)에 빠지게 된다. 수능 시험을 보기 전에 기출문제와 답만 통째로 외워버린 셈이다. 이를 완벽하게 해결하기 위해 우리는 데이터를 용도별로 철저하게 칼로 쪼개듯 분할해야 한다. 각 데이터셋의 역할과 특징은 다음과 ..
2026.08.05 -
이번 포스트에서는 1st-Tier와 2nd-Tier를 연동시켜 보자. 로드밸런싱 연동 및 테스트 NginX 프론트엔드 랜딩 페이지 배포NginX는 최초 클라이언트의 요청을 받아 정적 서비스를 제공한다. 통상 여기에는 vue application이 들어가면 좋겠다. 여기서는 간단히 index.html을 만들어서 서비스해보자. /var/www/html/index.html을 원하는 내용으로 변경해주면 된다.그런데 index.html 파일은 크기가 크기 때문에(약 24KB) 직접 nano 창에 복사-붙여넣기를 실행하면 웹 브라우저 터미널 버퍼 한계로 창이 먹통이 되어 뻗을 수 있다. 따라서 구글 콘솔의 [파일 업로드] 기능을 사용해 전송하는 것을 강력히 권장한다.웹 SSH 파일 업로드 진행구글 클라우드 콘솔..
GCP 3-Tier 구축 4이번 포스트에서는 1st-Tier와 2nd-Tier를 연동시켜 보자. 로드밸런싱 연동 및 테스트 NginX 프론트엔드 랜딩 페이지 배포NginX는 최초 클라이언트의 요청을 받아 정적 서비스를 제공한다. 통상 여기에는 vue application이 들어가면 좋겠다. 여기서는 간단히 index.html을 만들어서 서비스해보자. /var/www/html/index.html을 원하는 내용으로 변경해주면 된다.그런데 index.html 파일은 크기가 크기 때문에(약 24KB) 직접 nano 창에 복사-붙여넣기를 실행하면 웹 브라우저 터미널 버퍼 한계로 창이 먹통이 되어 뻗을 수 있다. 따라서 구글 콘솔의 [파일 업로드] 기능을 사용해 전송하는 것을 강력히 권장한다.웹 SSH 파일 업로드 진행구글 클라우드 콘솔..
2026.07.09 -
이번 포스트에서는 3-Tier에서 2nd Tier에 해당하는 Backend 계층을 구성해보자. WAS 인스턴스 구성 인스턴스 추가WAS는 2중화를 위해 2개의 인스턴스를 사용하기로 한다. 다음 정보를 이용해서 차례대로 생성해보자.인스턴스 이름영역 (Zone)VPC / 서브네트워크외부IP (External IP)머신 유형 및 비고free-was-aus-central1-afree-prd-vpcfree-snet-private-was임시 (Ephemeral)e2-micro (무료)Spring Boot WAS 1호기(설치 완료 후 외부 IP '없음'으로 제거 예정)free-was-cus-central1-cfree-prd-vpcfree-snet-private-was임시 (Ephemeral)e2-micro (무료)..
GCP 3-Tier 구축 3이번 포스트에서는 3-Tier에서 2nd Tier에 해당하는 Backend 계층을 구성해보자. WAS 인스턴스 구성 인스턴스 추가WAS는 2중화를 위해 2개의 인스턴스를 사용하기로 한다. 다음 정보를 이용해서 차례대로 생성해보자.인스턴스 이름영역 (Zone)VPC / 서브네트워크외부IP (External IP)머신 유형 및 비고free-was-aus-central1-afree-prd-vpcfree-snet-private-was임시 (Ephemeral)e2-micro (무료)Spring Boot WAS 1호기(설치 완료 후 외부 IP '없음'으로 제거 예정)free-was-cus-central1-cfree-prd-vpcfree-snet-private-was임시 (Ephemeral)e2-micro (무료)..
2026.07.08 -
이번 시간에는 3-Tier의 1st-Tier에 해당하는 NginX 로드벨런서를 설정해보자. NginX와 Load Balancing NginXNginx는 기본적으로 고성능 웹 서버(Web Server)로서 사용자의 최초 요청을 받아들이는 웹 계층(Presentation Tier)을 담당한다. 동시에 클라이언트의 요청을 대리하여 백엔드 서버로 중개해 주는리버스 프록시(Reverse Proxy)역할을 수행하는 초경량 오픈소스 소프트웨어다.⚡ 막강한 내장 기능: 로드 밸런서(Load Balancer)Nginx는 여기에 추가적으로 매우 강력한로드 밸런서역할을 수행할 수 있는 기능을 내장하고 있다. 원래 실무에서는 트래픽 분산을 위해 클라우드 서비스사에서 제공하는 고가의 L7 로드 밸런서(GCP HTTP(S) ..
GCP 3-Tier 구축 2이번 시간에는 3-Tier의 1st-Tier에 해당하는 NginX 로드벨런서를 설정해보자. NginX와 Load Balancing NginXNginx는 기본적으로 고성능 웹 서버(Web Server)로서 사용자의 최초 요청을 받아들이는 웹 계층(Presentation Tier)을 담당한다. 동시에 클라이언트의 요청을 대리하여 백엔드 서버로 중개해 주는리버스 프록시(Reverse Proxy)역할을 수행하는 초경량 오픈소스 소프트웨어다.⚡ 막강한 내장 기능: 로드 밸런서(Load Balancer)Nginx는 여기에 추가적으로 매우 강력한로드 밸런서역할을 수행할 수 있는 기능을 내장하고 있다. 원래 실무에서는 트래픽 분산을 위해 클라우드 서비스사에서 제공하는 고가의 L7 로드 밸런서(GCP HTTP(S) ..
2026.07.07 -
이번 포스트에서는 GCP를 이용해 3-tier를 구축하는 연습을 해보자.사실 AWS를 이용한 3-tier구축 관련 수업을 듣고 뭔가 정리를 해야 할것 같은데 AWS는 유료라 괜히 부담스러워서 무료로 사용할 수 있는 GCP에 개념을 이식해보기로 한다. GCP 계정 준비 Google Cloud Console 접속Google Cloud Console(https://console.cloud.google.com/)에 접속한다. Google 클라우드 플랫폼로그인 Google 클라우드 플랫폼으로 이동accounts.google.com 신규 프로젝트 생성좌측 상단의 [프로젝트 선택 도구]-[새 프로젝트]를 선택한다. 프로젝트 명은 [3-tier-app]으로 하자.완료 후 약간의 시간이 지나면 프로젝트가 생성되는데 이..
GCP 3-Tier 구축 1이번 포스트에서는 GCP를 이용해 3-tier를 구축하는 연습을 해보자.사실 AWS를 이용한 3-tier구축 관련 수업을 듣고 뭔가 정리를 해야 할것 같은데 AWS는 유료라 괜히 부담스러워서 무료로 사용할 수 있는 GCP에 개념을 이식해보기로 한다. GCP 계정 준비 Google Cloud Console 접속Google Cloud Console(https://console.cloud.google.com/)에 접속한다. Google 클라우드 플랫폼로그인 Google 클라우드 플랫폼으로 이동accounts.google.com 신규 프로젝트 생성좌측 상단의 [프로젝트 선택 도구]-[새 프로젝트]를 선택한다. 프로젝트 명은 [3-tier-app]으로 하자.완료 후 약간의 시간이 지나면 프로젝트가 생성되는데 이..
2026.07.06