科学网

 找回密码
  注册

tag 标签: 支点

相关帖子

版块 作者 回复/查看 最后发表

没有相关内容

相关日志

重修线性代数10——计算
热度 15 xying 2017-3-10 08:32
线性代数源于解线性方程组,这是数学公式逆向的计算。在计算机时代之前,限于手工计算的能力,线性代数多是作为理论研究的基础。到了现代,它已是理工科但凡涉及到统计和数值计算必备的工具了,最近更成为机器学习热门的基础课。 10.1 病态系统 数学的理论无论多么漂亮,应用到实践,总要落实到数值的计算。线性系统是最简单实用的数学模型,理论上解线性方程组有非常确定的结果,但也可能有意外。让我们看一个例子。 解线性方程组0.410x + 0.492y = 0.902,0.492x + 0.590y =1.082;得x=1,y=1. 若第一个方程右边的0.902略有变动成为0.901,解就变成x= 4.5976,y= -2.000; 同样第二个方程右边的1.082的数值变成1.081后,解就变成x= -2.000,y= 3.500. 实践中的数据总有些误差,方程的参数微小的变动,竟让计算结果面目全非,这确实让人始料不及。这样不稳定的计算结果在应用上毫无价值。问题在于,这个差异并非是计算误差造成的,将它们代入方程验证都精确无误 . 这就无从计算上来改善了。这种对参数微小变动敏感的系统称为是病态的( ill-conditioned ),这是数学模型的问题。这个例子,在几何图像上不难看到原因。每个方程在空间确定一条直线,方程的解是这两条直线的交点。这两个方程确定的直线近于平行,所以位置略有变化(红线和绿线),它们的交点(红点和绿点)的位置就差得很远。 在数值分析中,条件数( conditionnumber )用来描述数学模型系统的微扰对计算结果的影响。大致说来,对条件数κ , log 10 κ 是你在计算可能要丢掉的数字位数( log 10 ‖Δ x/x ‖ ≤ log 10 κ+ log 10 ‖Δ b/b ‖), 当然这个数κ是很难确定的,它是作为相对误差上界的估算。对于解线性方程组 Ax=b ,它的意思是‖Δ x/x ‖ ≤κ‖Δ b/b ‖,经过推导有κ (A) = ‖ A ‖ * ‖ A -1 ‖,对通常的 L2 范数κ (A)= | σ max / σ min | ,它是 A 做奇异值分解后最大与最小奇异值之比,在可对角化的矩阵即是最大绝对值的特征值与最小绝对值的特征值之比。正交阵(或酉阵)的条件数是 1 ,这是最小的矩阵条件数值,所以正交阵具有最好的计算稳定性。这说明我们建立线性的数学模型时,要尽量选择近于正交的数据来建立方程组。 在MATLAB或Octave可以用cond(A)指令计算A的条件数。上面例子中κ(A) = 6099.6. 10.2 支点对计算的影响 高斯消去法几乎是线性代数各种计算的基本手段。它不仅用来化简矩阵计算行列式。对线性方程组的求解,把方程右边的列向量拼入左边的矩阵,成为增广矩阵( A , b ),然后对它进行行间的变换,直至左上角部分变成三角阵,然后对照右边最后一列,判断方程是否无解,若有解则用右边三角阵部分迭代求解,多解时则同样可以迭代解出零空间的线性无关向量。 矩阵求逆,则把单位阵拼入左边成为增广矩阵( A , I ),右边部分记录了所有的行变换,与解方程一样,先从上到下,用支点( pivot )即主对角线上的元素,消去对角线下非零元素,把左边部分变成上三角阵。然后从下到上消去对角线上非零元素。如果 A 是满秩的,增广阵终将成为( I , A -1 ),右边即是逆矩阵。在这从上到下,三角阵化的消去过程中,只要支点是非零的,我们不需要交换行来进行,这时增广矩阵的右边的子矩阵是个下三角矩阵 U ,而左边是个上三角的子矩阵 L ,这时的增广矩阵( U , L )实现了 LU 分解。 理论上,只要这个过程中的支点是非零元,用消去法解方程、求逆和做 LU 分解都是可以的。实际上仍然会遇到问题。看下面用第一行消去第二行第一列,做的 LU 分解。 条件数 κ(A)=2.6184尚属于良态,而κ(L) =10 8 ,κ(U) =0.9999*10 8 ,都是非常病态了,用这个分解做计算会带来很大的误差。问题在于计算过程中支点的数值太小,解决的办法是运用支点做消去法前,先搜寻支点所在位置及下面,从中选出最大元,交换这两行使得最大元在支点位置。对这个矩阵A,是先交换上下两行,然后再做消去法,这样有: 这时 κ(L) =1.0001,κ(U) =2.6182,都是良态的。所以在矩阵的计算中,为了减少误差经常需要交换行或列,这个步骤可能隐含在算法中,也可能需要表示在计算机函数的式子里。通常用置换矩阵P来表示这些行或列的交换,如在MATLAB或Octave中指令 =lu(A),指的是 PA = LU的分解。为了减少误差,分解指令 =lu(A),如果需要交换行,则把P吸收在G中,G=P T L,A=GU,这时G不再能保持L的下三角阵的形式了。 10.3 机器学习 人们走向理性,依赖于在意识层次上的逻辑求证。不明因果机理的预测和难以追踪判断过程的结论,都被视为迷信而被科学排斥。算术曾经是解决实际问题计算唯一可靠的途径,在那里应用问题分门别类地归纳成不同的类型,诸如鸡兔同笼、宝塔装灯等等,每个计算步骤和所得的数量,都有直观可以理解的含义。代数的方法偏离了直观推理的途径走向抽象,三个未知数的线性代数方程,已经难以用单向逻辑推理的路径来追踪它解法的含义。我们只能用严格的逻辑,来证明每一步的代数运算都是等价或蕴含原来问题的不同描述。由此,我们可以用简化了问题的计算答案来回答原来的问题。在理性求证的过程中,我们把解方程的代数方法看成可以信赖的中间站,将现实问题的各种关系表示成方程后,放弃了对解法计算的每一步的追踪判断,直接承认它的结果。物理等科学研究沿用这种思想,把实际问题描述成数学模型后,直接依赖于数学的分析和计算。 机器学习将代数方法的启示推向另一个高度。它不再依赖于人力把实践中的预测和判断问题描述成一个数学模型,而是运用一个带有众多可调参数的通用数学模型,直接利用拥有的数据来调节参数自行寻找适用于这一类数据的具体模型,以此应用解答预测和判断问题。 与代数的方法取代算术方法的困惑一样,机器学习的调整模型参数及应用模型的计算机制,在数学上都是精确有效的。但巨大数量的可变参数,难以把这简单数学模型的一个具体的辨识判断过程,解析成为像物理规律那样单纯过程的因果性机制,无法用简单逻辑推演的跟踪来获得理解。机器学习的智能渐渐走离我们理性的监督,却成为未来应用计算的利器。下面简单对此作介绍。 机器学习与人类经验公式和分类的基本计算是一样的,都是用线性的方法计算参数,找出与实验数据匹配最小误差的数学模型,以此用来预测未知。对经验公式,用的是线性回归,找出那个线性函数,它是个与实验数据误差最小的的超平面;对模式识别的分类,用逻辑回归,找出那个判别函数,它是个分隔两类样本的超平面,与实验数据的误差最小。最后它们都归结为确定那个超平面的线性代数计算。(注:这里的超平面,指 n 维几何空间中的 n-1 维平面,它不是指那种过原点作为 n-1 维线性子空间的超平面。) 在 n 维线性空间中,满足内积〈 z , a 〉 = b 的向量 z ,构成 n 维几何空间中的一个 n-1 维平面,将向量扩充到 n+1 维空间,令 x =(1, z T ) T , w =(-b, a T ) T ,这个内积可以表示为〈 x , w 〉 = 0. 线性回归( linear regression ) :在线性回归的数学模型中,假定有足够多描述事物的属性,表示为函数的变量,归纳了经验的数值公式是这些属性变量的线性函数,我们尽可能应用大量的实验数据,来统计出误差最小的模型的系数。具体计算如下。 假设 n 维的属性向量 x i 和公式结果标量 y i ,经验公式有线性的关系〈 x i , w 〉 = y i ,其中 w 是待定的参数向量。我们有 m 组实验数据, m n ,希望对所有的实验数据〈 x i , w 〉都非常靠近 y i . 在上一篇中提到,这是列满秩矩阵解线性方程组的问题,可以用最小二乘法求解。 把 m 个 n 维行向量 x i T 写成 m*n 矩阵 X , m 个 y i 列成向量 y 。设误差函数 J( w ) =1/2 ‖ X w - y ‖ ^2 = ( X w – y ) T ( X w – y )/2 ,计算问题是,求让 J( w )=( X w – y ) T ( X w – y )/2 取最小值的向量 w 0 . J( w ) 是个在 n 维空间中的二阶幂函数的曲面,它有唯一的极小值在梯度为零处,即梯度 X T ( X w – y ) =0 ,这可以表示成正规方程 X T X w =X T y . 它有唯一解 w 0 =(X T X) -1 X T y. 在大数据的情况下,这个公式解的计算量太大,我们可以采用迭代的方式求解,这通常从任何一个 w 的初值开始,沿着这个梯度 X T ( X w – y ) 下降的方向,迭代逼近这个极值点 w 0 . 逻辑回归( logistic regression ):模式识别是进行逻辑分类,它假定在足够多属性为坐标的多维空间中,用一个超平面把空间分成两半,分别对应着不同的逻辑值。逻辑回归用来确定这个将实验样本中分类误差最小的超平面。 在 n 维线性空间中,满足内积〈 z , a 〉 = b 的向量 x ,在 a 方向上投影的长度都是 b/ ‖ a ‖,这些 x 向量的端点构成的 n-1 维的平面,这超平面与原点的距离是 b/ ‖ a ‖。空间上面的点依指向它的向量 z 在 a 上面的投影被这超平面分成两个部分,依内积〈 z , a 〉是否大于 b ,确定它们属于哪一类。这是模式辨识和机器学习中分类最为基本的直观图像。 采用上面扩充向量的符号,这个超平面是由 w 的数值来确定的,所谓的学习是用样本的数据 x i 和对应的 0 或 1 的分类值 y i ,来计算这个 w 。数学模型的预测值是由判断函数 g( 〈 x , w 〉 ) 来确定,理论上 g( 〈 x , w 〉 ) = (sign( 〈 x , w 〉 )+1)/2 ,但为了便于计算梯度,多数取 sigmoid 函数 g(t)=1/(1+exp(-t)). 我们同样用求误差函数 J( w ) =1/2 ‖ g(X w) - y ‖ ^2 = (g( X w) – y ) T (g( X w) – y )/2 最小的方法,来得到极值点 w 0 ,用迭代的方法沿着梯度下降的方向,逼近这个极值点 w 0. 10.4 世界是线性的吗? 上一节说,机器学习的核心算法线性回归和逻辑回归,应用的都是线性模型。这也是经验公式和模式识别的基础。我们的世界都是线性的吗? 开篇时也说,令人感到幸运和疑惑的是,科学研究上凡是用到数学,有着漂亮定性和定量结果的,基本上可以变成一类线性系统,或者用它来逼近。为什么? 世界是线性的吗?其实不是,只是非线性的系统正向计算不难,但难以反向求解,更无法分部综合。我们能用数学工具取得很好结果的,基本上是线性系统。力学是线性动态系统,绝大多数电路是线性系统;描述连续介质,能量和场的波动,传导,稳定状态的数理方程是线性系统。非线性系统可以用两种方法将它应用线性系统的方法来处理。一是可以在足够小误差的邻域看成是线性的;微分几何用曲面上点的邻域,投影到与之相切的线性空间来计算;非线性动态系统控制稳定或跟踪已知轨迹时,可以用线性系统来近似。二是在应用上尽可能把系统处理成线性的,而把非线性部分局限在一小处或作为输入,以便分析和综合。难以照此办理的许多非线性系统即使有精确简单的方程描述,如混沌系统、联结主义模型,无论在定量和定性上,都难以深入。科学和技术与一切在竞争博弈中的发展一样,都是路径依赖的。某一方向取得突破,人们蜂拥而至,用先创的概念作为后建的基石,建构我们理解的世界。科学发展至今,解释事物的理论无所不在,我们似乎已经充分了解了这个世界,其实这不过是看见在科学这条高速公路旁的城镇,公路不可达之处是不可知的荒野。但是无论如何,线性代数已是现代科学知识的基础构件,我们必须能在头脑中想象它。 机器学习的线性模型怎么用在这个并非是线性的世界?线性回归怎么拟合一条曲线上的数据?怎么用一个超平面分划由一个曲面界定的类别?答案在于增加维数。空间中任意的样本点集,都可以看作是高维空间中点集的投影,它们可以在高维空间的一个超平面上,或被一个超平面分类。 例如,实验数据 (1,4), (2, 9), (3, 20), (4, 37), (5, 60) 是二维空间的曲线 y = 3x 2 – 4x + 5 上的点,在实验中增加一个属性 x 2 = x 1 2 的测量,上面的样本点便成为 (1,1, 4), (2, 4, 9), (3, 9, 20), (4, 16, 37), (5, 25, 60) 它们在三维空间 y =3x 2 – 4x 1 + 5 的平面上。增加几个非线性函数作为新的属性,任何曲面都可以用这些具有新属性变量的线性函数来近似。模式识别中的超平面分类也是如此。这样的处理早已在科研和工程上广泛地应用,它类比于将非线性部分局限在一些部件中,在工程上把系统仍然作为一个线性系统来分析和综合。 10.5 结语 现代公理化的数学,要求尽量抽象,从基本定义出发,不借助任何具象,纯粹形式推理来得到结论。这是严谨化确认的要求,但这不是理解、记忆和运用之道。人脑是按联想方式工作的,不能下意识地推及逻辑之远。我们对世界的理解是用象征符号,在头脑中构建的想象。所谓的课程学习是通过语言,将别人的想象串行地传递给自己,在头脑中重构自己的想象。严格数学的训练沿用形式逻辑推理,只能保证这个传递没有形式上的误差,并不能保证能够建构相同的想象。没有想象就难以记忆和应用。所以学数学就像学剑一样,必须首先心中有剑,从概念的定义开始就要有符合这语义的具象,然后沿着定理推论的展开,逐步剔除不合适的想象,构建符合逻辑的图像。学习中的理解是将语言能指的符号串,与所指的想象对应的过程。形式推理永远不能触及所指的内容,所以形式推理的机器没有理解力。能够产生理解和灵感的,是在头脑的想象世界中看到的内容。这需要拥有丰富的具体实例的素材才能构建。因此学习数学只记忆定义、证明和定理不能走远,也没有透视现象的直觉。严谨的数学证明当然很重要,但那只是用来一维地传递信息,和在逻辑上证实想象的真实性的必要手段。把握数学内容的,是能在想象中出现的图像。练习和应用是学好一门课的不二途径。。 (系列终)
个人分类: 科普|16774 次阅读|32 个评论
对物理天平的感悟
热度 13 boxcar 2014-3-28 06:43
“物理天平”王春艳老师前天在其博文“可不可以公平对待呢?”【 http://blog.sciencenet.cn/blog-42659-779312.html 】中抱怨了一把“公平”,引发了热议。刚刚又看到“老邪”李小文老师在“和天秤座的 CY 谈公平”【 http://blog.sciencenet.cn/home.php?mod=spaceuid=2984do=blogid=779743 】,文章中谈及了天平平衡的原理问题,感觉与我在高中时候所学的略有差异(这种差异现在的高中生可能感受不到了,因为据说高考已经不再考力矩了),遂想写几句评论。但是,因为物理天平早就被使用传感器的电子分析天平赶出了现代化的专业实验室,再去回想物理天平到底是啥模样,就只能靠初中(约 30 年前)和大学( 20 多年前)的记忆,怕自己搞不准,只好赶紧上网搜搜物理天的图片看。在呆呆地看了 5 分钟后,终于有所感悟,遂写下本篇“悟理学”新作。 照老规矩,在开始“悟理”之前,必须先讲物理。这次要从物理天平的工作原理谈起。 物理天平是干什么用的,不用我说,做过实验或者有关实验的考试题的同学老师都清楚——测量物体的质量。如果非要说得更加准确些,则应该是测量物体的引力质量。测量原理很简单,初中都学过——杠杆力矩平衡原理。不过,到底是怎么平衡的,真正能完全说清楚整明白却也不大容易。因为但凡是现实中的物理现象,都罕有没有任何异议的完整“标准答案”,细节中的“魔鬼”随时都可以向我们发动难以招架的“恐怖袭击”,而这些偏技术的细节,又恰恰是最容易被“应试教育”(以后可能会变成看网络视频的影视教育)笼罩下的老师和学生有意无意地排斥的。 天平之所以可以测量质量,在于其配套的砝码和游码,增减砝码可以让天平接近平衡,最后拨动游码则可以让其最终达到平衡(至少是更趋近于平衡);对于从物理天平发展而来的光电分析天平,不但其使用中增减的砝码质量更小更精确便利,甚至可以在没完全平衡的情况下也可以借助标尺读数。 如果物理天平左右吊盘中的物体(左物右码)的质量相等, 位于横梁下方的指针应该 指零,此时 达到了绝对平衡 。如果物体和砝码的质量接近了,但还没有达到绝对的平衡,则指针会有偏转,提供调节游码,可以逐渐趋近于平衡,期间标尺会指向标尺的某个位置,或者在平衡指示点两侧往复摆动。从这个现象描述我们不难看出,所谓天平的平衡,严格讲是天平和被测物体构成的系统最终达成的力矩平衡,而不能单纯地认为只是物体和砝码之间达到质量一致的结果,平梁的倾斜、游码的调节和指针的偏转都对平衡能否达成及如何达到有所贡献,这其中平梁和指针们的作用不可小视。在天平因为一侧偏重(其力矩大于砝码和游码力矩之和)而发生偏转时,平梁和指针构成的子系统的重心将偏离支点的正下方,而且偏离造成产生平梁指针系统的重力力臂会随着倾角的增大而增加,其结果是贡献了一个负反馈力矩,起到阻止天平继续倾斜的作用。而天平之所以最终能够达到稳定平衡,全在于系统(包括了重物、砝码、平梁、指针等等在内)重心必须要低于其支点,否则后果只能达到极其脆弱的平衡而非常容易倾覆。 物理学的解读到此可以告一段落,下面开始我最擅长的“悟理学”分析。 在人类社会中,人们希望法律和制度能像物理天平那般精准,最理想的状态时做到绝对的公平。但是,我们如果仔细观察物理天平,就会发现在绝大多数情况下,我们所看到的平梁能够静静地、平稳地横在那里的原因,并不是因为天平两侧的托盘或吊盘里面装上了相等质量的物体和砝码,而是因为天平的平梁架在托架的两个支撑点上而并没有处于支点升起的工作状态。从这个意义上讲,大到一个社会、小到一个单位团体,能够让人感到公平和心态平和的关键在于提供了广泛的多点支撑和基本的保障,让人觉得很“托底”。换句话说,在提供了足够支持的情况下,如果是在无须分个高下、见个输赢、排个名次、争个交椅、抢顶帽子的情况下,“公平”是个伪问题。 当然,我们也会说,这种“托底”的“公平”,其所能够达到平衡的层次是很低的,最多能够保障人们最基本的需求,此时“高端大气上档次”是无从谈起的。如果有更高的追求或者更多的诉求,还真的需要上秤“称称斤两”,要找人评评,此时“秤”是否准确、制度和法律是否公平合理、裁决者是否公正就显得十分重要了。有些时候,人们就是要见个输赢胜负,是你死我活的 PK ,是天平的一端把另一端彻底压倒,结果“胜者通吃”。此时人们只关心过程是否公平,而不在乎最终是否平衡(哪怕是到最后天平倒了都无人扶)。有些时候, PK 的双方本来差别并不大,这时候仲裁者的倾向性就很重要,完全能够通过适当的倾斜负反馈拉平差距,当然也毕竟容易通过调解(调节)达到平衡。 物理天平的平梁是高高地架在锐利的支点刀口之上的,但其重心的高度却是必须在支点之下的,这也意味着一个社会或一个单位团体的领导者和仲裁者的位置高、姿态高才足以服众,但同时重心(诉求)却应该低一些,才能有助于让整个体系更容易达到稳定的平衡,否则极容易倾覆。因为天平的平梁和指针其实并未游离于整个平衡系统之外,反而在趋于平衡的过程中发挥着重要的作用。 书上说物理天平上的刀口必须用非常硬的材料(例如玛瑙)制作并打磨得很“锋利”,其目的是让其对力矩的失衡更加敏感并减小支点在平梁偏转摆动时滚动摩擦。在人类社会中,刀口支点的“硬度”,暗示着法律和制度的执行是否做到坚决严明;刀口支点的锋利,则意味着明察秋毫的敏锐。
个人分类: 悟理学|5149 次阅读|31 个评论
给你一个支点,真能撬动地球吗?
热度 1 wangxh 2012-12-29 14:26
许多人常用名人的话当作自己的“本领”,比如这句就是:“给我一个支点,我能撬动地球!”说时浩浩然。 (图片引自: http://blog.zzedu.net.cn/user1/chxx-daiyali/archives/2011/328972.html ) 其实大家都知道,知识是学来用的,不是臭显摆的——当然教师还可以用来传授的。 自从读研究生后,成了村里的最高学历者,过春节回家时经常有人想让俺为其子女指点迷津。当然俺也不是那种吝啬鬼,往往给孩子们一些指点,至于是否“有用”、是否接受就是他们自己的事儿喽!【 其实他们关心的只有升学考试 】 记得有一次大年初一到处串门拜年,走进一个老嫂子家,4、5个初中生本来正在打牌,俺去了后大人当回事儿,小孩子们自然肃然起敬,看样子真想得到点儿“真传”。俺呢,却给他们出了道物理题: 一个长宽高分别为90、50、50厘米的木箱,重65公斤,不借助于如何工具你能否把它从院外运到屋里? 【 我们那里的一般情况是:坑坑洼洼的软土道,大部分院里也是软土的,也就是说利用摩擦系数小才能运输的滑动(即拖拽)是不行的,孩子们没有那么大力气;大门口有3、4层台阶,正房门口有1、2层台阶和1个门槛 】 孩子们先看看我,后又面面相觑一会儿,什么也没说,对笑一下慢慢地转身打牌了...... 不知道其中是否有人得到了启发......
个人分类: 教之道|11272 次阅读|1 个评论
为幸福寻找一个支点
fqng1008 2010-5-5 07:32
现代社会竞争激烈,生活节奏加快,给我们带来了许多烦恼。排除烦恼的重要方法是,无论何时、何地、何种境况,始终保持心理平衡。这是我们为幸福寻找的一个支点。 美国心理卫生学会提出的心理平衡10条要诀,值得我们借鉴。 1. 对自己不苛求:每个人都有自己的抱负,但有些人把目标定得太高,以至于实现不了,于是终日抑郁不欢;有些人对自己所做的事情要求十全十美,往往因为小小的瑕疵而自责,结果苦了自己。为了避免挫折感,应该把目标和要求定在自己能力范围之内,懂得欣赏自己,认可自己已取得的成就,心情就会轻松舒畅。 2. 对亲人不要期望过高:妻子盼望丈夫飞黄腾达,父母希望儿女成龙成凤,似乎是人之常情。然而,当对方不能满足自己的期望时,便大失所望。其实,每个人都有自己的生活道路,何必要求别人迎合自己。 3. 不要处处与人争斗:有些人心理不平衡,完全是因为我们处处与人争斗,使得自己经常处于紧张状态。其实,人际之间应和谐相处,只要你不敌视别人,别人也不会与你为敌。 4.暂离困境:在受到挫折时,暂时将烦恼放下,做自己喜欢做的事,如下棋、打球、读书、欣赏音乐等,等待心情平静后,再重新面对自己的难题,思考解决的办法。 5. 适当让步:学会妥协,在日常工作和生活中,只要大前提不受影响,非原则问题无须过分坚持,以减少自己的烦恼。 6. 对人表示善意:生活中被人排斥,常常是因为别人有戒心。如果在适当的时候表示自己的善意,真挚地伸出友谊之手,自然就会化解隔阂,缔结友情,从而改善自己的心境。 7. 找人倾诉烦恼:生活中常常会有烦恼,把烦恼闷在心里,会导致抑郁和伤感;如果把内心的苦闷向知己好友倾诉,能够明显改善心境。 8. 帮助别人做事:助人为乐代表一种良好的心境。帮助别人不仅能使自己忘却烦恼,而且可以表现自己存在的价值,更可以获得真挚的友谊,因而是快乐源泉。 9. 不忘娱乐:生活中适当娱乐,不但能够调节情绪,舒缓压力,还能增长新的知识和乐趣。 10. 知足常乐:无论荣与辱、得与失、升与降,往往不以个人意志为转移。淡薄名利,宠辱不惊,过平静的生活,享受安宁的快乐。
个人分类: 探讨幸福|3175 次阅读|2 个评论

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-6-2 06:29

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部