전체 글 (73) 썸네일형 리스트형 [Java][짧막지식] ==과 equals는 어떤 차이가 있는가? (with Wrapper Class) Java에서 ==과 equals는 어떤 차이가 있는가?라고 질문이 온다면 무어라 답변할 수 있을까? 나의 경우에는 자바에서는 문자열에서 값이 같은지를 비교하기 위해선 equals를 써야 한다.라고밖에 생각이 나질 않았다. 보통은 이정도만 아는 사람이 많을 것이다. 나도 그랬었다. 하지만 오늘 이 둘에 대해 한번 알아보도록 하자. 1. ==와 equals는 어떤 점에서 같은지? 둘 다 어떠한 두 내용을 비교하고 true 나 false를 반환한다는 점에서 같다고 볼 수 있다. 2. 어떤 점에서 다른지? a) 일단 쓰이는 형태가 다르다고 볼 수 있다. ==은 비교연산자이며 equals는 메소드라는 점에서 다르다. ++) equals는 최상위 Class인 Object 클래스에 정의된 메소드 이므로 비교 대상이 .. [SckitLearn]앙상블 학습의 개념과 사용법(3)_부스팅 배깅과 페이스팅, 그리고 결정 트리를 활용한 랜덤 포레스트 알고리즘이 무엇인지, 또 사이킷런에서는 어떻게 사용하는지 배웠었다. 이번에는 앙상블 학습의 부스팅이라는 개념에 대해 알아보도록하자. 부스팅? 부스팅의 기본적인 개념은 낮은 성능의 여러 예측기들을 연결해 높은 성능의 예측기를 만드는 것이다. 부스팅은 이전의 약한 예측기를 보완해 나가면서 학습시키는 것이다. 종류로는 에이다부스트와 그레디언트부스팅이 있다. 에이다부스트 이전의 예측기를 보완하는 방법으로는 이전의 예측기가 가중치를 낮게 잡았던 샘플의 가중치를 높이는 방법이 있다. 이를 에이다부스트라고 한다. 그레디언트 부스팅 그레디언트 부스팅은 에이다 부스트처럼 샘플의 가중치를 수정하는 것이 아니라 이전의 예측기가 만든 잔여 오차에 새로운 학습기를 학습.. [SckitLearn]앙상블 학습의 개념과 사용법(3)_랜덤포레스트 저번 시간에 배깅과 페이스팅 방식이 무엇인지 알아보고 사이킷런으로 직접 사용까지 해보는 시간을 가졌었다. 이번 시간엔 배깅과 페이스팅을 활용한 랜덤포레스트 알고리즘에 대해 알아보는 시간을 가져보자. 배깅?페이스팅? 데이터셋에 변화를 주어 다양한 예측기를 만들어내는 앙상블 방법 중 하나이다. 랜덤포레스트? 결정트리 기반의 배깅과 페이스팅을 적용한 앙상블 알고리즘이다. 사이킷런에서는 BaggingClassifier()에 DecisionTreeClassifier()을 넣어 만든것과 비슷하나 RandomForestClassifier()을 사용하면 좀 더 편리하게사용이 가능하다. 랜덤포레스트 알고리즘은 트리를 분할할때 무작위성을 추가해 다양한 트리를 만듦으로써 좋은 성능의 모델을 만들어낸다. RandomFores.. [SckitLearn]앙상블 학습의 개념과 사용법(2)_배깅, 페이스팅 방식 지난 시간에는 앙상블의 개념과 투표 방식의 앙상블 학습에 대해 알아보았었다. 이번 시간에는 앙상블 중에서도배깅과 페이스팅 방식에 대해 알아보도록 하자. 배깅? 페이스팅이란? 배깅(Bagging)과 페이스팅(Pasting)이 무엇인지 바로 알아보기 전에 앙상블 학습에 대해 다시 살펴볼 필요가 있다. 저번 시간에 앙상블 학습에서 서로 독립적이며 다양한 분류기를 사용할수록 정확도가 높아진다는 사실을 배웠었다. 그렇다면 어떻게 다양한 분류기를 만들 수 있을까? 다른 알고리즘을 사용하는 분류기를 만들면 된다. 하지만 데이터에는 변화를 줄수 없을까? 에서 고안된 방법이 바로 배깅과 페이스팅이다. 훈련 데이터에서 무작위로 중복을 허용해서 뽑아 사용하는 것을 배깅이라고 하며 중복을 허용하지 않는다면 페이스팅이다. 말만.. [SckitLearn]앙상블 학습의 개념과 사용법(1)_투표방식 저번시간에는 서포트 벡터 머신을 활용한 회귀에 대해 알아보았다. 이번시간에는 앙상블 학습이 무엇이며 왜 사용하는지, 그리고 사용은 어떻게 하는지 알아볼 예정이다. 앙상블 학습이란? 앙상블 학습이란 여러 개의 모델들이 예측을 하여 예측들을 가지고 최적의 결과를 뽑아내는 것을 앙상블 학습이라고 한다. 이러한 앙상블 학습에는 투표방식, 배깅과 페이스팅, 부스팅, 그리고 스태킹 등의 여러 방식이 존재한다. 한번 천천히 알아보도록하자. 투표방식 투표방식은 아래처럼 여러 예측기를 사용해 나온 예측(클래스) 중 가장 많이 나온 예측을 그 결과로 삼는 것이다. 이렇게 예측(클래스)을 다수결 투표로 정하는 것을 직접 투표(hard voting)라고 한다. 하드 보팅의 동작 방식을 아래 [그림 1]과 함께 살펴보도록 하자.. [SckitLearn]지도학습 알고리즘(4)_SVM 회귀의 특징과 사용법 저번 시간에는 비선형 서포트 벡터 머신(SVM) 분류기의 기본적인 개념과 사용법을 살펴보았다. 이번시간에는 SVM 분류가 아닌 SVM 회귀에 대해 알아보도록 하자. SVM 회귀란? SVM 회귀에 대해 알아보기 전에 SVM 분류가 어떤 식으로 동작하는지 살펴봤던 기억을 떠올릴 필요가 있다. SVM 분류는 아래처럼 기준선과 샘플(서포트 벡터) 간의 거리(마진)가 최대가 되도록 하며, 기준선과 마진 사이에 샘플이 최대한 적게 들어가도록(마진 오류가 적도록) 선을 긋는 것이다. 선형 SVM분류기의 경우, 기준선과 각 클래스 간의 거리(margin)가 가장 크도록 선을 긋는다. 그래서 라지 마진 분류(large margin classification)라고 불린다. 회귀는 분류와 같이 기준선과 샘플 간의 거리(마진.. [SckitLearn]지도학습 알고리즘(3)_비선형 SVM 분류기의 특징과 사용법 저번 시간에는 서포트 벡터 머신(SVM)의 기본적인 개념과 이를 활용한 선형 SVM 분류기의 사용법을 살펴보았다. 이번시간에는 비선형 SVM 분류기에 대해 알아보도록 하자. 비선형 SVM 분류기란? 먼저 비선형 SVM 분류기에 대해 알아보기 전에, 왜 이러한 비선형 SVM 분류가 필요하였는지 알아볼 필요가 있다. 대체로 많은 경우에선, 선형 SVM 분류기는 잘 작동한다. 하지만 아래의 [그림-1]과 같이 비선형적인 특징을 가진 데이터들은 기존의 선형 SVM 분류기만으론 구분을 할 수가 없다. 비선형적인 데이터들을 분류하기 위해서는 기존의 선형 분류기에 비선형적인 특징을 추가해야하한다. 이를 위한 다항식, 가우시안RBF, 문자열, 문자열 서브시퀀스, 레벤슈타인 거리 커널 등 다양한 커널함수가 존재한다. 커.. [SckitLearn]지도학습 알고리즘(2)_선형 SVM 분류기의 특징과 사용법 이번 시간에는 지도학습 머신러닝 모델 중 하나인 서포트 벡터 머신, 그중에서도 선형 분류기에 대해 알아보자. 그리고 실제 코드로는 어떻게 사용하는지 또한 알아보자. 저번 시간에 아래와 같은 설명으로 간략하게 알아보았었다. 두 카테고리 중 어느 하나에 속한 데이터의 집합이 주어졌을 때, SVM 알고리즘은 주어진 데이터 집합을 바탕으로 하여 새로운 데이터가 어느 카테고리에 속할지 판단하는 비확률적 이진 선형 분류 모델을 만드는 방식으로 동작합니다. [Tensorflow][Keras]인공지능? 머신러닝? 딥러닝? 요즈음 인공지능이 일상생활 속에도 많이 쓰이면서 쉽게 들을 수 있게 되었습니다. 그래서 인공지능 딥러닝 머신러닝 데이터 분석.. 등등 많은 관련 용어들이 혼용되어 쓰이는데 이에 대해 개념 all4nu.. 이전 1 2 3 4 5 6 7 8 ··· 10 다음