ML week5.1.2
2025.04.02 Wed PM 2:59 ・ 25Minutes 11seconds
ZHANG YIWEN
ML 第 5 周 1.2 2025.04.02 周三下午 2:59 ・ 25 分钟 11 秒 张一文
Attendees 1 00:00
비전트 얘기를 했고 두 번째 보면 거는 k 리얼 시트에 대해서 겁니다.
이것도 앞서 얘기한 디시전 트리처럼 난 파라멘트라고 돼 있죠.
어떤 파라미터에서 표현되는 어떤 함수를 찾고 있는 게 아니에요.
이거는 어떤 방법이냐 하면 내가 어떤 x에 대해서 y를 이것도 이제 클래스케이션을 하는데 y를 예측하려고 할 때 이거는 모델 자체가 없는 거예요.
모델을 만들자는 겁니다. 그래서 이걸 게으르다 그래서 레이지 러닝이라고 표현하기도 하고 그러니까 조금 개념 자체가 약간 다른 거죠.
어떻게 보면 이제 이것도 학습이라고 해야 되나 이렇게 생각할 수도 있는데 그럼 모델을 모델이 없는데 어떻게 그걸 예측을 하나 그건 그냥 주어진 데이터를 테스트 타임에 이용해서 y를 예측하는 거예요.
参会人员 1 00:00 讨论了视觉的内容,第二部分是关于 K 近邻算法。这与之前讨论的决策树类似,它也有参数。这不是在寻找由某些参数表示的某个函数。这种方法是在尝试对于给定的 x,预测 y。这是一种分类方法,但是这个模型本身是不存在的。我们要创建一个模型。因此,这被称为"懒惰学习"或"惰性学习",所以概念本身略有不同。从某种角度看,这是否可以称之为学习,这是值得思考的。那么,在没有模型的情况下,如何进行预测呢?实际上是在测试阶段利用给定的数据来预测 y。
Attendees 1 01:04
이름에서 암시하는 거와 같이 리얼리스트 가장 가까운 네이버 이웃 데이터를 찾아서 x의 답이 뭐겠어 그럼 x랑 유사한 거를 쭉 찾아보는 거야 얘네들이 x랑 비슷한데 얘네들은 뭐야 얘네들은 뭔데 그럼 너도 오겠지 이렇게 네 그래서 방법은 여기 간단하게 써 있어요.
우선 k는 뭐냐 몇 개나 유사한 걸 찾아서 제 내가 결정을 할 거냐를 나타내요.
그래서 몇 개를 찾을 건지 하는 k 값을 정하고 그다음에 유사하다는 걸 어떻게 정의할 거냐 그래서 피처 특정한 피처 각들 사이에 차이 같은 걸 나타내는 어떤 디스턴스를 정의하고 k와 디스턴스가 정의되면 그러면 이제 모델이라는 건 따로 처음에 만들어진 게 없고 그냥 x에 대해서 예측하려고 그럴 때 정해진 디스턴스 계산에 의해서 가장 가깝다고 생각되는 KL을 일단 선택한 다음에 그것들의 y 값이 뭔가를 보고 새로운 데이터의 y 값을 예컨대 다수결로 결정하는 거죠.
与会者 1 01:04 正如名字所暗示的,找到最接近现实主义的最近邻数据,x 的答案会是什么?那就是找出与 x 相似的数据。这些数据与 x 相似,那它们是什么?那么你也会得出同样的结论。方法很简单。首先,k 是什么?它表示我将找出多少个相似的数据来做决定。所以要确定找出多少个的 k 值,然后定义什么叫相似。通过定义特征之间的距离,一旦 k 和距离被确定,模型最初并没有被创建。当要预测 x 时,根据预先定义的距离计算,选择最近的 k 个邻居,然后根据它们的 y 值,比如通过多数决定新数据的 y 值。
Attendees 1 02:16
그래서 만약에 x1 x2 값으로 표현되는 데이터들이 있고 클래스가 3개다 그러면 클래스 1 클래스 2 클래스 3에 해당하는 데이터들을 쭉 분포를 보니까 이렇게 생겼다.
그러면 나는 새로운 x 그게 이런 x1 x 값을 x2 값을 갖는다고 해보죠.
그럼 여기에 대해서 그러면 클래스가 뭐야? 결정을 내리려면 예컨대 k가 o라고 하자.
그러면 얘랑 가까이 있는 데이터가 뭔가 셋 넷 5개 선택해가지고 보니까 하나는 플러스 하나는 동그라미 3개가 세모다 그러면 다섯 개 있어 너도 세모 라고 알고 계시면 될 정도.
与会者 1 02:16 假设有 x1 x2 表示的数据,有 3 个类别。查看类别 1、类别 2、类别 3 对应的数据分布。现在有一个新的 x,假设它具有这样的 x1 和 x2 值。那么它的类别是什么?要做出决定,比如 k 等于 o。选择靠近它的数据,比如 3 到 5 个。如果这些数据中有一个是加号,一个是圆圈,3 个是三角形,那么在 5 个数据中,你也会认为它是三角形。
Attendees 1 03:04
네 이건 뭐 얘기할 게 별로 없을 것 같다. 그렇죠 몇 가지만 좀 관련된 내용을 살펴보면 우선 디스턴스 어떻게 정의할 거냐 우리가 흔히 미니코스키 디스턴스라는 게 이렇게 정의되죠.
그래서 이게 여기다 피를 2를 집어넣으면 그게 바로 우리가 공간상의 최단 거리인 유클린디한 디스턴스가 되는 거고 이 피를 1을 집어넣으면 우리가 메나탄 리스턴스가 되는 거예요.
메나탄 디스턴스는 예를 들면 각 피처들 사이의 값 차이를 다 더한 거가 메나탄 디스턴스죠.
공간에서 보면 여기서 여기까지의 뉴클리디언 디스턴스, 메나탄 디스턴스 네 이런 걸 이제 내가 정리해서 사용하면 된다는 거고, 만약에 내가 다루는 것의 y 값이 이제 보통 클래스케이션을 얘기하는 디스크리턴 밸류들이다.
与会者 1 03:04 是的,这可能没有太多可以讨论的。那么,让我们看看几个相关的内容。首先,我们如何定义距离?我们通常定义为闵可夫斯基距离。如果我们将 p 设为 2,那就是空间中的最短距离——欧氏距离;如果将 p 设为 1,那就是曼哈顿距离。曼哈顿距离,例如,是各特征值之间差的总和。在空间中,从这里到那里的欧氏距离和曼哈顿距离就是这样。我们可以整理并使用这些,如果我的 y 值通常是分类中的离散值。
Attendees 1 03:56
그러면 나는 다수에 의해서 예측된 y 값 중에 가장 많은 것이 뭐냐를 결정하면 되는 거고 예를 들면 내가 9개의 네이버를 써서 결정하기로 했는데 찾아서 보니까 그 데이터들 중에 5개는 예스 4개는 누구다.
그럼 나는 예스라고 결정하겠다는 거죠. 만약에 컨티니오스 밸류를 갖는 y 값을 예측하고자 한다.
그러면 당연히 가까운 것들의 y 값을 평균 값으로 우리가 예측할 수 있을 테고
与会者 1 03:56 那么,我可以通过多数预测的 y 值来决定最多的是什么。例如,如果我决定使用 9 个邻居,查看这些数据后发现 5 个是是,4 个是否,那么我将决定选择"是"。如果要预测具有连续值的 y 值,那么当然可以用最近邻的 y 值的平均值来预测。
Attendees 1 04:38
네 이런 디스크리트 밸류의 y 값을 예측할 때도 단순 다수결을 할 수도 있지만 내가 x에 대해서 예측하려고 그러는데 얘는 예스 이거는 노 그런데 그는 다시 s 이만큼 떨어져서 노가 있다고 무슨 얘기를 하려는 거냐 하면 가까운 이웃이라 그러더라도 아주 가까운 애가 있고 좀 덜 가까운 애가 있을 수 있으니까 거기에 따라서 가중치를 다르게 또 할 수도 있다는 거예요.
가중치를 어디다 많이 줄 거냐 하면 가까운 놈이 더 중요해요.
더 디시션에 많은 영향을 미치게끔 해야 되겠죠. 그러니까 디스턴스의 역으로 웨이트를 설정하고 그 비율에 따라서 가중 평균에서 이제 보증을 하도록 그렇게 만들 수도 있다.
네 그러니까 아까 우리가 잠깐 디시전 처리 할 때 봤던 그 데이터와 똑같은 건데 아까는 예스 노 이런 식으로 표현된 걸 저렇게 수치로 바꾼 거예요.
出席者 1 04:38 是的,在预测这种离散值的 y 值时,可以简单地采用多数投票,但我想预测 x 的值。这里是是,这是否,但他又说 s 距离这么远,有一个否。他想表达的是什么呢?就是即使是近邻,也有非常近的,也有相对不太近的。因此,可以根据距离给予不同的权重。权重主要给在哪里呢?近的那个更重要。它应该对决策产生更多影响。所以可以设置与距离成反比的权重,并根据这个比例在加权平均中做保证。是的,这就是我们之前处理决策时看到的那个数据,只是之前是是否,现在把它转换成了数值。
Attendees 1 05:48
AG는 3개의 값을 갖고 있다. 그래서 하나를 0 하나 0 하나를 1 중심으로 변환한 거고 그럼 이제 전부 뉴메리컬한 데이터가 되겠죠.
그럼 이제 디스턴스라는 걸 계산할 수가 있겠죠. k 리어시트 네이버를 써서 내가 이제 예측을 하겠다.
그러면 k는 예를 들어서 3으로 정하자. 디스턴스라는 건 메나탄 디스턴스를 쓰게 하죠.
데이터는 포디맨저널 스페이스 안에 좀 콜을 하겠죠.
x가 이렇게 주어졌어요. 에이즈는 20이고 이런 커스터머가 있을 때 얘는 ys 개수는 뭐겠어?
예측하려고 그럽니다. 얘를 이 앞에 데이터를 변하는 거랑 똑같이 같은 규칙에 의해서 유메리컬한 값으로 변하는 건 이런 값이 돼요.
그러면 내가 이 x 대해서 예측하기 위해서 얘랑 가장 가까운 3개를 찾는 거죠.
얘네들이랑 전부 다 디스턴스를 계산해서 예컨대 여기 9번 데이터를 디스턴스를 계산해 보면 9번은 0010이에요.
出席者 1 05:48 AG 有 3 个值。所以将一个设为 0,一个设为 1,并以此为中心进行转换。这样现在就全部变成数值数据了。然后就可以计算距离了。使用 k 近邻算法进行预测。假设 k 设为 3。距离使用曼哈顿距离。数据位于四维空间中。给定 x,AIDS 为 20,对于这样的客户,想预测它的 ys 数量。按照同样的规则将其转换为数值,就像之前变换数据一样。为了预测这个 x,就找出与它最近的 3 个点。计算它们之间的所有距离,比如计算 9 号数据的距离,9 号是 0010。
Attendees 1 06:59
그럼 이 둘 사이에 대해서 디스턴스라는 것은 에나탄으로 계산하면 첫 번째 비처 디스턴스 제로, 두 번째 비처 디스턴스 0.5 세 번째 제로, 네 번째 제로 가 되죠.
디스턴스는 0.51 이게 가장 디스턴스 상 가장 가까운 데이터인데요.
그다음 데이터가 8번 그다음 데이터 11로 하면 3개 데이터 선택을 해준다는 거죠.
그리고 디스턴스에 따라서 가중치를 주겠다 그러면 이거 디스턴스의 역으로 얘를 얘를 1 얘를 1 만큼 상대적인 가중치를 주기로 하고 9번 데이터는 클래스가 1번이 정답이라고 1번이라고 이제 돼 있는 거고 8 1번 데이터는 0번 클래스 11번 데이터 1번 클래스예요.
그냥 단순 다수결하면은 1이다 이렇게 생각 가중치를 주게 되면 9번 데이터의 4분의 2의 가중치 그다음에 8번 데이터의 4분의 1 해가지고 71번의 4분의 1의 가중치를 주면 얘가 0에서 1 사이에 어떤 값을 얻게 되겠죠 그 1 정도에 가까우니까 나는 이제 클래스 1번이다.
이런 식으로 예측이 됩니다.
与会者 1 06:59 那么,在这两者之间的距离,如果用欧氏距离计算,第一个数据点距离为零,第二个数据点距离为 0.5,第三个为零,第四个也为零。距离为 0.51,这是最接近的数据点。然后选择第 8 个数据点,然后是第 11 个数据点,即选择这 3 个数据点。如果按照距离给予权重,那么将按照距离的倒数给予相对权重,比如给予 1 的权重。9 号数据点的类别标记为 1,8 号数据点的类别是 0,11 号数据点的类别是 1。如果简单多数表决,那就是 1。如果给予权重,9 号数据点的权重为 4 分之 2,8 号数据点的权重为 4 分之 1,11 号数据点的权重为 4 分之 1,那么它将在 0 到 1 之间获得一个值,由于接近 1,因此我预测它的类别是 1。就是这样进行预测的。
Attendees 1 08:21
네 여기에 대해서는 크게 복잡하게 얘기할 건 없고 다만 이제 이런 거 한 가지 조금 우리가 유의할 필요가 있는 게 있다.
이건 뭐냐 하면 컬스 오브 디맨저런트는 차원의 저주다 이렇게 얘기하거든요.
차원의 저주라는 게 뭐냐 차원이 높으면 이제 저주가 있다 이거예요.
데이터가 굉장히 하이디맨더한 데이터인 경우에는 이런 식의 네이버를 기준으로 판단하는 게 적절하지 않을 수 있다는
与会者 1 08:21 对于这一点,没有太多复杂的讨论,但是我们需要注意的是所谓的"维度诅咒"。维度诅咒是什么?就是当维度很高时,会出现诅咒。对于高维数据,用这种基于邻近点的方法来判断可能并不恰当。
Attendees 1 08:58
네 왜 그런지를 우리가 이런 간단한 예를 통해서 잠깐 보고 가려고 그러는데 이런 가정을 해보죠.
내가 n개의 트레이닝 데이터가 있어요. 그런데 이건 디게 피처 값으로 표현 디 디벤저널 데이터예요.
모든 피처는 여기에서 1 사이에 어떤 값을 갖는다고 해보자.
그러면 데이터가 존재할 수 있는 영역의 토탈 볼륨은 미래 디전이 될 거예요.
예를 들면 여기 밑에 있는 것처럼 원 디맨저널 데이터 같으면 0에서 1 사이의 값이 데이터가 있는 거고 2 디맨저널 같으면 이쪽으로 이용해서 1 이쪽으로 이용해서 1 면적은 1이죠.
3의 값으로 표현되는 데이터는 이런 공간 안에 있을 텐데 이 공간의 볼륨은 면역 1이죠.
1 1 이니까 1의 d은 내가 만약에 케이에 네이버를 선택해서 예측을 하는 방법을 쓰려고 그러는데 kg를 선택했을 때 그 kg가 나랑 각각의 피처에서 얼마큼 차이가 있을까를 우리가 따져볼 수가 있어요.
出席者 1 08:58 是的,我们想通过这个简单的例子稍微看一下为什么会这样。让我们做个假设。我有 n 个训练数据。这是一个高维数据。所有特征在这里的值都在 1 之间。那么数据可能存在的总体积将是多维的。例如,对于一维数据,值在 0 到 1 之间;对于二维数据,面积是 1;对于三维数据,这个空间的体积是 1。如果我选择 K 近邻来进行预测,我们可以计算每个特征中这个 K 与我之间的差异。
Attendees 1 10:09
만약에 b만큼 차이가 있는 것들이 나의 네이버를 구성하게 된다.
그러면 내 네이버들이 있는 공간은 b의 디승만큼이 되겠죠.
네 그런데 전체 데이터가 n개고 그중에 나는 kg만 서브 셋만 선택할 거니까 어떤 관계가 성립하냐 하면 전체 볼륨 중에 n 분의 k만큼 공간 안에 이만큼 영역의 데이터들이 존재한다.
그러니까 이런 관계성이 있다. 다시 말하면 내가 디디맨저널 데이터에서 n개 중에 k 개를 네이버로 선택하기로 했다.
그러면 나의 네이버가 존재하는 거리는 각 피처에서는 b라는 거리 인데 이 n 분의 k의 d 분의 1 헷갈린다.
밑에 예를 보면 내가 천 개의 데이터가 있다. 2 디멘전을 한 데이터예요.
나는 10개의 네이버를 선택해서 디시전을 내리려고 해요.
그럼 나랑 네이버 사이의 거리는 얼마냐 이게 이제 d 2 디멘저니까 여기에 해당되는 거죠.
피처는 2개인데 0에서 1까지 0에서 1까지 값을 갖고 있어서 이 안에 데이터들이 있다 이 말이에요.
出席者 1 10:09 假如差异是 b,构成我的邻近点。那么我的邻近点所在的空间将是 b 的 d 次方。是的,由于总数据是 n 个,我只选择 k 个子集,那么会形成这样的关系:在整个体积中,有 n 分之 k 的空间存在这些数据。换句话说,如果我在 d 维数据中从 n 个中选择 k 个作为邻近点,那么邻近点之间的距离在每个特征上是 b,其大小是 n 分之 k 的 d 分之 1。举个例子,如果有 1000 个数据,是二维的,我想选择 10 个邻近点来做决策,那么邻近点之间的距离就在这个二维空间内,特征是 2 个,值在 0 到 1 之间。
Attendees 1 11:29
데이터는 천 개 중에 내가 10개를 선택하는 거니까 얘가 골고루 분포돼 있다고 그러면 전체 공간 중에 100분의 1의 공간 안에 나의 네이버가 있겠죠.
전체 데이터의 100분의 1이 여기 있는 까만 영역이에요.
이게 100분의 1에 해당하는 영역이라는 뜻이 이제 요 영역에 있는 데이터들은 나랑 거리가 얼마냐 요 거리가 얼마냐 하면 0.1이에요.
이 거리가 떨면 0.1 0.1차이 0.1 차이 하면은 요 까만 영역이 0.01이고 그게 전체의 100분의 1에 해당하는 영역이죠.
이 안에 나의 네이버들이 있다. 즉 나의 네이버와의 차이는 한 0.1까지 날 수 있다.
디멘전이 1일 때는 어떻게 되냐면 여기가 0에서 1이고 x는 하나의 값으로만 표현되는 거예요.
전체의 100분의 1이 여기에 있다는 얘기겠죠.
난항의 네이버와의 최대 차이는 0.01이에요.
参会者 1 11:29 假设我从一千个数据中选择 10 个,如果说它们均匀分布,那么在整个空间中,我的邻近点将位于 100 分之 1 的空间内。全部数据中的 100 分之 1 就是这个黑色区域。这个区域代表 100 分之 1,意味着该区域内的数据与我的距离是多少?这个距离是 0.1。如果这个距离波动 0.1,0.1 差异,这个黑色区域是 0.01,它代表整体的 100 分之 1。我的邻近点就在这个区域内。也就是说,我的邻近点与我的差异最大可以达到 0.1。当维度为 1 时,这里是 0 到 1,x 只能用一个值表示。这意味着全体的 100 分之 1 在这里。我的邻近点与我的最大差异是 0.01。
Attendees 1 12:35
좀 다르지 원드면 전화일 때는 0.01만큼 차이가 나는 애들이 10개의 네이버가 될 거고 통기면 전화 데이터에서는 100분의 1의 영역은 각 퀴처로 봤을 때 0.1까지 차이가 날 수가 있고 이제 3 디맨전이 되면 어떻게 되냐면 여기에서 0 1 0 1 0 1 이렇게 돼 있는데 이 공간 여기서 이제 부피죠.
요 부피의 전체 100분의 1에 해당하는 영역은 요 영역이 까만 영역이에요.
요 까만 영역에 이쪽 한 변의 길이는 얼마냐 하면 0.2m 정도
参会者 1 12:35 情况会有所不同。如果是通话数据,那么相差 0.01 的 10 个邻近点将会存在。在通话数据中,100 分之 1 的区域对于每个分量来说最大可以相差 0.1。当达到 3 个维度时,在 0 1 0 1 0 1 这样的空间中,这是一个体积。这个全体 100 分之 1 对应的区域就是这个黑色区域。这个黑色区域的一个边的长度大约是 0.2 米。
Attendees 1 13:16
즉 0.2의 3승이 100분의 1에 해당하는 거냐 이거 그러니까 이제 뒤집어서 말하면 내가 천 개 중에 10개 선택해서 이제 전체 중에 100분의 1만 샘플링 해가지고 선택해서 네이버라고 생각하고 걔네들 바탕으로 결정을 내리려고 그러는데 걔들은 나랑 얼마큼 차이가 있어 그러면 3개의 피처에 대해서 각각 0.2 정도까지 꽤 좀 차이가 있는 애들이 선택된다 이 말이에요.
이제 아주 하이 디멘전은 뭐냐 똑같이 천 개 중에 10개를 선택하는 그 100분의 1을 내가 선택해서 결정할 건데 디멘전이 100이에요.
네 그러면 여기 0.01 0.1 0.1 점점 커지죠.
그 면적이 100이 되면 0.95가 돼요. 지금 0.
9호에 100승 하게 되면 이게 100분의 1 정도 된다 이거지 다시 말하면 뭐냐 하면 내가 기껏 천 개 중에 아주 가까운 열 몇 개를 선택했다고 생각했는데 어떤 게 선택됐냐면 나랑은 차이가 0에서 1 사이 중에 0.95면은 완전히 다른 거잖아요.
그렇죠.
与会者 1 13:16 就是说 0.2 的 3 次方是 100 分之 1 吗?也就是说,如果我从 1000 个中选择 10 个,并且只采样 100 分之 1 来做决定,那么它们与我有多大差异呢?对于这 3 个特征,差异大概在 0.2 左右,会选择一些差异较大的。现在,如果是高维度呢?同样是从 1000 个中选择 10 个,维度是 100。那么,0.01、0.1、0.1 会逐渐增大。当面积达到 100 时,会变成 0.95。如果是 0.9 的 100 次方,大概就是 100 分之 1。换句话说,我本以为选择了非常接近的十几个,但实际上选择的是在 0 到 1 之间差异达到 0.95 的,这就完全不同了,对吧?
Attendees 1 14:25
이런 애들이 막 선택된다 이거지 왜 그러냐면 그게 차원이 너무 커지기 때문에 거기서는 네이버라는 게 별 의미가 없을 수가 있는 거죠.
그래서 대부분 아주 고차원의 데이터에서는 잘 동작하지 않을 수 있다는 참고로 네 다시 사이클 단으로 돌아가서 우리가 이제 라이브러리 시작을 하면 이런 거가 제공돼요.
k 네이버 클래식 파이어라는 게 제공돼서 네 여기는 역시 여러 가지 파라미터 중에 예를 들면 이런 거 k 값을 설정할 수가 있어요.
근데 이걸 내가 몇 개로 판단할 거냐 네 그래서 이 모델 가지고 데이터를 주고 핏 한 다음에 영역을 우리가 살펴보면 k가 o일 때는 일단 이 디시션 바운더리는 이렇게 딱 직선이나 깔끔하게 안 떨어지겠죠.
데이터의 분포에 따라서 어느 위치든 간에 주변에 5개를 보고 다 판단을 내리니까 이렇게 기침을 세우고 디스가 분할이 될 거예요.
与会者 1 14:25 就是这样被选择的。为什么?因为维度太高,在这种情况下,最近邻可能就没有太大意义了。所以在高维数据中,它可能无法很好地工作。顺便提一下,当我们开始使用库时,会提供 k 近邻分类器。在这里,可以设置多种参数,比如 k 值。我要用多少个来判断呢?在用这个模型输入数据并拟合后,我们可以观察区域,当 k 为 0 时,决策边界不会像直线那样整齐地分割。根据数据分布,无论位于何处,因为是根据周围 5 个点做判断,所以会这样划分。
Attendees 1 15:38
이런 데는 k 값이 작을 때 이렇게 데이터를 따라서 막 미시적 영역이 결정되는 걸 볼 수가 있고, 여기서는 우리 로봇 피팅을 방지하기 위해서 콤플레스티를 낮춘다 그런 거를 하는 역할이 디시전 트린은 프로밍을 하는 게 그런 역할을 하는 거고 여기서는 뭐냐 하면 k 값을 증가시키면 약간 그런 역할을 하는 주변에 좀 더 많은 데이터를 보고 판단하겠다는 겁니다.
그러면 실제로 k 값을 높여서 우리가 디시션 영역을 플러을 해보면 이거보다 이게 좀 더 스무스하게 영역을 간다라고 볼 수가 있어요.
在这些地方,当 k 值较小时,可以看到数据遵循的微观区域被确定,在这里,为了防止机器过拟合,我们降低复杂性。决策树的作用就是这样,而在这里,当我们增加 k 值时,意味着我们将参考周围更多的数据来做判断。如果我们实际上通过提高 k 值来调整决策区域,可以看到区域会更加平滑。
Attendees 1 16:21
네 근정의 정확도 차이가 나는 걸 비교해 보면 트레인의 데이터에 대한 에큐러스는 지금 더 떨어지는 것 같이 보이지만 검증 데이터에 대해서는 똑같거나 오히려 나을 수도 있겠죠.
是的,如果比较训练准确率的差异,训练数据的准确率看起来可能会下降,但对于验证数据,准确率可能会保持不变,甚至可能会更好。
Attendees 1 16:42
세 번째 세 번째는 서포트 멘터 모이라는 모델인데 시간이 거의 다 됐죠.
앞에 거에서도 조금만 얘기하다 말았는데 이거는 우리가 실습 시간에 이 라이브러리 써먹을 거기 때문에 핵심 개념만 짧게 좀 얘기를 하고 이건 나중에 좀 시간이 나는 시간이 있으면 다시 돌아와서 조금 자세한 얘기를 좀 하도록 하겠어요.
SVM은 뭐냐 하면 기본적으로 이 리니어 클래식 파일에 그러니까 로지스틱 리그레션에서 이거 두 개를 데이터들이 이렇게 클래스케이션하는 데 데이터들이 이렇게 주어지면 이거를 가르는 디 바운더리를 찾는 거라고 보면 뭐가 다르냐 하면 얘네들은 맥시멈 마진 클래식 바이오라고도 하는데 이 두 개를 정확하게 11과 0으로 가를 수 있는 라인은 여러 개 있을 수 있어요.
그래서 이런 파란 라인도 있을 수 있고 이 빨간 라인도 있을 수 있단 말이죠.
근데 일단 첫째 빨간 라인이 좀 더 좋아 보인다 이거예요.
与会者 1 16:42 第三个是支持向量机模型,时间已经差不多了。在前面的内容中也只简单谈了一下,因为我们将在实践时使用这个库,所以我将简要介绍其核心概念,之后如果有时间的话再详细讨论。支持向量机(SVM)基本上是在线性分类文件中,就像逻辑回归一样,当给定数据时,寻找将这些数据分类的边界。它们的不同之处在于,这被称为最大边距分类器,当需要将 1 和 0 精确分开时,可能会有多条线。所以可能会有蓝线,也可能会有红线。但首先,红线看起来更好。
Attendees 1 17:56
어떤 면에서 그러냐 이거는 틀리지 않게 움직일 수 있는 범위는 아주 작고 이렇게 경계를 잡으면 틀리지 않고 움직일 수 있는 마진이 많은 거예요.
그럼 난 이걸 잡고 싶은 거예요.
与会者 1 17:56 从某种意义上说,错误移动的范围非常小,如果这样设置边界,就能用较大的边距避免错误。这就是我想要抓住的。
Attendees 1 18:14
그래서 우리가 그 마진이 가장 크게 되는 결정 경계를 잡는 게 우선 첫 번째예요.
서포트 결터하시냐 하는 거 그래서 결정 경계라는 건 이런 이제 선형 식으로 나타내지는데 그게 이콜처 이게 여기 점선에 해당하는 거고 목을 살짝 이렇게 움직이면 이쪽에 걸리는 그러니까 목을 넘어가면 그런 쪽에 에러가 나겠죠.
이쪽에 걸리는 라인이 있어요. 그때 요 마진을 최대화되게끔 어떻게 잡느냐 하는 게 키 포인트고 그 최대화되게 잡고 나면 이쪽에 데이터가 하나 내지 두 개 하나 이 두 개가 걸리게 돼 있어요.
그때 이걸 우리가 서포트 벡터라고 얘기를 해요. 서포트.
所以我们首先要找到使边界利润最大的决策边界。支持向量是什么,决策边界实际上是以线性形式表示的,这个点线对应于这里,如果轻微地移动边界,可能会导致这边出现错误。这里有一条线,关键是如何在最大化利润的情况下调整这个边界,一旦确定了这个边界,这边的数据会有一个或两个支持向量。我们称之为支持向量。
Attendees 1 19:04
네 그래서 그걸 찾는 과정을 마진이 최대화되기 전에는 어떻게 하면 되냐 그런 걸 지금 간단히 설명한 게 있고 다 넘어갈게요.
그래서 그걸 이제 옵티마이제이션 문제로 이렇게 표현해 보면 거기에다가 코너라치 프로그래밍을 적용해서 이렇게 이렇게 풀면 된다 그런 얘기들이 있는데 어쨌든 풀고 나면 이것도 이제 파라미터들을 내가 이제 찾는 건데 이 파라미터는 이런 값들의 조합으로 나타나게 돼 있고 그때 이 값이 뭐냐 하면 바로 아까 얘기한 그림상에 걸리는 애 서포트 벡터 즉 파라미터는 최대 마진이 되게끔 하는 이 서포트 벡터들의 어떤 값으로 찾아질 수가 있다 하는 거예요.
네. 기본 개념은 우선 그건데 여기에 이제 핵심은 키 포인트는 거기 있는 게 아니고 커널틱이라는 게 있어요.
우리가 이렇게 데이터가 분포하면 클래스 제로인 거 클래스 1인 거 그러면 예컨대 로지스틱 같은 모델이 클래스 제로와 클래스를 구분할 수가 없어요.
그렇죠. 딱 봐도 안 나눠지잖아.
是的,那么在最大化边界之前,我们如何找到它呢?我已经简单地解释了这一点。所以如果我们把它表示为优化问题,可以应用拉格朗日乘数法来求解。无论如何,解决后,我们要找的是参数,这些参数是由某些值的组合构成的,这些值就是我们之前讨论的图中支持向量,即参数是通过找到使最大边界的支持向量的值来确定的。这是基本概念。但关键不在于此,而是核技巧。当数据分布时,如果有 0 类和 1 类,像逻辑回归这样的模型就无法区分这些类。显然这是无法分割的。
Attendees 1 20:18
그런데 우리가 이걸 가만히 살펴보면 이게 지금 x1 x2 2D 의 데이터잖아요.
그래서 원래는 x는 이렇게 두 개의 값으로 표현되는 데이터인데 만약에 이걸 x1 x2와 x3를 만들어서 x3 근데 뭐냐 이런 거다 라고 만들면 이건 이제 3차원 데이터가 되잖아요.
지금 보면 여기가 원점이에요. 제로 세 번째 축이 이제 여기 생긴 거죠.
x3라는 값이 근데 그걸 만약에 이렇게 내가 설정해서 보면 2차원 데이터가 3차원으로 싹 고차원으로 매핑이 되면서 선형으로 나뉠 수 있는 데이터가 저 차원에서는 선형 디시션 디 바운더리를 찾을 수 없지만 그 차원에서 우리가 더 쉽게 선형 디시션 바운더리를 찾을 수도 있다라는 거죠.
그래서 SVM을 이용해서 하는 건 뭐냐 하면 데이터를 이런 경우에 디시션 바운더리를 찾기 위해서 데이터를 고차원으로 변환한 다음에 거기서 맥시멈 마진의 선형 바운더리를 찾고 그걸 저차원에 표현하면 이렇게 이런 결정 적기를 찾을 수가 있는 거요.
出席者 1 20:18 仔细观察一下,这是一个 x1 x2 的二维数据。原本是用两个值来表示 x 的数据,如果我们创建 x1、x2 和 x3,比如说 x3 是这样的,那么它就变成了三维数据。现在看来,这里是原点。第三个轴现在生成在这里,即 x3 的值。如果我这样设置并观察,二维数据会映射到高维,在低维中无法找到线性决策边界,但在高维中我们可以更容易地找到线性决策边界。所以使用支持向量机(SVM)的目的是,在这种情况下,为了找到决策边界,先将数据转换到高维,然后找到最大间隔的线性边界,再在低维中表示,这样就可以找到这样的决策界限。
Attendees 1 21:42
그런데 이제 고차원으로 올리려고 하다 보니까 그냥 막연하게 고차원으로 올리면 안 되고 우리가 이제 커널 트릭이라고 그래서 보통 트릭을 지금 써요.
지금 트릭은 뭐냐 하면 고차원의 계산을 저차원에서 간단하게 해줄 수 있는 함수 같은 걸 쓰는 거죠.
네 시간이 없으니까 일단 넘어갈게요. 넘어가고 그래서 우리가 사이클러에서 이거 이제 해보라고 이렇게 있을 텐데 SVC 같은 것이 이제 바로 이런 모델을 구현해 놓은 거예요.
SVC를 가지고 우리가 데이터를 피하면 이런 데이터를 한번 해보자.
이 데이터는 뭐냐 하면 메이크 서클이라는 함수 사이클론에 있는 데이터를 미니의 데이터를 생성하는 함수가 있어요.
적당히 이제 파라미터를 주면 이런 식으로 두 개의 원이 겹친 그런 분포를 갖는 데이터를 생성할 수가 있어요.
出席者 1 21:42 现在要提升到高维,但不能简单地盲目地提升,我们现在使用所谓的核技巧(Kernel Trick)。这个技巧是什么呢?就是使用一些函数,可以在低维中简单地计算高维的情况。好的,由于时间有限,我们先跳过这部分。因此,在 scikit-learn 中,SVC 已经实现了这种模型。我们可以用 SVC 来处理这些数据。这个数据是什么呢?是使用 make_circles 函数在 scikit-learn 中生成的数据。只要给定适当的参数,就可以生成这种两个圆形重叠的分布数据。
Attendees 1 22:35
가상의 데이터를 생성해 놓고 이거를 구분하는 모델을 찾자 이데 당연히 로지스틱 리액션으로 못 찾을 테고 SVM을 쓰면 얘가 여기서 커널이라고 돼 있는 거 있죠 아까 말한 고차원으로 매핑하는 어떤 함수를 사용해가지고 이 데이터를 고차원에서 가르는 라인을 찾아요.
그리고 저 차원에서 이렇게 영역을 한번 보면 이렇게 구분된다고
参会人员 1 22:35 创建虚拟数据,然后找出可以区分这些数据的模型。当然,逻辑回归无法识别,但使用 SVM 时,它有一个内核,就是我之前提到的将数据映射到高维空间的某个函数。然后在高维空间找到分隔这些数据的线。如果在低维空间查看,就可以看到这样的区域划分。
Attendees 1 23:04
네. 그래서 이 끝에 아마 이런 데이터 분포를 갖는 건 역시 이건 또 다른 어떤 함수에서 어떤 반달 초생깔 두 개를 겹친 듯이 만들어 그런 함수인데 이제 섞여 있지만 어쨌든 최대한 잘 구분할 수 있는 모델을 이제 찾는다고 하면 이렇게 네 가지 서로 다른 모델에서 서로 다른 네 가지의 디시전 영역이 이제 나온다는 걸 볼 수가 있는데 우리가 이제 개념을 지금 쭉 한번 봤으니까 이거 뭐 같아요?
이거는 로지스틱 리그레션이 학습해서 찾아낸 디시전 바 이건 뭐겠습니까?
결정 트리에 의해서 찾아진 디시전 바 이거는 케인 리얼리스트 네이버에서 적당한 a 값을 줬을 때 찾아 지정 가능 이렇게 나와 있는 게 바로 SVM으로 고차원에서 찾은 디션 마벨을 나타내고 있어.
参会人员 1 23:04 是的。所以在这个末端,可能具有这种数据分布的,是另一个函数,看起来像是将两个半月形重叠在一起。尽管混合在一起,但仍然尽可能找到能很好区分的模型。从四种不同的模型中,我们可以看到四种不同的决策区域。既然我们现在已经梳理了这些概念,这是什么?这是逻辑回归学习后找到的决策边界,这是什么?这是决策树找到的决策边界,这是 K 近邻算法在给定适当的 a 值时可以确定的,而这显示的是 SVM 在高维空间中找到的决策边界。
Attendees 1 24:08
네 그래서 이 뒤는 좀 그냥 그냥 넘어갔는데 어떤 개념인지 약간 좀 알겠죠?
뭘 위해서 하는 건가 이거 차후에 한번 기회를 봐서 다시 한 번 이야기하도록 하겠습니다.
여기까지 하기로 하고,
与会者 1 24:08 是的,所以后面的部分就这样略过了,但是你大概知道是什么概念了吧?这是为了什么,我们下次有机会再详细讨论。就到这里吧。
Attendees 1 24:29
네 여기까지 하겠습니다.
与会者 1 24:29 是的,就到这里。
clovanote.naver.com