Group Study (2024-2025 Q1) 54

[ML심화] 3주차 스터디

Lecture 5 Convolutional Neural NetworksCNNCNN의 역사"perceptron"을 구현한 최초의 기계Perceptron"은 우리가 배운 Wx + b와 유사한 함수 사용 → 하지만 출력 값이 1 또는 0임가중치 w를 update하는 rule 존재 → Backprop 과 유사 (그 당시에는 backprob이라는 개념이 없어서 가중치를 이리저리 조절하면서 맞춤)Frank Rosenblatt의 Mark I Perceptron machine (1957)최초의 Multilayer Perceptron Network → 이 시점에 neural network와 비슷한 모양 하기 시작 BUT Backprob 같은 학습 알고리즘 안 존재Widrow와 Hoff가의 Adaline and Madal..

[Spring 입문] 3주차 - 머스테치로 화면 구성하기

4.1 서버 템플릿 엔진과 머스테치 소개1. 템플릿 엔진 : 지정된 템플릿 양식과 데이터가 합쳐져 HTML 문서를 출력하는 소프트웨어서버 템블릿 엔진 VS 클라이언트 템플릿 엔진서버 템플릿 엔진 : JSP, Freemarker서버에서 Java 코드로 문자열을 만든 뒤에 해당 문자열을 HTML로 변환하여 브라우저로 전달함.  클라이언트 템플릿 엔진 : React, Vue브라우저 위에서 작동함작성된 JS 코드가 실행되는 장소는 서버가 아닌 브라우저임. 서버에서는 json / xml 형식의 데이터만 전달, 클라이언트에서 조립2. 머스테치머스테치란 : 수많은 언어를 지원하는 가장 심플한 템플릿 엔진 장점문법이 다른 템플릿엔진보다 심플함.로직 코드를 사용할 수 없기에 View의 역할 / 서버의 역할이 명확하게 분..

[Flutter] 3주차 스터디_Flutter 시작하기

1. Flutter 소개- 구글이 만든 프레임 워크로 iOS, 안드로이드, 윈도우, 리눅스등과 같은 멀티 플랫폼 개발을 지원한다- 다트 언어로 작성하기 때문에 미리 다트 언어를 학습하는 것이 필수이다.1.1 Flutter를 학습해야 하는 이유- 웹/맥OS/윈도우/리눅스 심지어 임베디드, IoT와 같은 다양한 플랫폼을 지원하는 크로스플랫폼이다.- html, css, java script와 같은 내용들을 학습하지 않아도 웹을 만들 수 있다.- 애니메이션, 게임과 같은 다양한 그래픽도 flutter 하나로 구현할 수 있다.1.2 Flutter의 실행 방식다른 프레임 워크는 운영체제에게 직접 text, button과 같은 요소를 만들어달라고 요청한다.하지만 Flutter는 실행할 때 엔진에 의해서 만들어지는 것..

[ Spring 심화 ] 2주차 - 테스트

1. 테스트UI 테스트의 문제점하나의 테스트를 수행하는 데 참여하는 클래스와 코드가 너무 많음→ 다른 계층의 코드/컴포넌트/서버 설정 등 많은 요소가 테스트에 영향Unit Test관심사의 분리테스트는 가능한 한 최소 단위로 쪼개서 집중해야 함단위한 관심에 집중해 효율적으로 테스트할 만한 범위작을수록 용이단위를 넘어서는 코드는 신경 X 참여 X확인의 대상과 조건이 간단하고 명확할수록 좋음외부 리소스 의존 금지리소스(DB, ..)의 상태를 테스트가 관장하면 가능의존 : 리소스의 상태가 매번 변화, 테스트를 위해 DB를 특정 상태로 만들 수 없는 상태선 단위테스트 → 후 플로우 테스트단위별로 검증해 오류 잡은 후 긴 테스트를 하면 디버깅이 용이할 것자동수행 테스트 코드테스트의 전 과정을 자동으로 진행 ⇒ 자주..

[Flutter] 2주차 스터디_비동기 프로그래밍(Async Programming )

동기 프로그래밍: CPU가 하나의 작업을 하고 있을 경우, 다른 작업을 하지못함--> 코드 순서대로 실행됨비동기 프로그래밍:CPU가 하나의 작업이 끝날 때까지 기다리는 동안 다른 작업을 할 수 있음--> 코드 순서대로 실행되지 않음4.1 비동기 프로그래밍(Asynchronous Programming)Future : 미래에 받아올 값 → 제네릭에 미래에 받아올 타입을 지정ex) Future name = Future.value('코드팩토리'); 비동기적으로 실행void main() { // Future - 미래 // 미래에 받아올 값 → 제네릭에 미래에 받아올 타입을 지정하는 것임 Future name = Future.value('코드팩토리'); Future number = Future.value(1..

[ML심화] 2주차 스터디 - Loss Function, Optimization, Back Propagation, Neural Network

- Stanford University 의 Convolutional Neural Networks for Visual Recognition 강의를 바탕으로 작성하였습니다.Lecture 3 | Loss Functions and Optimization손실함수 (Loss Function)생성한 W가 좋은지 나쁜지를 정량화 할 방법 필요.W를 입력으로 받아 각 스코어를 확인하고 이 W가 현재 얼마나 나쁜지를 정량적으로 말해주는 것우리가 원하는 것 = 행렬 W가 될 수 있는 모든 경우의 수 중 가장 “괜찮은” W를 찾는 것.→ 최적화 과정 (Optimization)x 는 알고리즘의 입력, y는 예측하고자 하는 값 (레이블, 타겟값)f 는 예측함수→ 손실함수(L_i)는 예측함수(f)와 정답값(y)을 받아 데이터들을 ..

[Android] Android UI 구현 기초

지정된 강의 1강~5강을 수강하였습니다.1. Column, Row, Spacer Column { Text("Hello") Text("World")}//Column 내의 요소들을 수직으로 배열함Row{ Text("Hello") Text("World")}//Row 내의 요소들을 수평으로 배열Row{ Text("Hello") Spacer(Modifier.width(16.dp)) Text("World")}//Spacer를 이용해서 요소 사이의 간격을 설정/조절해줄 수 있음- Column, Row 등의 덩어리에 특성 지정해주기Column ( modifier= Modifier //modifier를 이용해 다양한 특성들을 지정해줄 수 있음 .fillMaxSize() //화면을 꽉 채우기 (text 등 요소들의 크기..

[Spring 입문] 2주차 - 스프링부트에서 JPA로 데이터베이스 다뤄보기

1. JPA1) 소개현대의 웹 애플리케이션에서 관계형 데이터베이스는 빠질 수 없는 요소이다. 그렇기에 객체를 관계형 데이터베이스에서 관리하는 것이 무엇보다 중요하다.하지만 관계형 데이터베이스는 SQL만 인식할 수 있기에, 개발자가 아무리 자바 클래스를 잘 설계하여도, SQL을 통해야만 데이터베이스에 저장하고 조회할 수 있다는 번거로움이 존재한다. 또한, 어떻게 데이터를 저장할지에 초점이 맞춰진 SQL과는 반대로, 객체지향 프로그래밍 언어는  메시지를 기반으로 기능과 속성을 한 곳에서 관리하는 것이 목표이기에, 이 둘 사이에선 패러다임 불일치 문제가 발생한다.이를 해결하기 위해 JPA가 등장한다. JPA는 서로 지향하는 바가 다른 2개 영역을 중간에서 패러다임 일치를 시켜주기 위한 기술이다. 개발자는 객체..

[ML 입문] 2주차 스터디

Chapter03 회귀 알고리즘과 모델 규제복습하기Q. 도미와 빙어 구분하기(도미 : 1, 빙어 : 0)A. K-최근접이웃 알고리즘을 사용Problem : 잘못된 결과Why : length보다 weight 특성이 결과에 더 큰 영향을 주게 됨X축(length) Scale : 10~40Y축(weight) Scale : 0~1000Solution : 특성의 스케일을 맞추는 과정 즉, 데이터 전처리 과정이 필요데이터 전처리 : 표준점수(Z점수, (특성 - 평균)/표준편차) 계산하기numpy의 mean(평균), std(표준편차) 함수 사용하여 Z점수 계산train data 전처리 방식으로 test data도 동일하게 전처리 진행mean = np.mean(train_input, axis=0)std = np.std..

[ML 입문] 1주차 스터디

훈련 세트와 테스트 세트 : 데이터 전처리부터 모델 평가까지머신러닝 모델을 효과적으로 훈련시키기 위해서는 데이터를 어떻게 준비하고 처리하는지가 중요합니다. 이번 포스트에서는 훈련 세트와 테스트 세트를 나누는 방법부터 데이터 전처리까지, 데이터를 사용해 하나의 모델을 완성해보겠습니다.1. 훈련 세트와 테스트 세트란?훈련 세트 (Training Set) : 모델을 학습시키기 위한 데이터입니다. 이 데이터를 사용하여 모델이 다양한 패턴을 학습하게 됩니다.테스트 세트 (Test Set) : 모델의 성능을 평가하기 위한 데이터입니다. 훈련에 사용되지 않은 데이터를 사용해 모델이 실제 환경에서 얼마나 잘 작동하는지 확인합니다.모델을 훈련하고 평가하기 위해서는 데이터를 적절히 나눠야 하며, 이때 샘플링 편향이 발생하..