본문 바로가기
반응형

3 - 공부 기록6

[TIL] How to avoid overfitting 오버피팅을 막는 방법 오버피팅을 막는 방법 1. 많은 데이터 셋 준비 2. 가중치 감소 기법 3. 드롭아웃 기법 가중치 감소(Weight decay) 학습 과정에서 큰 가중치에 대해서는 그에 상응하는 큰 패널티를 부과하여 오버피팅을 억제하는 방법이다. 오버피팅은 가중치 값이 커서 발생하는 경우가 많기 때문이다. 드롭아웃(Dropout) 신경망 모델이 복잡할때 가중치 감소만으로 대응하기 어렵다. 뉴런을 임의로 삭제하면서 학습하는 방법이다. 훈련 때 은닉층의 뉴런을 무작위로 골라 삭제한다. 삭제된 뉴런은 신호를 전달하지 않게 된다. 테스트 때에는 모든 뉴런에 신호를 전달한다. 2022. 5. 16.
[TIL] Overfitting 오버피팅 오버피팅(Overfitting)이 주로 일어나는 경우 1. 매개변수가 많고 표현력이 높은 모델 2. 훈련 데이터가 적은 경우 훈련 데이터를 사용하여 측정한 정확도는 거의 100%까지 올라가지만, 시험 데이터에 대해서는 정확도가 크게 떨어진다. 이는 훈련 데이터에만 적응(Fitting)된 결과이다. 훈련에 사용하지 않은 시험 데이터에는 제대로 대응하지 못하는 현상이다. 2022. 5. 16.
[TIL] Perceptron 퍼셉트론 퍼셉트론(Perceptron)은 신경망의 기원이 되는 알고리즘이다. 퍼셉트론은 다수의 신호를 입력으로 받아 하나의 신호를 출력한다. 퍼셉트론 신호는 0이나 1, 두 가지 값을 가질 수 있다. 신호를 보내고 받는 노드를 뉴런이라고 할 수 있다. 입력 신호가 뉴런에 보내질 때는 각각 고유한 가중치(weight)가 곱해진다. 그리고 편향(bias)를 더한다. 뉴런에서 보내온 신호의 총합이 정해진 한계(임계값)를 넘을 때만 1을 출력(뉴런 활성화)한다. 퍼셉트론으로 AND 게이트, NAND 게이트, OR 게이트 등을 구현할 수 있다. 퍼셉트론으로는 XOR 게이트(배타적 논리합)을 구현할 수 없다. 왜냐하면 퍼셉트론은 직선 하나로 나눈 영역(선형 영역)만을 나타낼 수 있기 때문이다. 퍼셉트론 층을 쌓아서 다층 퍼.. 2022. 5. 16.
[Linux/Ubuntu] System Call sudo su 1. Define system call function vim linux-5.x4.x67/kernel/my_sys_call_file_name.c #include asmlinkage long sys_mycall(void) { printk("System Call Example!\n"); return 0; } 예시를 위해 간단한 C코드를 작성하여 저장한다. 2. Add the file to Makefile vim linux-5.4.67/kernel/Makefile Makefile에서 obj-y 항목 가장 뒤에 띄어쓰기 + my_sys_call_file_name.o 를 써주고 저장한다. 3. Add system call number system call number를 등록해야한다. 64-bit 시.. 2022. 4. 12.
[Linux/Ubuntu] How To Add Extra Hard Disk to VirtualBox VM 버츄얼박스 디스크 추가 방법 1. 디스크를 추가할 가상 머신을 선택하고 세팅에 들어간다. 2. Settings > Storage > Controller: SATA 에서 하단 디스크 추가 버튼을 누른다. (하늘색 디스크에 녹색 플러스 표시 버튼) 3. 하드 디스크 파일 타입에서 VDI 를 선택하고 next 4. 사이즈를 다이나믹 또는 고정으로 설정하고, next 둘 다 사용하기에는 크게 상관은 없는 것 같다. 나는 동적 할당으로 선택했다. 5. 생성 후 디스크를 attach 해주기 위해 선택해준다. 6. 새로운 디스크가 잘 들어간 것을 볼 수 있다. 2022. 4. 12.
[Linux/Ubuntu] Kernel Compile 1. 현재 커널 버전 확인하기 uname -r 2. 커널 소스 다운로드 http://www.kernel.org/ The Linux Kernel Archives www.kernel.org 원하는 버전의 커널을 다운로드 받는다. 특정 버전을 찾으려면 pub > linux > kernel > ... 순으로 들어가 찾으면 된다. 3. 커널 소스 파일 이동 mv linux-5.4.67.tar.gz /usr/src 다운로드한 파일을 /usr/src 로 이동시킨다. 4. 압축 해제 tar -xvzf linux-5.4.67.tar.gz 이제 /usr/src/linux-5.4.67 폴더가 생겼다. 커널의 루트 디렉토리이다. 5. 컴파일에 필요한 툴 설치 sudo apt-get install libncurses-dev f.. 2022. 4. 12.
반응형