打算把《python机器学习-通往kaggle竞赛之路》手动敲一遍,
- 加强机器学习各个算法和操作步骤的代码记忆
- 熟悉使用markdown的公式语法,便捷工具mathpix
- 熟悉机器学习专有名称和英文表达
- 将python2代码转为python3代码
- 修改过期的模块引用,如from sklearn.cross_validation改为 from sklearn.model_selection
造导弹,自主研发需要4年,模仿只需1年 - 《钱学森》
模型介绍:线性分类器(linear classification),是一种假设特征与分类结果存在线性关系的模型。这个模型通过累加计算每个维度的特征与各自权重的乘机来帮助类别决策。
如果我们定义 $ x = <x_1,x_2,···,x_n> $来表示 n n n 维特征列向量,同时用 n n n 维列向量 w = < w 1 , w 2 , ⋅ ⋅ ⋅ , w n > w=<w_1,w_2,···,w_n> w=<w1,w2,⋅⋅⋅,wn>来代表对应的权值,或者叫做系数(coefficient);同时为了避免其过坐标原点的这种硬性假设,增加一个截距(intercept)b。由此这种线性关系便可以表达为:
f ( w , x , b ) = w T x + b ( 1 ) f(w,x,b)=w^Tx+b (1) f(w,x,b)=wTx+b(1)
这里的 f ∈ R f \in R f∈R ,取值范围分布在整个实数域中。然而,我们要处理的最简单的二分类问题希望$ f \in { 0,1}$,因此需要一个函数把原先的 f ∈ R f \in R f∈R 映射到(0,1)。于是用到了逻辑斯蒂(logistic)函数:
g ( z ) = 1 1 + e − z ( 2 ) g(z)=\frac{1}{1+e^{-z}} (2) g(z)=1+e−z1(2)
这里的 z ∈ R z \in R z∈R并且 g ∈ ( 0 , 1 ) g \in (0,1) g∈(0,1),并且其函数图像如图2-2所示。
综上,如果将 z z z替换为 f