はじめに

Rで学ぶSupport Vector Machines

Kailash Awati

Instructor

準備

  • 目的:SVMの仕組み、アルゴリズムの選択肢、最適な使用場面を理解する。
  • 前提知識:Rの中級知識;ggplot() を使った基本的な可視化。
  • アプローチ:1次元の例から始め、段階的により複雑な例へ進む。
Rで学ぶSupport Vector Machines

清涼飲料の糖分

  • 清涼飲料メーカーには主力ブランドの2種類があります:
    • Choke - 糖分 11g/100ml。
    • Choke-R - 糖分 8g/100ml。
  • 実際の糖分含量は製品ごとに異なります。
  • 無作為に選んだ25サンプルから、ブランドを判別する決定ルールを見つけます。
  • まずデータを可視化します!
Rで学ぶSupport Vector Machines

清涼飲料の糖分 - 可視化コード

  • データは drink_samples データフレームに格納されています。
# Specify dataframe, set plot aesthetics in geom_point (note y = 0)
p <- ggplot(drink_samples) +
  geom_point(aes(sugar_content, 0))

# Label each point with sugar content value, adjust text size and location p <- p + geom_text(aes(sugar_content, 0, label = sugar_content), size = 2.5, vjust = 2, hjust = 0.5) # Display plot p
Rで学ぶSupport Vector Machines

第1章1節 - 糖分クラスター

Rで学ぶSupport Vector Machines

決定境界

  • 区間内の2点を候補境界として選びます:
    • 9.1 g/100 ml
    • 9.7 g/100 ml
  • 分類(決定)ルール:
    • if (y < 9.1) then "Choke-R" else "Choke"
    • if (y < 9.7) then "Choke-R" else "Choke"
  • 前のスライドのプロットでこれらを可視化します。
Rで学ぶSupport Vector Machines

決定境界 - 可視化コード

  • 2つの決定境界を含むデータフレームを作成します。
# Define data frame containing decision boundaries
d_bounds <- data.frame(sep = c(9.1, 9.7))
Rで学ぶSupport Vector Machines

決定境界 - 可視化コード

  • geom_point(){{1}} を使ってプロットに追加します
# Add decision boundaries to previous plot
p <- p + 
  geom_point(data = d_bounds,
             aes(sep, 0),
             color = "red",
             size = 3) +
  geom_text(data = d_bounds,
            aes(sep, 0, label = sep),
            size = 2.5,
            vjust = 2,
            hjust = 0.5,
            color = "red") 
# Display plot
p
Rで学ぶSupport Vector Machines

第1章1節 - 決定境界の例を含む糖分クラスター

Rで学ぶSupport Vector Machines

最大マージン分離超平面

  • 最適な決定境界はマージンを最大化するもの:最大マージン分離超平面
  • 最大マージン分離超平面は2つのクラスターの中間に位置します。
  • 最大マージン分離超平面を可視化します。
# Create data frame with maximal margin separator
mm_sep <- data.frame(sep = c((8.8 + 10) / 2))

# Add mm boundary to previous plot p <- p + geom_point(data = mm_sep, aes(sep, 0), color = "blue", size = 4) # Display plot p
Rで学ぶSupport Vector Machines

第1章1節 - 最大マージン分離超平面

Rで学ぶSupport Vector Machines

練習しましょう!

Rで学ぶSupport Vector Machines

Preparing Video For Download...