기술면접 결과 정리 2
🎬 추천 프로젝트 사용 필터링
사용자 기반 협업 필터링
나와 성향이 비슷한 사람들이 사용한 아이템을 추천해 주는 방식이다. A가 온라인 몰에서 a와 b, 그리고 c 도 함께 구매하고, 또 다른 사용자 B는a와 b를 구매했다고 가정해 보자. 알고리즘은 구매 목록이 겹치는 이 두 사용자가 유사하다고 판단해, 사용자 B에게 c를 추천한다. - 나는 프로젝트에서 코사인 유사도를 이용
아이템 기반 협업 필터링
아이템간 유사도를 계산합니다. 아이템간 유사도를 추정해보니 아이템 2번과 아이템 4번이 유사하다고 나타난 거죠. 그럼 아직 아이템 4번을 사용하지 않은 사용자 E에게 아이템 4번을 추천해주는 것입니다. - 나는 유사도 값을 json 형식으로 레시피 간의 유사도를 계산
컨텐츠 기반 필터링
영화를 예를 들면 어떤 유저가 '인셉션'과 '인터스텔라'에 좋은 평점을 주었습니다.
그럼 두 영화의 공통적인 특징을 뽑아낸 뒤 그에 맞는 영화를 추천해주는 방식입니다.
🎬 데이터 분석 순서
✔ 문제정의
- Business 목적 정의 -> 현재 솔루션의 구성 파악 -> 지도(분류, 회귀), 비지도 , 강화 선택
✔ 데이터 수집
- Databsae, 파일, 크롤링, 센서 데이터 등으로 수집
✔ 데이터 전처리
- 결측치 처리 : 데이터 삭제, 다른 값으로 대체(최대값, 최소삾, 중앙값, 예측 모델 활용 값)
- 이상치 처치 : 입력오류(데이터 삭제, 대체), 자연 발생(feature 추가)
✔ 탐색적 데이터 분석
- 데이터의 이행 향상 위해 ,범주형 / 수치형 파악하고 변수간 상관관계, 독립여부 확인
✔ 모델 선택, Hyper parameter 조정
* Hyper parameter : 모델의 성능을 개선하기 위해 사람이 직접 넣은 parameter
머신러닝에서 하이퍼파라미터는 최적의 훈련 모델을 구현하기 위해 모델에 설정하는 변수로 학습률(Learning Rate), 에포크 수(훈련 반복 횟수), 가중치 초기화 등을 결정할 수 있습니다. 또한 하이퍼파라미터 튜닝 기법을 적용하여 훈련 모델의 최적값들을 찾을 수 있습니다.
모델 파라미터의 예
- 인공신경망의 가중치
- SVM(Support Vector Machine)의 서포트 벡터
- 선형 회귀 또는 로지스틱 회귀에서의 결정계수
하이퍼파라미터의 예
- 학습률
- 손실 함수
- 일반화 파라미터
- 미니배치 크기
- 에포크 수
- 가중치 초기화
- 은닉층의 개수
- k-NN의 k값
✔ 모델 트레이닝
✔ 평가
(실제, 예측)의 positive, negative, 정확도 재현율, 정밀도 등
✔ 데이터 시각화 / 서비스화
Java와 JavaScript 사이의 주요 차이점: Java는 OOP 프로그래밍 언어인 반면, Java Script는 OOP 스크립팅 언어입니다. Java는 가상 시스템 또는 브라우저에서 실행되는 응용 프로그램을 작성하는 반면, JavaScript 코드는 브라우저에서만 실행됩니다.