第一章模型建立
1.1回归模型:
条件:
1.数据
2•假设的模型
结果:
用模型对数据学习,预测新数据
1.1.1 一元线性回归模型(最小二乘法)
它通过最小化误差的平方和寻找数据的最佳函数匹配
我们以最简单的一元线性模型来解释最小二乘法。
什么是一元线性模型呢?监督学习中,如果预测的变量是离散的,我们称其为分类(如决策树,支持向量机等),如果预测的变量是连续的,我们称其为回归
假设从总体中获取了n组观察值(X1,Y1 ),(X2,丫2),…,(Xn,Yn)平方损失函数
<?- = fa引=
仙 1 1-1
脑过3小确定这条直编即确疋几“01,以几‘01
©狂赋+把它心百件是Q的加坡*如变覘『-牛求無伯的问題*对已週过艰事啟得到"求Q甘两个轄洁毒教的偏导缺r
箜=2V^-4J-^)(-1)= 0
QO “・
等=辽;{旷角-伤血>(-血)=0
1-1
根槪薮学如说我卄]怖遇,曲誥的粧值点为繼牛为0的点°
厂”工龙:一近尤)2
6
一丫并。
;—工疣和; ' “工疋一(工尤)'
1.1.2逻辑回归模型
L 1 +e _f
或者:
加3)-]” expf-lFx)
其他的思路和想法与线性回归一样,所以说逻辑回归的模型是一个非线性模 型,但是它本质上又是一个线性回归模型
损失函数(误差函数)为:
— m
刀剳⑴ log 加(能)+ (1 - t/^)log (l -畑(*)))
1.1.3 softmax 回归
它是逻辑回归的扩展
从分类的角度来说,逻辑回归只能将东西分成两类( 成多类
逻辑回归中,模型函数(系统函数)为:
隔何
—
14
exp (—
Softmax 回归中,模型函数(系统函数)为:
将线性回归中的一次模型变成逻辑回归函数,即
sigmoid 函数。
0,1), softmax 可以分
1.2神经网络模型
1.2.1神经元
首先来一个三输入单输出的神经元,输入输出都是二进制(0,1)。
举例来说:
X1表示天气是否好 X2表示交通是否好 X3表示是否有女朋友陪你
丫表示你是否去电影院看电影
要让这个神经元工作起来,需要引入权重,
w1,w2,w3。
这样就有了:
(0 if
刀了 < threshold
output = < ” J 一
I 1 if Xj 电严j 〉threshold ()
W1表示”天气是否好”对你做决定的重要程度 W2表示”交通是否好”对你做决定的重要程度 W3表示”是否有女朋友陪你”对你做决定的重要程度 Threshold 越低表示你越想去看电影,风雨无阻你都想去。
Threshold 越高表
示你越不想去看电影,天气再好也白搭。
Threshold 适中表示你去不去电影院要
看情况,看心情。
1.2.2神经网络
现在扩展一下:
这样就出现神经网络了,可以看出这是很多神经元组合成的。
把上面的(1)式中的threshold 用偏移量-b 表示,并且移到不等式左边,出 现下面(2)式:
例子就不举了,原文是实现与非门的一个例子,说明这个东西可以进行逻辑 推理,它就很有潜力了,电脑就是靠逻辑加运算来实现各种功能。
现在要用这个东西学习识别手写字体,我们的想法是这样的:
rhrUiigc im iiiiy wi i^ht I 〉疔 hh 凸 i
nil 丽行 n chaniur in the output
举例来说,电脑错把9当成了 8,那么我们希望通过自动调整 w 或b 来对 output 进行调整,以达到正确的结果。
这时网络会自己“学习”了
具体是这样的:
I l if 二(w+b) - 0.5 output : 10 if 坊(w+b)<0.5
其中' ()是sigmoid 函数
:
output =
{;
(2)
* out put+Aoutpul
w +丄w
1
1 + e~z
u-
/
m
-------- ----- [—
却 乜
・2
-1 11
2 3 4
Z
它是阶梯函数的一个平滑:
step fiUKtioii
1.D --------------------------------------
fi.6-
0.6 &.+
d
-------- 1 --- 1 ------ 1 ------ 1 ------
1 -- 1 --------- 1----- 1 ------- 1 ------- 1
-J -S -2 -1
1 2 J 4
Z
输出通过w 和b 进行微调的式子是这样的:
T-* d output x d output
△output 孝 y ----------------- A w, 4 ---------------- At
,dwj } db
这个式子比较抽象,它只是战略性的一个式子,下面引入 cost 函数来进行
战术实践。
Cost 函数是评价模型准确与否的一个函数, 它可能越大越好,也可能 越小越好,看你怎么构造了。
这里用均方误差来构造:
(?(佃,b)二舟” 1/(®)-剑F
这个函数越小越好,所以通过使这个函数变得最小来得到最好的 w 和b ,也
就是达到最好的学习效果
如三
OS •
/
M
/
叫
/
/
1.3最大似然估计
X的一个样本X1 , X2,...,Xn独立同分布,其观测值为xl, x2, (x)
P(X =x) = p(x;旳,其中参数未知
根据X1,X2,…,Xn的观测值x1, x2,…,xn来估计模型参数二
假如这组数据服从B(1,p),p未知
P(X =x) = p x(1—p)J (x=0,1)
L(p) =P(X^x1l...,X n =x n Hp x i' x n(1-
n
7 (5 -p)i-
求—lnL(p)=O得到L(p)取极大值时的p,即为所求dp
第二章模型优化
2.1遗传算法
有个博客讲的很好,用袋鼠跳问题形象的比喻这个问题,类似的算法还有模拟退火法。
22梯度下降法
一句话来说就是求损失函数或似然函数的极值,我们自己算的话就是求个导就完事了,但是有些函数的导数特别难求,这时候就需要梯度下降法,交给电脑迭代几次就算出来了
举例来说,求损失函数的最小值:
皿)詁匕松n哪
min
卞 1 *
—仇⑴-⑴- oO(c&i2T\
Q = ◎-存£ JU-心⑴-y)x^
2.3牛顿法
对于非线性优化,假设任务是优化一个目标函数,求解其极大极小值,转化为求问题,是不是回到了上面的问题?
二阶泰勒级数:
1 2
f(X 亠、x) = f (x) f(X)L X f(X)L X
2
二阶泰勒级数成立的充要条件是X无限趋于0,两边约去f(X一次)和f (x),
并对丄X求导,得到:
f (x) f (x) :x = 0
解得:
f (X n) _f
(X n)
所以得到迭代式:
f (人) f (X n)
红色是牛顿法,绿色是梯度下降法,牛顿法更容易收敛。
高维情况的牛顿迭代公式:
X n 厂人- [Hf (X n)]" f (X n), n - 0
其中,H是hessian矩阵:
Hessian矩阵的引入使得高维情况下牛顿法较为少用,但是有人已提出解决
方案Quasi-Newton methodo
X n 1 = X n。