[MLstudy] 서포트 벡터 머신(SVM) - Q&A

juyeon lee·2023년 5월 9일

MLstudy

목록 보기
5/8
post-thumbnail

주 2회 ML & DL Study & Q&A 피드백 진행
해당 자료
📗 서포트 벡터 머신
스터디원🙎‍♀️ @dbswls6685

2023-03-13 5회차

❓ 질문 1

Q. 비용 c가 svm에서 사용하는 하이퍼파라미터 c와 같은가?
A. YES

❓ 질문 2

Q. 마진이 최대인 결정경계를 찾는게 목표인데 그럼 비용 변수를 낮게 설정시킬수록 적합한 결정경계를 찾을 가능성이 높아지는가?
A. YES 너무 낮으면 과소적합이 일어날 수 있으니 최적치를 찾는다.

❓ 질문 3

Q. 적절한 비용 값을 설정하는 방법이 그리드 서치이다. 이에 대해 설명해달라.
최적치 찾는게 그리드서치랑, 교차검증
그리드서치란?
A.
하이퍼 파라미터에 넣을 수 있는 값들을 순차적으로 입력한 뒤, 가장 높은 성능을 보이는 하이퍼 파라미터를 찾는 탐색 방법

❓ 질문 4

Q. 비용과 감마 모두 분류,회귀 둘 다 사용 가능한 파라미터인가?
A.비용은 분류 모델에서만 사용

❓ 질문 5

Q. 감마 파라미터가 작을수록 데이터 포인트의 영향이 커진다는게 무슨 말인가
A. 완만하다 = 굴곡이 없는 경계 (완만한게 좋은거)
감마 파라미터가 데이터 포인트에 영향을 주는데 데이터 포인트는 결정경계 주위에 잇는거니까 결정경계를 설정하는데 영향을 크게 주니까 굴곡에도 영향을 미친다.

❓ 질문 6

Q. svm모델이 적은 학습 데이터로도 정확도 높은 분류가 가능한 이유
A. 코드에서 파라미터 커널은 기본값이고 감마와 비용c의 범위를 다르게 설정한 이유
감마 0.1 코스트 1로 디폴트값이 가장 이상적인 파라미터 값임
코스트는 로그 스케일 단위로 최적치를 탐색한다.

❓ 질문 7

Q. 코드에서 시각화할때 파라미터에 0.01,1,100 곱한 거면 이게 최적값이라?
A. cost 1 감마 0.1 커널 rbf 이 최적치로 나옴
9개중 가운데에 있는 그래프가 감마가 1이고 코스트 0.1인 그래프다
나머지는 비교하려고 0.01

❓ 질문 8

Q. 감마가 커널의 표준편차를 조절한다고 했는데 커널 트릭을 쓸 때만 감마 파라미터를 사용하는건가?
A. 커널의 표준편차는 결국 데이터의 흩어진 정도를 조절하니까 결정경계 굴곡에도 영향을 미친다.

❓ 질문 9

Q. drop 변수 이용해서 변수 삭제한 세가지가 분류하는데에 큰 영향이 없어서 삭제한건지
A. 포지션 분류하는데 2점슛, 어시스트, 스틸 세개의 변수가 큰 영향을 가지고 있지않음. 변수들이랑 Pos(포지션) 변수랑의 산점도 확인해보니 큰 영향을 주지 않음.
포지션에 슈팅가드랑 센터 밖에 없음

❓ 질문 10

Q. 커널트릭이 소프트마진에만 쓸 수 잇는가
A.

❓ 질문 11

Q. 매핑함수랑 커널함수랑 같은건가
A.

❓ 질문 12

Q. 소프트마진의 페널티 부여에서 페널티가 감마랑 비용인가?
A.

❓ 질문 13

Q. 슬랙변수는 무엇인가?
A. 완벽한 분리가 불가능할 때 즉, 선형적인 분리가 불가능할 때 어느정도 오차를 허용하면서 초평면을 찾을 때 사용하는 변수이다. 관측치의 에러 정도를 나타내는 역할을 하는데 각 관측치마다 하나씩 존재한다.

분류가 올바르게 된 경우 Slack Variable = 0
분류를 위한 마진 허용하는 경우 0 < Slack Variable < 1
분류가 제대로 안된 경우에는 Slack Variable > 1

❓ 질문 14

Q. svr 회귀모델 poly는 어떤 함수인가
A. 다항함수

❓ 질문 15

Q.코드에서 감마, c값 지정
A.

❓ 질문 16

Q. 정확도가 높게 혹은 낮게 나온건지 잘 모르겠음
A.

❓ 질문 17

Q. 코드가 하우스 집값 예측인데 이걸 svm에 적용하면 어떻게 설명할 수 있을지
이 코드 분석 결과로 낼 수 있는 결론이 뭔지
A. 새로운 x 데이터가 들어왔을 때 그래프에 찍히는 데이터는 y값으로, 결정경계 즉 회귀선과 마진 사이에 많은 데이터가 모여있을수록 좋은 모델,

❓ 질문 18

Q. scaler.transform에서 fit_transform( )과 transform( )의 차이
A. 스케일링을 할 때 꼭 사용하는게 fit_transform(), fit(), transform()메서드이다.

  • fit_transform()은 말그대로 fit()과 transform()을 한번에 처리할 수 있게 하는 메서드인데 조심해야 하는 것은 테스트 데이터에는 fit_transform()메서드를 쓰면 안된다.
  • fit()은 데이터를 학습시키는 메서드이고 transform()은 실제로 학습시킨 것을 적용하는 메서드이다.

0개의 댓글