본문 바로가기

분류 전체보기

(68)
23년 1월 29일 모각코 계획 -> 딥러닝 Practical Gradient Descent Methods 학습결과 -> Gradient의 세가지 분류 - Stochastic gradient descent 하나의 샘플을 통해서만 gradient를 계산해서 업데이트 하는 것 - Mini-batch gradient descent batch size(128개, 256개 등)의 샘플을 한번에 사용해서 gradient를 구해 업데이트 하는 것 대부분의 딥러닝에서 활용 - Batch gradient descent 한번에 모든 샘플을 사용해서 gradient 평균을 사용해 업데이트 하는 것 Batch-size Matters Large Batch-size를 활용하면 Sharp Minimum에 도달, Small Batch-size 사용하면 Fla..
23년 1월 23일 모각코 계획 -> 딥러닝 기초(최적화의 주요개념) 학습내용 -> - Generalization Generalization이 좋다 = 성능이 학습 데이터와 비슷하게 나올거다 하지만 학습데이터의 성능 자체가 안좋으면 Generalization performance가 좋다고 해서 테스트 데이터의 성능이 좋다고 할 수 없다. - Underfitting과 Overfitting 학습데이터에 대해 잘 동작하지만 테스트 데이터에 대해 잘 동작하지 않는 현상을 Overfitting 네트워크가 너무 간단하거나 트레이닝을 조금 시켜서 학습 데이터를 잘 못맞추는 현상을 Underfitting - Cross-validation 학습데이터와 validation 데이터를 k개로 나눠서 k-1개로 학습을 시키고 나머지 한개로 validat..
24년 1월 16일 모각코 계획 -> c++ 연산자 오버로드 공부 학습내용 -> 매개변수 객체 매개변수 객체는 매개변수로 전달된 객체를 의미한다. 호스트 객체는 멤버 함수 내부에서 숨겨지지만(this 키워드를 사용하지 않아도 된다는 뜻), 매개변수 객체는 명시적으로 활용해야 한다. 전달 방법에는 세가지 방법이 있다. 값으로 전달 void modifyValue(Dog dog) { // 여기서 dog는 main 함수의 myDog의 복사본입니다. } int main() { Dog myDog; modifyValue(myDog); // myDog 객체 자체는 변경되지 않습니다. } 장점: 함수 내에서 객체를 변경해도 원래 객체에 영향을 미치지 않는다. 단점: 큰 객체의 경우 복사 비용이 발생하여 성능이 저하될 수 있다. 참조로 전달 voi..
24년 1월 10일 동계모각코 계획 : 프로그래밍 기초(NOVICE LOW) 마무리 후 프로그래밍 연습(NOVICE MID) 단계 넘어가기 학습내용 : 프로그래밍 기초를 어서 마무리하고 연습단계로 들어가고 싶었으나 생각보다 문제가 너무 많아서 기초단계를 마무리하기엔 턱없이 부족한 시간이었다;; 꿈이 컸던 것 같다 여태 푼 문제들 / 오늘 완료한 진도
24년 1월 2일 동계모각코 계획 : 코드트리 진단평가로 취약부분 진단 -> 개념파악 후 취약부분 문제풀이!! 학습내용 : 진단평가 결과 2차원 배열 개념이 취약부분으로 나왔다. 진단평가 5문제 중 3번(2차원 배열)을 틀렸고, 2차원 배열에 관한 문제 5문제(기본개념1+응용문제4)를 추가로 풀었다. 이번 주 내로 개념복습(프로그래밍 기초) 마치고 프로그래밍 연습단계로 들어가는 것 목표!!
23년 C++ chap7 클래스와 생성자 -> 클래스 불변 속성 04 인스턴스 멤버 3 클래스 불변 속성 -클래스 불변 속성: 클래스의 데이터 멤버의 일부 또는 전체에 적용해야 하는 조건 ㄴ(간단하게) 설계적으로 지켜야 하는 조건 ㄴ인스턴스 멤버함수를 사용해서 적용 ㄴex) Circle클래스의 반지름은 양수여야 함 -> 멤버함수에서 클래스의 불변 속성을 적용 Circle::Circle(double rds) :radius(rds){ if(radius
23년 C++ chap7 클래스와 생성자 -> 인스턴스 멤버 *이전 포스팅의 생성자와 소멸자를 기반으로 한 Circle클래스 구조도* *끝!* 04 인스턴스 멤버 -지금까지 클래스 정의 / 클래스를 기반으로 객체 인스턴스화하는 방법 / 객체의 데이터 멤버와 멤버함수에 대해 공부함!! -클래스 설계할 때는 인스턴스 멤버 / 클래스 멤버 라는 2가지 멤버 그룹 사용 1 인스턴스 데이터 멤버 -인스턴스 데이터 멤버: 인스턴스의 '속성'을 정의 ㄴ따라서 각각의 객체는 클래스에 정의된 데이터 멤버 캡슐화해야 함 ㄴ캡슐화: 연관된 데이터와 함수를 논리적으로 묶어놓은 것(각 객체별로 서로 다른 데이터를 갖는 속성) ㄴ데이터 멤버는 해당 인스턴스에만 속하여 인스턴스끼리 서로 접근x 인스턴스 데이터 멤버의 접근 제한자 -인스턴스 데이터 멤버는 private로 설정하는 것이 좋다(..
23년 C++ chap7 클래스와 생성자 -> 생성자와 소멸자(호출) / 필수 멤버함수 *이전 포스팅 내용 정리* -> 생성자와 소멸자의 선언,정의 생성자 1. 특징 ㄴ리턴값x ㄴ이름 = 클래스 이름 ㄴconst한정자x 2. 종류 ㄴ매개변수 있는 생성자 / 기본 생성자 / 복사 생성자 3. 선언 Class Circle{ public: Circle(double radius); // 매개변수가 있는 생성자 Circle(); // 기본 생성자 -> 괄호 없어도 됨 Circle(const Circle& circle); // 복사 생성자 ... } 4. 정의 ㄴ생성자는 함수 헤더 뒤에 초기화 리스트 문법(:)을 사용해서 데이터멤버를 초기화(헤더와 본문 사이 :로 시작) 소멸자 1. 특징 ㄴ리턴값x ㄴ이름 = ~클래스 이름 ㄴ객체가 스코프 벗어날 때 자동호출 ㄴ오버로드x ㄴpublic 적용해야함 2...