12.支持向量机SVM(Support Vector Machi

2019-03-26  本文已影响0人  justinwei

第七周 支持向量机SVM - Lecture 12

  1. 逻辑回归(logistic regression)的优化:
    逻辑回归代价函数(Cost Function)
    -(y\ log\ h_\theta(x) + (1-y)log(1-h_\theta(x)))
    =-y\ log\ \frac{1}{1+e^{-\theta^Tx}} - (1-y) log(1- \frac{1}{1+e^{-\theta^Tx}})
    Alternative view of logistic regression
  2. 支持向量机SVM
  1. SVM with kernels
    给定一组训练集:(x^{(1)},y^{(1)}),(x^{(2)},y^{(2)}),...,(x^{(m)},y^{(m)})
    选择:l^{(1)}=x^{(1)},l^{(2)}=x^{(2)},...,l^{(m)}=x^{(m)}
    根据给定的训练集x,计算f \in R^{m+1}
    f_1 = similarity(x, l^{(1)})
    f_2 = similarity(x, l^{(2)})
    ...
    f_m = similarity(x, l^{(m)})

f = [f_1, f_2, ... f_m]是一个m+1的向量;

算法描述:给定一个训练集x, 计算出f特征向量 f \in R^{m+1}
如果 \theta^T f \geq 0 预测"y=1"
训练以下:
\substack{min \\ \theta} C\sum_{i=1}^m[y^{(i)}cost_1(\theta^Tf^{(i)}) + (1-y^{(i)})cost_0(\theta^Tf^{(i)}) ] + \frac{1}{2}\sum_{j=1}^n\theta_j^2

5.支持向量机的参数(SVM parameters):

  1. 如何使用支持向量机(Using an SVM)
    不需要要向前面说的自己实现算法,已经有成熟的软件包(例如liblinear, libsvm, ...)直接计算出 \theta.

软件包需要确定以下参数:

核函数Kernel(simliarity) functions:
function\ f = kernel(x1, x2)
f=exp(-\frac{||x1-x2||^2}{2\sigma^2})
return

Kernel(similarity) functions:
function f = kernel(x1, x2)
f = exp(-(||x1-x2||^2/(2*sigma^2))
return 
\\ Do perform feature scaling before using the Gaussian kernel
\\使用 Gaussian kernel前必须归一化
  1. 逻辑回归vs.支持向量机(Logistic regression vs. SVMs)
    n为特性个数(x \in R^{n+1}),m为训练集的数量
    n = number of features(x \in R^{n+1}) m = number of training examples
上一篇 下一篇

猜你喜欢

热点阅读