전체 글(394)
-
5. 딥 러닝- 개요
일반 신경망 소수의 은닉층을 가진다.(1~2개 정도) 특징 벡터(원시 데이터에서 직접 특징을 추출해서 만든 데이터)를 입력으로 사용 -> 특징 벡터들의 품질에 영향을 많이 받는다. 딥러닝 신경망 다수의 은닉층을 가진다. 특징 추출과 학습을 함께 수행한다. 즉, 데이터들 특징을 학습을 통해 추출한다. -> 우수한 성능을 보인다. 기울기 소멸 문제 : 은닉층이 많은 다층 퍼셉트론에서, 출력층에서 입력층으로 갈수록 오류역전파 과정에서 사용되는 기울기(gradient)가 크게 줄어들어, 학습이 되지 않는 현상 -> 기울기가 거의 0에 가까워지면 오차가 없다고 판단해 학습이 되지 않는다. 기울기 소멸 문제 완화 방법 : 시그모이드나 쌍곡탄젠트 대신 ReLU(Rectified Linear Unit) 함수 사용 0보..
2023.11.10 -
4. 기계 학습 - 신경망
퍼셉트론 : 학습가능한 신경망 모델. 다수의 값을 입력받아 하나의 값으로 출력하는 알고리즘. 가중치가 클수록 입력값이 중요하다는 것을 의미. 가중합 s를 임계값 세타와 비교하는 활성화 함수를 거쳐 최종 출력값을 결정한다. cf. 활성화 함수: 퍼셉트론의 출력값을 결정하는 비선형 함수. 출력할지 말지를 결정하고, 출력한다면 어떤 값으로 출력할지 결정하는 함수. 단층 퍼셉트론 : 은닉층 없이 입력층과 출력층만 있는 경우. AND,NAND,OR 연산은 선 하나로 구분할 수 있지만, -> 선형 분리가능 문제 XOR 연산은 선 하나로 구분할 수 없다. -> 선형 분리불가 문제 -> 비선형 영역은 표현 불가 다층 퍼셉트론(multilayer perceptron,MLP) : 여러개의 퍼셉트론을 층 구조로 구성한 신경..
2023.11.10 -
4. 기계학습 - 학습 알고리즘
결정트리 : 트리 형태로 의사결정 지식을 표현한 것 내부 노드: 비교 속성 edge: 속성값 단말 노드: 부류 또는 대표값 결정 트리 알고리즘 1. 모든 데이터를 포함한 하나의 노드로 구성된 트리에서 시작 2. 반복적인 노드 분할 분할 속성을 선택 속성값에 따라 서브트리를 생성 데이터를 속성값에 따라 분배 어떤 분할 속성을 선택하는 것이 효율적인가? -> 분할한 결과가 가능하면 pure(동질적)인 것으로 만드는 속성 선택 * 엔트로피 비동질 정도(불순도)를 측정하는 척도 섞인 정도(불순도)가 클수록 큰 값을 가진다. 정보이득 (IG: Imformation Gain) : 특정 속성으로 분할 한 후의 각 부분집합의 정보량의 가중평균 정보이득(IG)가 클 수록 우수한 분할 속성이다. 예) 부류 정보가 있는 데..
2023.11.07 -
Proxy Pattern
proxy pattern : 어떤 객체에 대한 접근을 제어하기 위한 용도로 대리인에 해당하는 객체를 제공하는 패턴. proxy 종류 remote proxy: 원격 객체에 대한 접근 제어 virtual proxy: 생성하는 비용이 많이 드는 자원에 대한 접근 제어 protection proxy: 접근 권한에 필요한 자원에 대한 접근 제어 remote proxy 다른 네트워크상에 있는 객체에 접근하려고 하는 경우 proxy를 통해 접근할 수 있다. proxy가 진짜 객체를 대신하는 역할을 한다. Java RMI Remote Method Invocation: 원격 메서드 호출 client는 stub에게 요청 -> stub는 skeleton에게 요청 -> skeleton은 service에게 요청 Making t..
2023.11.07 -
(opencv) visual studio에 적용하기
1. 새 프로젝트 생성 2. 데스크톱 마법사로 빈프로젝트 생성 3. 상단바 프로젝트 > 속성 4. 구성을 모든 구성으로 변경 구성 속성> c/c++ > 일반 > 추가 포함디렉터리> 편집을 눌러 저장경로 opencv include 폴더 삽입 구성속성 > 링커 > 추가 라이브러리 디렉토리 > 편집을 눌러 저장경로 lib 폴더 삽입 구성속성> 디버깅 > 환경에 bin 경로 적기 5. 구성 Debug로 변경 구성 속성 > 링커 > 입력 > 추가 종속성 > 편집을 눌러 아래 사진처럼 적기( opencv 버전에 따라 숫자는 달라질 수 있음) 6. 구성 Release로 변경 구성 속성 > 링커 > 입력 > 추가 종속성 > 편집을 눌러 아래 사진처럼 적기 (Debug 때와 달리 d가 붙지않는다.)
2023.11.01 -
State pattern
State pattern : 객체의 내부 상태가 바뀜에 따라 객체의 행동을 바꿀 수 있다. -> 마치 객체의 클래스가 바뀌는 것 같은 결과를 얻을 수 있다. 상태에 따라 동작을 다르게 하기 위해 자신이 직접 상태를 체크하여 호출하지 않고 상태를 클래스로 구현하여 캡슐화한 다음 동작을 각 상태 클래스에 위임하는 방법이다. Context를 client라 생각하고, request()를 호출하면 그 작업은 state 객체에게 맡겨진다. State 인터페이스에는 모든 상태 클래스에 대한 공통 메소드가 있다. ConcreteState에서는 Context로부터 전달된 요청을 처리한다. public interface State{ public void insertQuarter(); public void ejectQuar..
2023.10.31