목록분류 전체보기 (78)
늦깎이 공대생의 인공지능 연구실
특성값 및 결과값 간의 관계가 비선형적이거나 서로 상호작용하는 상황에서는 선형 회귀 및 로지스틱 회귀 모델을 사용하는 것이 적합하지 않습니다. 이러한 데이터에는 의사결정 트리(Decision Tree)이 빛을 발하게 됩니다! 트리 기반 모델은 특성값의 특정 컷오프 값에 따라 데이터를 여러 분 분할합니다. 분할을 통해 각 인스턴스가 하나의 부분 집합에 속하는 데이터 집합의 서로 다른 부분 집합이 생성됩니다. 최종 부분집합을 말단(Terminal) 또는 리프 노드(Leaf node)라고 하고 중간 부분집합을 내부 노드 혹은 분할 노드라고 합니다. 각 리프 노드의 결과를 예측하기 위해 이 노드의 학습 데이터의 평균 결과를 사용합니다. 트리는 분류와 회귀에 사용할 수 있습니다. 트리를 기를 수 있는 다양한 알고..
선형 회귀 모델의 가장 큰 장점은 예측값이 특성값의 가중치합으로 모델링된다는 것입니다. 또한, 선형 모델은 많은 가정등을 세울 수 있습니다. 그러나 이러한 가정들이 종종 현실에서는 틀릴 경우가 있다는 것입니다. 특성값에 주어진 결과값은 정규분포를 가질 수 있고, 특성값이 상호작용할 수 있으며 특성값과 결과값 사이의 관계가 비선형적일 수도 있습니다. 다행히도 통계학계에서 선형 회귀 모델을 단순한 칼에서 스위스칼로 변형시키는 다양한 수정방법을 개발했다는 것입니다. 이 포스팅에서 다루는 내용을 선형 모델을 확장하기 위한 것이라고 장담하지는 않겠습니다. 여기서는 GLM(Generalized Linear Model)과 GAM(Generalized Additive Models)과 같은 확장 개념에 대한 간단한 소개..
로지스틱 회귀는 두 가지 가능한 결과를 갖고 있는 데이터를 분류하는 문제에 대한 확률을 모델링합니다. 이는 즉 분류 문제에 대한 선형 회귀 모델의 확장이라 할 수 있습니다. 선형 회귀의 단점은 무엇인가? 선형 회귀는 회귀 분석에서는 요긴하게 사용될 수 있지만 분류에서는 실패하는 경우가 발생합니다. 왜 그런것일까요? 두 가지 클래스가 있을 때 하나의 클래스에 0을, 다른 클래스에 1을 라벨로 지정하고 선형 회귀 분석을 사용할 수 있습니다. 기술적으로 이는 효과가 있고 납들할 만한 가중치값을 보입니다. 그러나 이러한 선형 회귀 접근법에는 몇 가지 문제가 있습니다. 선형 모델은 확률을 파악하는 것은 것은 매우 어려우며 두 클래스를 숫자(0과 1)로 처리하며 각 클래스 특성값의 점과 초평면(Hyper plane..
선형 회귀 모델은 특성값(Feature)의 입력과 가중치(Weight)의 곱의 합으로 목표값으로 예측하는 것을 말합니다. 학습된 관계의 선형성은 해석을 쉽게 만들줍니다. 선형 회귀 모델 오랫동안 통계학자와 컴퓨터 과학자들은 물론 상당한 양의 문제를 다다루는 사람들이 주로 사용하는 알고리즘입니다. 선형 모델들은 일부 특성값 x에 대한 회귀 목표값 y의 의존성을 모델로 만들 수 있습니다. 학습된 관계는 선형이고 이는 단일 인스턴스 i로서 다음과 같이 나타낼 수 있습니다. $$y=\beta_{0}+\beta_{1}x_{1}+\ldots+\beta_{p}x_{p}+\epsilon$$ 위 식의 결과는 특성값 p개에 가중치를 곱한 합으로 나타냅니다. \(\beta_j\)값들은 계수의 가중치입니다. 첫 번째 가중치값..
기계학습으로 학습을 하기 위해서는 특정한 구조의 데이터셋을 필요로 합니다. 각 데이터셋의 구조는 다르지만 이를 학습하기 위한 딥러닝 기계학습 과정은 크게 다르지 않습니다. 여기서는 다양한 분야에서 생성된 데이터셋들의 일부에 살펴보도록 하겠습니다. 1. 자전거 대여(회귀) 이 데이터셋에는 자전거 대여 회사로부터 당일 빌린 자전거의 대수와 그 날의 날씨 및 계절 정보를 포함하고 있습니다. 이 데이터들을 통해 우리들은 날씨에 따라 자전거 대여수가 얼마나 달라지는지 알아낼 수 있습니다. 자전거의 데이터셋의 구성에 대해 알고 싶으신 분은 아래의 Github 사이트를 통해 확인해주세요 https://github.com/christophM/interpretable-ml-book/blob/master/data/bike..
사람들이 "좋은" 설명이라고 하는 것은 무엇인지, 그리고 해석할 수 있는 기계학습이 담고 있는 의미는 무엇인지 좀 더 자세히 알아보도록 합시다. 이를 위해 인문학에 대한 연구가 답을 찾아내는데 도움이 될 수 있을 것입니다. Miller(2017)는 설명에 대한 대규모 조사를 수행한 논문을 발표하였는데 여기서 그의 논문 내용을 요약해보고자 합니다. 한 사건에 대한 설명으로서 사람들은 지금의 상황을 그 사건이 벌어지지 않았을 때와 비교할 수 있는 한 두가지의 경우를 예로 들어 최대한 짧은 설명을 선호합니다. 특히 평소에는 벌어지지 않는 비정상적인 상황은 설명하기가 더 쉽습니다. 설명은 설명하는 사람과 설명을 듣는 사람 사이의 사회적 상호 작용이며, 따라서 사회적 맥락은 설명의 실제 내용에 큰 영향을 줍니다...
기계학습 모델에 대해 설명을 하기 위해서, 설명을 생성하는 알고리즘을 설명하는 방법이 필요합니다. 하나의 설명은 대개 하나의 인스턴스의 특성값을 사람이 이해할수 있는 방법으로 특성값의 모델 예측과 연관시키는 것입니다. 다른 유형의 설명은 하나의 데이터 인스턴스의 세트로 구성되어 있습니다(k-nearst neighbor model이 대표적이라 할 수 있습니다). 예를 들어, 우리는 서포트 벡터 머신(Support vector machine)을 사용하여 암의 위험을 예측할 수 있고, 일부분 대리 모델(local surrogate method, LIME)을 활용하여 의사결정 트리(decision tree)를 사용하여 설명을 생성하여 예측을 설명할 수 있습니다. 또는 서포트 벡터 머신 대신에 선형 회귀 모델(l..
학습을 위해 사용되는 알고리즘이 만들어내는 모델의 해석력에 대해 다룰 때, 해석력의 범위와 평가를 정의함으로서 해석력의 특성을 좀 더 자세히 설명할 수 있습니다. 특정한 모델에 대해 투명성(transparency)와 해석력(interpretability)의 관점에서 다음과 같은 범위로 평가할 수 있습니다. 1.알고리즘 투명성(Algorithm Transparency) 이 알고리즘은 어떻게 모델을 생성할까? 알고리즘 투명성은 알고리즘이 어떻게 데이터로부터 모델을 학습시킬수 있는지와 어떠한 종류의 관계를 학습시킬 수 있는지에 관한 것입니다. 만약 여러분들이 컨볼루션 신경망(Convolutional Neural Network)이 어떻게 이미지를 분류하는 지에 대해 설명해 달라는 질문을 받는다면, 아마도 여러분..