- 在线时间
- 1630 小时
- 最后登录
- 2024-1-29
- 注册时间
- 2017-5-16
- 听众数
- 82
- 收听数
- 1
- 能力
- 120 分
- 体力
- 565522 点
- 威望
- 12 点
- 阅读权限
- 255
- 积分
- 174879
- 相册
- 1
- 日志
- 0
- 记录
- 0
- 帖子
- 5313
- 主题
- 5273
- 精华
- 3
- 分享
- 0
- 好友
- 163
TA的每日心情 | 开心 2021-8-11 17:59 |
|---|
签到天数: 17 天 [LV.4]偶尔看看III 网络挑战赛参赛者 网络挑战赛参赛者 - 自我介绍
- 本人女,毕业于内蒙古科技大学,担任文职专业,毕业专业英语。
 群组: 2018美赛大象算法课程 群组: 2018美赛护航培训课程 群组: 2019年 数学中国站长建 群组: 2019年数据分析师课程 群组: 2018年大象老师国赛优 |
关于Logistics回归用于分类的解释. b7 q7 I, j( {
logistics回归让人最搞不懂的是,明明名字里面带了个回归两个字,为什么这是一种分类算法呢?; ]* `( G( q$ f& F. s
6 m+ a3 a) d I8 c$ i$ E
说到回归大家想到的都是根据一些点得出一条直线或者曲线。的确logistics回归也是得出一条直线,然后如果这个点在这条线的一边比如说上面属于一个类别,另一个点处于这条线的另一边比如说下边则属于另一个类别。( B" T+ e$ ~2 n/ P( v' ]/ W; W$ }
9 `5 p, a4 w% a' S( g/ L这条直线是怎么得出的呢?; J$ l8 q) P4 J3 [3 T* }" U
/ }* N+ R! ^# e$ v" e
首先假设所有的输入为(x0,x1....xn),输入前面的系数为(w0,w1...wn),输出为y
. F. X; }4 V& D
( k6 r2 S# f9 r: }, X# x w d D# w我们可以得出y=w0*x0+w1*x1...wn*xn! P) i, n9 ]% ^" U4 F
# ?/ p# E( }5 U$ u) X9 l
然后将系数(w0,w1..wn)取随机值。然后开始训练网络。训练的算法叫做梯度上升算法
9 f$ f( M) Z* |( M5 O4 i& s# N' n( ]4 q2 _: _9 M
根据y=w0*x0+w1*x1...wn*xn,我们可以对所有输入(x0,x1...xn)求导即是求梯度。
; L/ X' G$ |; ?/ Q) y; g2 ?
( l2 E0 ?+ S0 }
& k% V. R( a5 Z1 K3 b' l5 N Y
" o( ]" G# Y7 H" I* w. V( j9 L; Q
这个公式什么意思呢?学过微积分的同学都知道,问题是像我这种没学好的就放放吧。大家只要知道能通过将矩阵转一下就能得到,转一下的意思在下面
7 V7 j+ L3 @, f* ]: V9 t c! @3 u) K4 M8 a6 Y
假设dataMatIn=array([[3,3],[4,4]]): w; v9 N# W. ]" L
' p$ E* k; J, Z7 _/ E+ P
那么dataMatIn的梯度就是dataMatIn.transpose() => array([[3,4],[3,4]])
% X0 m& g7 \3 p" B6 X7 B. V; d* P. x' M
然后就完成了。
$ }8 u' [- s0 o, ^
1 z- F, ?6 L: m: S) B继续讲如何训练的,我们还需要计算期望结果和输出的差error以及假设一个步长a,步长a是根据经验来决定的,步长太短很可能训练了很久还没找到最适合的值,步长太长就能难准确地到达合适的值。
# d, ?9 S; C8 N" ?; @, f7 P
8 p6 O! P, Y; b2 p; O/ {; [然后我们的新的w=w+a*array(x0,x1...xn)*error6 V9 V! f" x9 J0 N, b
& q1 B2 t9 Z- h& l/ s一般设置循环多少次然后停止或者当error小于多少值得时候算法停止" N2 I2 G8 A8 P
, a* [0 f: Q9 f6 M0 n8 r+ h
最后我们还要将y输入进阶跃函数来完成分类。不过由于阶跃函数在零点没有值所以有各种各样的麻烦,所以换成sigmoid函数,当<0.5时等于0,当 >0.5时等于1
$ e+ b' R, i3 z2 H
9 s, X& T. m0 a
: X% c9 f( _% A+ O. x" H9 v# K. k( f1 u
|
zan
|