728x90

hierarchical clustering 

계층적 군집화(Hierarchical Clustering)

  • 개체들을 가까운 집단부터 순차적/계층적으로 차근차근 묶어 나가는 방식
  • 유사한 개체들이 결합되는 dendogram 을 통해 시각화 가능
  • 사전에 군집의 개수를 정하지 않아도 수행가능
  • 모든 개체들 사이의 거리에 대한 유사도 행렬 계산
  • 거리가 인접한 관측치끼리 cluster형성
  • 유사도 행렬 update

 

학습 과정 

Hierarchical Clustering 를 수행하려면 모든 개체들 간 거리(distance) 유사도(similarity)가 이미 계산되어 있어야 합니다.

이표는 A와 D의 거리가 가까워서 cluestring 을 한다. 

AD군집과 가장 가까운 거리는 C라는것이라고 해서 묶어서 새로운 cluester로 할당을 하는것이다. 

마지막으로 adc를 b와 묶어서 표현을 한다. 

마지막으로 총 4개로 볼수있다. 

한 군집으로엮었으면 거리행렬을 바꾸어주어야합니다. 다시 말해 개체-개체 거리를 군집 개체 거리로 계산해야 한다는 것입니다. 

 ‘AD’와 ‘B’, ‘AD’와 ‘C’ 이렇게 거리를 구해야 한다는 말입니다. 그런데 군집-개체, 혹은 군집-군집 간 거리는 어떻게 계산해야 할까요? 여기엔 아래 그림처럼 여러가지 선택지가 존재합니다.

 

Cluestering 간의 거리 

 

데이터간의 거리로 하였는데 나중에는 

군집간의 거리를 구하는것이기때문에 이거를 얘기를 하고있다. 

 

최소점

최대점

모든데이터간의 거리를 평균 

군집간의 중앙점에 대한 거리

 

이 4가지 를 제일 많이 사용합니다

 

그리고 . 

 

728x90

'ML > 머신러닝' 카테고리의 다른 글

머신 러닝 - cost Function  (0) 2022.06.20
머신러닝 - logistic classificaction  (0) 2022.06.20
머신러닝 Minimize cost  (0) 2022.06.20
머신 러닝 - 기본 용어 및 개념  (0) 2022.06.16
728x90

Cost function 은 예측값과 실제 결과 값의 차이를 나타내는 함수입니다. 

예측을 하는 데이터를 바꾸면서 실제 결과 값과 차이를 그래프로 나타내어 최소화 된 값을 구한는것이 cost function입니다.

Cost function 을 이용하여 Logistic Regression 에 해당하는 그래프를 그리면 아래와 같이 U 자 가 아닌 굴곡이 가득한 그래프가 보일것이다. 

Gredient descent algorithm 을 통해 최소값을 구하는데 굴곡점에서 컴퓨터는 최소화된 값이라 생각하여 학습을 멈추게 될것입니다. 따라서 가설을  바꾸어 cost function 도 New cost function for logistic 이 생겨났습니다. 

cost function 은 데이터에 대한 평균을 나태내는데 c라는 함수에 대한 평균으로 나타낼수 있습니다. 

Logistic Regression 의 경우 바로 이 C라는 함수가 달라지는데 결과 값인 y 에 따라 다른 함수를 대입시킵니다. 

log 에 대한 값이 들어간 이유는 e에 대한 값 처리를 하기 위해섭니다. 

실제 결과값은 0과 1사이에만 가질수있습니다. 

실제값이 1일때 그래프를 그려보게 되면 예측밧이 1에 가까워질수록 cost function 의 값은 집니다. 반대인경우 0에 가까워지면 cost function 의 값이 무한대로 증가되어 예측이 틀렸다는것을 보여줍니다. 

y 가 0일때도 마찬가지입니다. 

간혹가다 특별한 경우 예를 들어 병원 에서 암진단 관련으로 나올때는 평균값을 0.5가 아닌 0.4혹은 다른 평균값을 낼수 있습니다.

예측값을 0.4로 낮추었을때 

728x90

'ML > 머신러닝' 카테고리의 다른 글

Hierarchical clustering 소개  (0) 2022.07.20
머신러닝 - logistic classificaction  (0) 2022.06.20
머신러닝 Minimize cost  (0) 2022.06.20
머신 러닝 - 기본 용어 및 개념  (0) 2022.06.16
728x90

logistic classification  - Classification 알고리즘 중에서도 가장 정확도가 높은 알고리즘으로 알려져있습니다. 

그중에서도 Binary Classification 으로 둘중에 무엇에 속하는지를 판별하는 알고리즘으로 생각할수있다. 

대표적인 예시로 받은 이메일이 스팸인지 아닌지 판별이 필요하다. 또한 페이스북에서 나의 친구들의 모든 타임라인을 보여주는것이 아닌, 내가 좋아요 혹은 특정정보를 Follow 하여 생긴 것들을 판별하여 나의 피드에 띄어주는 학습 그리고 이때 쓰이는것이 encoing 할때 0 과 1이 사용된다

Binary Classfication 으로 값을 구할떄 linear regression 으로 구할수도있다. 단 단점이 너무 극명해진다. 

0~ 1 사이에 0.5를 기준으로 pass or fail 을 주는 알고리즘으로 생각해보자. 

2시간 공부해서 패스한 사람과 4시간 공부해서 패스한사람이 있고 0.5로 나누었을대 둘다 예를 들어 패스라고 가정하고 다른 학생이 50시간 공부해서 패스했다고 치면 평균의 값이 0.5가 아닌 1로 되어버려 학습이 되어버리고 2시간 혹은 4시간 공부한 사람들은 패스를해도 학습을 통한 머신은 불합격처리를 해줄수있다.

이러한 문제 점 때문에 sigmoid 함수를 이용하여 linear Regression 값을 사용하여 logistic Hypothesis 가 탄생하게 된다.

 

(Linear  Regression 형태의 식이 간단하고 좋지만 0 1 사이로 함축해주는 것이  z 축을 넣으면 좋을 거 같다 해서 나온 함수: 0~1가 나오는 함수 ( numpy에서 np.exp(-z) 로 쉽게 계산이 가능하다. )

 

728x90

'ML > 머신러닝' 카테고리의 다른 글

Hierarchical clustering 소개  (0) 2022.07.20
머신 러닝 - cost Function  (0) 2022.06.20
머신러닝 Minimize cost  (0) 2022.06.20
머신 러닝 - 기본 용어 및 개념  (0) 2022.06.16
728x90

Cost Function  

앞서 배운것 linear Regression 의 목표는 우리가 가지고 있는 W,b를 가지고 cost minimize 하는것이다. 

 

간단한 hypothesis 를 만드는 식을보자 

그러다면 cost(W) 는 어떻게 보일까? 

 

 

 

 

Gradient descent algorithm 

수식:

최소화 하는데 있어서 가장 많이 쓰이는 알고리즘이다. 

 

 

 

주어진 cost function 에 minimize 를 사용한다. 

아무지점이나 시작할수 있다. 

W가 0일때 시작할수도 있다. 

W를 조금 바꾸면서 cost 를 줄일수있다.

그 과정을 반복하는것이다. 

어떠한 점에서 시작하는 간에 최저점에 도달할수있는 과정이다. 

 

Convex function  : cost(w,b) 식으로 쓴다면 어느 시점에 시작을 하더라도 항상 답을 찾아서 가져다 준다. 

코스트펑션을 설계할때 무조건적 convex function 이 되는지 확인해야한다. 

linear 을 하기전에 cost 가 convext function 인지 보고 확인을 하고 문제없이 gradien descent algorithm 을 사용할수 있다. 

 

728x90

'ML > 머신러닝' 카테고리의 다른 글

Hierarchical clustering 소개  (0) 2022.07.20
머신 러닝 - cost Function  (0) 2022.06.20
머신러닝 - logistic classificaction  (0) 2022.06.20
머신 러닝 - 기본 용어 및 개념  (0) 2022.06.16
728x90

Machine Learning - 기계를 스스로 학습 시키는것

 

Supervised learning(지도학습)
  •   data(데이터) 와 label(값) 으로  학습 시킨 머신러닝 
  • ex) 사람들이  고양이가 있는 사진(data) 에 고양이라고표시(label) 을 넣어주어 학습시킨다(엄청나게 많은 사진이 필요함)
Unsupervised learning (비지도학습)
  • label(값)이 없는 상황속에서 데이터만 보고 스스로 학습시키는것
  • ex) 각종의 뉴스(정치,경제,스포츠 등...)을 자동적으로 그룹핑 시키는것 google news grouping 이 대표적이다. (컴퓨터보고 스스로 그룹핑해봐' 라고 시킨것) 

 

supervised learning

 

일반적으로 ML에서 주로 사용되는 것이다. 

 

ex)

  • Image labeling : 각각의 이미지에 맞는 label을 붙여서 학습 시킨 결과
  • Email spam filter : 이미 데이터화된 스팸메일을 통해 스팸인지 햄인지 구별해서 학습시킨 결과
  • Prediction exam score : 축적되어있는 성적 데이터를 통해서 시간대비 성적을 알려주는 학습. 

 

Training data / lebel 을 알아보자!

1)data 와 label 을 통해 학습을 시키고 2)임의 의 데이터값을 주었을때 3)결과(label)의 값을 가져오는 결과.

 

Types of supervised learning 

1)Regression ( 회귀) : 입력한 data에 대한 연속적인 수치를 예측하는것이다. 

 ex) 공부시간에 따른 점수(0~100점) 예측

 

예측 범위가 넓어서 classification 보다 regression 으로 볼수있다. 

 

2)Classification (분류) 

입력한 data 를 각각의 label로 분류하는것

-binary classification : 두단계로 분류 (ex) 공부시간에 따른 P or F

-multi-label classification : 여러 단계로 분류 (ex) 공부시간에 따른 A/B/C/D/F 등급

 

728x90

'ML > 머신러닝' 카테고리의 다른 글

Hierarchical clustering 소개  (0) 2022.07.20
머신 러닝 - cost Function  (0) 2022.06.20
머신러닝 - logistic classificaction  (0) 2022.06.20
머신러닝 Minimize cost  (0) 2022.06.20

+ Recent posts