[0507/KNN]
1교시 수업 내용 : KNN복습

- 데이터 하나는 벡터이다, 그 벡터간의 거리를 계산한다(Vector = N차원)
- Norm : L1 멘하턴 distance
L2 유클리드 distance
- 가중치

가장 중요한것 KNN

- 내가 k값을 조정했더니 overfit 이냐 underfit이냐를 꼭 구분할줄 알아야함
- UF : Tran 80, Test 78 : 다른 모델이나 다른 수치들에 비해서 떨어지는 구나 => K 값을 줄여야 겠다.
- OF :
=> 두개를 이해하려면 bais
적당한 F를 잘 찾자!
SVM(support Vector Machine) : 참고용, 잘 쓰이지는않는다!


- 초평면을 찾아서 이를 이용하여 분류 및 회귀를 수행하려고 한다 -> 선형 모델
- 내가 n차원에 있다면 한단계 낮은 N-1 차원
- 2차 -> 1차
- 3차 -> 2차
- Margin 적당히 떨어져 있는 버퍼(비무장지대)를 만들어서 떨어져놓는다!
- TIP : 3.8t선을 알고리즘 화했다고 생각
- 최대값에 대한 문제를 역수를 곱해서 최솟값을 만들어서 진행
- 기존에 있던 loss fuction + 제약조건
- F의 학습에 대한 방향들을 생각해주는것이다.

- 빨간색, 초록색 점들처럼 튀는 에러들을 어떻게 할 것인가?
- c 시그마 i
- c = 에러반영, ei = 튀는 에러 => 없애면서, 죽이면서 가겠다.
- c 값을 작게, 에러가 커지는것 까지 예상 => U.F
- SVM 을 수정하기 위해서 COST FUNTION에 C값을 포함 불포함
- C를 중심으로 bias가 큰쪽으로 갈꺼냐, 작은쪽으로 갈꺼냐
- 기존에 있는 Loss fuction에 대해서, 주어진 대로 하는것이 아니라, 내가 변수C를 통해서 컨트롤 하는게 가장 중요하다.
- SVM
- 기본 Hyper plane
- F 에서 : C

이렇게 안나누어 지는 경우는?

- 행렬의 곱을 통해서 3차원으로 확대
- 커널 변환 = 차원을 변환 시키는 것
- 대표적인 것 RBF
- 스무스하게 올릴꺼냐, 아니면 경사가 급하게 올릴꺼냐
-가장 중요 + 차원, kernel
point
- 기존 규약식에서, 내가 뭘 더해주는지에 따라서 규약을 정한다.

요즘은 데이터를 주고, 코드로 풀게 하는 경우가 많다!, 실질적으로 너가 할수 있는지를 체크