본문 바로가기

Data Analytics18

[ML] 머신러닝 최적화 방법, 경사하강법(Gradient Descent) 알아보기 / 확률적 경사하강법 1. 경사하강법(Gradient Descent) ? 머신러닝, 딥러닝 알고리즘 학습 시 사용되는 최적화 방법(Optimizer) 중 하나이다. 알고리즘 학습의 목표는 예측값과 실제값간의 차이인 손실함수의 크기를 최소화시키는 파라미터를 찾는것이다. 학습데이터 입력을 변경할 수 없으니까, 손실함수값의 변화에 따라 가중치(weight) 혹은 편향(bias)를 업데이트해야한다. ex) 가장 간단한 모델인 선형 회귀에서 cost를 최소화하기 위해 아래와 같이 코드를 작성 할 수 있다. optimizer = tf.train.GradientDescentOptimizer(learning_rate=0.01) train = optimizer.minimize(cost) 1-1. 경사하강법 그래프 step1 : w1,w0를 .. 2022. 11. 7.
[ML] 머신러닝 지도학습의 회귀(regression)의 종류와 실습해보기 💡 회귀는 여러개의 독립변수와 한 개의 종속변수 간의 상관관계를 모델링하는 것이 기본적인 개념이며, 독립변수에 영향을 미치는 회귀 계수(Regression coefficients)의 최적값을 찾아 종속변수를 예측해내는 것이다. ex) 아파트의 방 개수, 방 크기, 주변 학군, 교통 등 여러개의 독립변수에 따라 아파트 가격이라는 종속변수가 어떤 관계를 나타내는지 모델링하고 예측하는 것독립변수 개수 회귀 계수의 결합 1개 : 단일 회귀 선형 : 선형 회귀 여러 개 : 다중(다항) 회귀 비선형 : 비선형 회귀 분류는 예측값이 카테고리와 같은 이산형 클래스값이고, 회귀는 연속형 숫자값이다. 회귀는 연속적인 숫자를 예측하는 것이다. 사람의 나이, 농작물의 수확량, 주식 가격 등 출력값이 연속성을 갖는것 회귀에서 .. 2022. 11. 7.
[Growth] 그로스해킹이란? 1. 그로스해킹이란? 그로스해킹(Growth Hacking)은 성장(Growth)을 위한 모든 수단(Hacking)이란 뜻으로 공격 대상의 미세한 빈틈을 찾아 해킹을 하듯이 성장을 위해 고객과 유통과정 등의 공략지점을 찾아내고 이를 적극적으로 공략하는 마케팅 방법론이다. ✅ 가설 수립 → 모델 출시하여 시장의 평가를 받음 → 상품,모델 개선 반복 2. 전제조건 : Product-Market Fit 1. 그로스해커는 제품 시장 적합성(Product-Market Fit ; PMF)을 달성하기 위해 오랜 시간을 들인다. PMF 란? 제품과 소비자 사이에서 완벽한 조화 상태를 만드는 자업으로 제품 출시 이후에도 최적의 상태가 될 때까지 계속적으로 사용자의 피드백을 받고 개선점을 찾아 변화하는 과정을 말한다. 그.. 2022. 10. 26.
[ML] 추천 시스템 개발을 위한 surprise 라이브러리 - 컨텐츠 기반 필터링 Surprise 추천 시스템 개발을 위한 라이브러리 다양한 모델과 데이터 제공 1. 간단한 Surprise 실습 from surprise import SVD # SVD 특이값분해 : 행렬을 대각화 from surprise import Dataset from surprise.model_selection import cross_validate # 다중평가지표 # 내장 데이터인 무비렌즈 데이터 로드 data = Dataset.load_builtin('ml-100k', prompt=False) data.raw_ratings[:10] # user_id item_id rating timestamp [out] [('196', '242', 3.0, '881250949'), ('186', '302', 3.0, '8917.. 2022. 10. 2.
[ML] DecisionTree모델 이용해서 붓꽃 품종 예측 / 사용자 행동 인식 Dataset Decision Tree(결정트리) ✔️ 장점 쉽다. 직관적이다. feature의 스케일링이나 정규화 등의 사전 가공 영향도가 크지 않음 ✔️ 단점 과적합으로 알고리즘 성능이 떨어진다. 이를 극복하기 위해 트리의 크기를 사전에 제한하는 튜닝 필요 결정트리 Parameter min_samples_split : 노드를 분할하기 위한 샘플 데이터 수로 과적합을 제어하는 사용됨 miin_samples_leaf : 말단 노드(lead)가 되기 위한 최소한의 샘플 데이터 수 max_feaures : 최적의 분할을 위해 고려할 최대 피처 개수 max_depth : 트리의 최대 깊이를 규정 max_leaf_nodes : 말단 노드(leaf)의 최대 개수 더이상 자식 노드가 없는 노드는 리프(leaf) 노드이다. 리프 .. 2022. 10. 2.
[ML] 머신러닝이란? 지도학습의 분류(Classification) 1. 머신러닝이란? 명시적인 프로그래밍없이 컴퓨터가 학습하는 능력을 갖추게 하는 연구 분야 머신러닝은 데이터를 통해 다양한 패턴을 감지하고, 스스로 학습할 수 있는 모델 개발에 초점 지도학습(Supervised Learning) 입력과 정답데이터로 모델을 학습시키고 정확한 출력을 예측하도록 하는것이 목표이다. 사람들의 노력과 자원이 필요하지만 높은 성능을 기대할 수 있다. 지도학습 알고리즘은 크게 분류와 회귀로 구분된다. 2. 분류 💡 분류는 학습 데이터로 주어진 데이터의 피처와 레이블값을 머신러닝 알고리즘으로 학습해 모델을 생성하고, 생성된 모델에 새로운 데이터 값이 주어졌을때 미지의 레이블값을 예측하는 것이다. 분류는 클래스가 2인 이진분류(binary classification)와, 3개 이상인 다.. 2022. 10. 2.