Redian新闻
>
有关neuralnetwork基本的问题请教
avatar
有关neuralnetwork基本的问题请教# DataSciences - 数据科学
y*f
1
我和老婆是大学的同学,大学四年的生活一直都是她陪伴在我的左右,我们也成了身边朋友们羡慕的情侣。
大学毕业后为了将来有更好的生活,我们并没有马上选择结婚,而是先忙于事业。
今年是我们大学毕业的第三个年头,,各自在事业上也有些许的成就,同时也到了谈婚论嫁的年龄。在双方家人的催促下,我们已经选好日子,定于今年十一左右举行婚礼。
谁也不曾想,在婚前体检的时候,突然发现,老婆有乙肝,虽然不严重,也没有表现出什么病症,但是身体是携带这种病毒的。医生说,现在乙肝这种病是比较常见的,很多人都有这种病的。
事先我和老婆都不知道这个事,检查出来我们也是吓了一跳,我也拿不定注意该怎么办。问过医生,虽然这种病正常的接触并不会传染,但是如果怀宝宝的话,宝宝很有可能会携带这种病毒的。
原本是件开心的事情,可是却发展成了这样!!
我爸妈知道后坚决让我和老婆分开,他们很介意老婆有这种病,说是主要是考虑到下一代的问题。反正他们支持让我跟老婆分手,抓紧时间再找一个也来得急!
可我怎么办?老婆有这种也不是谁愿意的,再说,在们在一起也有七八年了,哪能说分开就分开的?如果在这个时候,我把老婆抛弃了,那我还是个男人嘛!我知道爸妈也是为我好,但我觉得我还是不应该那么做,太不人性了!
所以想问一下,老婆以后怀孕生健康宝宝的几率有多大?像这种病有没有什么好的治疗方法呢?
avatar
g*a
2
今天办公室的一位同事正在吃早餐,然后就惊讶的啊了一声。我们都吓了一跳。他说,
自己姐姐怀孕4个月,发现老公出轨。这位同事相当不理解,因为他眼中那个姐夫很腼
腆,长得也一般,绝对不是出轨的条件,怎么会有这种事发生?然后,他亲自打电话给
姐夫,问个究竟。然后就发现,姐夫支支吾吾,承认了确有此事。
我们办公室都要被这种心碎的声音淹没了。也许你觉得出轨现在已经是很平常的事,那
如果我告诉你说姐夫追了姐姐13年,从初中就开始追姐姐呢?这么多年的感情难道就比
不上荷尔蒙冲动吗?难道怀孕4个月的女人不是最需要照顾的时候吗?
我们办公室另外一个女同事,唉声叹气,觉得无法接受这样的事实。谁也知道这是晴天
霹雳。这是一辈子的伤痕,这是礼物所弥补不了,时间也抚不平的伤痛。如果现在和老
公离婚,把孩子打掉,一切一刀两断,重新开始,有那么简单吗?如果继续怀着这个孩
子,如果继续接受这样的男人,难道不是对自己的折磨吗?谁没有精神洁癖?如果以后
再发生此类事情,又该如何呢?
avatar
E*e
3
在学neural network,简单的forward-feed 两层结构。 通晓了基本概念,像error
back propogation。 现在通过一个网上找来的列子在学习https://github.com/
dennybritz/nn-from-scratch,加深理解。但是run code的低时候,对输出层的error
的计算有点问题。
这个例子是个binary class 问题。 每个observation的target 是 0/1。当然这种类型
的问题可以用一个输出,然后预测的target就用一个logistic sigmoid来计算,然后算
cross-entropy error function function。 但是在这个例子用的是softmax 来计算,
也就是有输出有两个。 从开始到计算输出的两个值都好理解,也明白里面的algorithm
. 就是在计算输出值很target的差或erro是有点问题。 比如最后五个obervations通过
softmax的计算得到的概率是。
y_hat=
[ 0.67664077, 0.32335923],
[ 0.46837054, 0.53162946],
[ 0.51426894, 0.48573106],
[ 0.67241636, 0.32758364],
[ 0.47552597, 0.52447403]
这是个二维数组,这可以理解,因为是有两个输出nodes。 但是targt是一维的
y=[0, 1, 1, 0, 1].
这个作者处理的时候用了
delta3[range(num_examples), y] -= 1,结果类似
y=
[1, 0],
[0, 1],
[0, 1],
[1, 0],
[0, 1]]
然后输出值减去真实值y_hat-y, 得到结果是
[-0.32335923, 0.32335923],
[ 0.46837054, -0.46837054],
[ 0.51426894, -0.51426894],
[-0.32758364, 0.32758364],
[ 0.47552597, -0.47552597]
我的问题是怎么从一维的target转换成两维对应的值,正确的进行delta=y_hat-y.
我试了先交换y的columns, 变成
y=
[0, 1],
[1, 0],
[1, 0],
[0, 1],
[1, 0]]
结果迭代的时候得不到结果。
不知诸位看明白了没? 啰嗦了半天。 我就是想不明白,在binary class, 输出是两
个值, 怎样才能正确的把target变量coding 成两维?
谢谢。
avatar
c*s
4
1 世界那么大,我想去看看!不是每个人都有说走就走的机会! Travel Apr
28
2 老婆四个月孕检,发现孩子有问题,是不是该打掉? NextGeneration Apr
28
3 婚前体检,发现老婆有乙肝,怎么办,这婚该不该结? WeddingBells Apr
28
4 婚后一个月发现老婆不是我最爱的,另有其人,我想离婚! Love Apr 28
avatar
m*r
5
神经网络,我看也是有一堆回归构成的。 无知者无畏啊,说的不对还请指教。
每个neuron也没什么实际意思,就是回归。
不知道为什么功能这么强大。
avatar
l*8
6
这个两维自由度还是一啊,和一维一样的。

error
algorithm

【在 E**********e 的大作中提到】
: 在学neural network,简单的forward-feed 两层结构。 通晓了基本概念,像error
: back propogation。 现在通过一个网上找来的列子在学习https://github.com/
: dennybritz/nn-from-scratch,加深理解。但是run code的低时候,对输出层的error
: 的计算有点问题。
: 这个例子是个binary class 问题。 每个observation的target 是 0/1。当然这种类型
: 的问题可以用一个输出,然后预测的target就用一个logistic sigmoid来计算,然后算
: cross-entropy error function function。 但是在这个例子用的是softmax 来计算,
: 也就是有输出有两个。 从开始到计算输出的两个值都好理解,也明白里面的algorithm
: . 就是在计算输出值很target的差或erro是有点问题。 比如最后五个obervations通过
: softmax的计算得到的概率是。

avatar
l*8
7
要说回归也可以啊。但是相当于会自动生成基函数,去高维空间拟合很多features.
不需人自己去造feature试来试去。

【在 m******r 的大作中提到】
: 神经网络,我看也是有一堆回归构成的。 无知者无畏啊,说的不对还请指教。
: 每个neuron也没什么实际意思,就是回归。
: 不知道为什么功能这么强大。

avatar
p*4
8
我的理解,不知道是否符合你的题目:
target y是一维的没错,这个应该是原来题目里给出来的,所以原作者进行了假设,用
输出层node0表示了输出为0,node1表示了输出结果为1,所以以上输出结果的二维表示
target=0 -> [1, 0] 以此类推。这里的[1,0]表示的是True/False。所以根据
log regression的计算,第三组[0.51 0.49]本来应该是输出为[1,0],但实际给
出的结果是[0,1],这就是误差,来计算miss rate。所以可以判断这组weight在神
经网络里的优劣来进行feed back。
抛砖引玉了。
avatar
E*e
9
对,从原作者的code来说, 我也是这样理解的。 问题是为是么node0 就是对应的“0
”态, 而不是反过来? 我好像找不到相关的资料来说明这个事情。 如果我交换了一
下, node0看成是1 的话, 原code就不能得到正确迭代。

【在 p********4 的大作中提到】
: 我的理解,不知道是否符合你的题目:
: target y是一维的没错,这个应该是原来题目里给出来的,所以原作者进行了假设,用
: 输出层node0表示了输出为0,node1表示了输出结果为1,所以以上输出结果的二维表示
: target=0 -> [1, 0] 以此类推。这里的[1,0]表示的是True/False。所以根据
: log regression的计算,第三组[0.51 0.49]本来应该是输出为[1,0],但实际给
: 出的结果是[0,1],这就是误差,来计算miss rate。所以可以判断这组weight在神
: 经网络里的优劣来进行feed back。
: 抛砖引玉了。

avatar
E*e
10
当然,也不要认为我扣这些字眼。弄清楚的原因是自己有可能写code。 这里弄不清,
就不能使得code 正确收敛。

0

【在 E**********e 的大作中提到】
: 对,从原作者的code来说, 我也是这样理解的。 问题是为是么node0 就是对应的“0
: ”态, 而不是反过来? 我好像找不到相关的资料来说明这个事情。 如果我交换了一
: 下, node0看成是1 的话, 原code就不能得到正确迭代。

avatar
m*r
11
你干嘛要自己写code. 现成的package不好么?
除非你写的比现成的还好。



【在 E**********e 的大作中提到】
: 当然,也不要认为我扣这些字眼。弄清楚的原因是自己有可能写code。 这里弄不清,
: 就不能使得code 正确收敛。
:
: 0

avatar
E*e
12
不写自己的code,怎么能深刻理解这些个算法?

:你干嘛要自己写code. 现成的package不好么?
:除非你写的比现成的还好。
avatar
E*e
13
弄清楚了。 在多个输出nodes时,哪一个class在前还是后,不要紧,只要每一个对应
的class coding一致就行。在这个例子里,原先一维的这是class,放在第一column还
是第二column,不要紧,coding时,(y,1-y)一致对应就行。

:我的理解,不知道是否符合你的题目:
avatar
m*r
14
avatar
s*y
15
楼主对于知识的态度值得学习,理解算法运作原理不是必须的,但绝对是锦上添花
avatar
A*e
16
我也碰到类似的学习问题,就是想知道运作原理后能自己从头实现一遍,底子薄不容易。
感觉如果就是把package拿来用,折参数调整layer和node,学的总是不深。下面这个
youtube对我帮助很大
https://www.youtube.com/watch?v=aVId8KMsdUU
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。