一个人的数学建模:碎纸复原
By 苏剑林 | 2013-09-22 | 38647位读者 | 引用用二次方程判别式判断正定矩阵
By 苏剑林 | 2013-12-24 | 57199位读者 | 引用快要学期末了,不少学霸开始忙碌起来了。不过对非学霸的我来说,基本上每天都是一样的,希望把自己感兴趣的东西深入研究下去,因为我觉得,真正学会点有用的东西才是最重要的。数学分析和高等代数老师都要求写课程论文,我也写了我比较感兴趣的“欧拉数学”和“超复数研究”,之后会把这部分内容与大家分享。
虽然学期已经接近尾声了,但是我们的课程还没有上完。事实上,我们的新课一直上到十八周~随着考试的接近,我们的《高等代数》课程也已经要落幕了。最近在上的是二次型方面的内容,讲到正定二次型和正定矩阵。关于正定矩阵的判别,教科书上提供了两个判别方法,一个是基于定义的初等变换,另外一个就是主子式法。前者无可厚非,但是后者我似乎难以理解——它虽然是正确的,但是它很丑,计算量又大。我还没有想清楚主子式法到底有什么好的?在我看来,本文所探讨的基于二次方程判别式的方法才是简单、快捷的。
正定二次型
所谓正定二次型,就是关于n个变量$x_1,x_2,...,x_n$的二次齐次函数,只要$x_i$不全为0,它的值恒为正数。比如
$$2 x_1^2+x_2^2-2 x_1 x_2=x_1^2+(x_2-x_1)^2$$
这是一个比较简单的正定二次型,多元的还有
$$5 x_1^2+x_2^2+5 x_3^2+4 x_1 x_2-8 x_1 x_3-4 x_2 x_3$$
有质动力:倒立单摆的稳定性
By 苏剑林 | 2013-12-29 | 49144位读者 | 引用在讨论了倒立单摆的相关分析之后,胡雄大哥(笔者的一位好友)提出了一个问题:一根均匀杆,当然质量不可忽略,只有一个力(简单起见,可以先假设为恒力)作用在其中一个点上(简单起见,可以假设为端点),那么杆是怎么运动的?
其实笔者学了不少的经典力学,也分析了不少问题,但就是对于力矩、角动量等还是模模糊糊的,对于我来说,大多数经典力学问题就是“作用量+变分”,本题也不例外。为了让题目的实验意义更加明确,不妨将题目改成:
一根中性的均匀杆,它的一个端点带有一个点电荷,那么它(仅仅)在一个均匀电场中的运动是怎样的?
在这里,我们进一步简化,只考虑平面问题。杆属于刚体,为了描述杆的运动,我们需要描述杆上一点的运动,以及杆绕这一点的转动,也就是说,即使只考虑平面的情况,该系统也是有三个自由度的。设杆的带电荷那一端点的坐标为$(x,y)$,为了描述杆的转动,以这一端点为中心建立极坐标系,设杆的极角为$\theta$。设电势的函数为$U(x,y)$,因为只有一点带电(受力),因此势能是简单的。
[追溯]封装界传奇人物
By 苏剑林 | 2014-07-02 | 18986位读者 | 引用转载理由:现在的deepin和ylmf(已经改为StartOs)都已经在制作自己的Linux,而当初它们都是制作GhostXp的大家。我的初中,即2009年以前,是GhostXP流行的时代,而我当时也加入了这一行列中,发表过一些GhostXP的作品。后来随着时代的发展,XP也就慢慢退出了舞台。我也就随之退出了这个舞台,也因此得以专注科学。但是,几乎所有我的电脑知识,都积累于那个时期,因为为了完成一个系统的制作和推广,需要懂得的电脑技术很多很多,我也得到了充分的锻炼。下面列举的一些人,都是当年GhostXP界的神话人物,有些我并不认识,但其名在当时就如雷贯耳;有些人在当时还十分幸运地加上了他们的QQ。这篇文章实际上已经是很久已经的了,但还是值得回味过去的时间,以此为我的初中时代留下一些回忆。
两百万素数之和与“电脑病”
By 苏剑林 | 2014-10-17 | 15323位读者 | 引用原则上来讲,同样的算法,如果分别在Python和C++上实现,那么Python的速度肯定比不上C++的。但是Python还被称为“胶水语言”,它允许我们把主要计算的部分用C或C++等高效的语言编写好,然后它作为“粘合剂”把两者粘合在一起。正因为如此,Python才有了各种各样的扩展库,这些库中有不少是用C语言编写的。因此,我们在编写Python程序的时候,如果可以用这些现成的库,速度会快很多。本文就是用Numpy来改进之前的《两百万前素数之和与前两百万素数之和》的计算。
算法本身是没有变的,只是用了Numpy来处理数组计算,代码如下:
记录一次爬取淘宝/天猫评论数据的过程
By 苏剑林 | 2015-05-06 | 166999位读者 | 引用笔者最近迷上了数据挖掘和机器学习,要做数据分析首先得有数据才行。对于我等平民来说,最廉价的获取数据的方法,应该是用爬虫在网络上爬取数据了。本文记录一下笔者爬取天猫某商品的全过程,淘宝上面的店铺也是类似的做法,不赘述。主要是分析页面以及用Python实现简单方便的抓取。
笔者使用的工具如下
Python 3——极其方便的编程语言。选择3.x的版本是因为3.x对中文处理更加友好。
Pandas——Python的一个附加库,用于数据整理。
IE 11——分析页面请求过程(其他类似的流量监控工具亦可)。
剩下的还有requests,re,这些都是Python自带的库。
实例页面(美的某热水器):http://detail.tmall.com/item.htm?id=41464129793
闲聊:神经网络与深度学习
By 苏剑林 | 2015-06-06 | 67618位读者 | 引用在所有机器学习模型之中,也许最有趣、最深刻的便是神经网络模型了。笔者也想献丑一番,说一次神经网络。当然,本文并不打算从头开始介绍神经网络,只是谈谈我对神经网络的个人理解。如果希望进一步了解神经网络与深度学习的朋友,请移步阅读下面的教程:
http://deeplearning.stanford.edu/wiki/index.php/UFLDL教程
http://blog.csdn.net/zouxy09/article/details/8775360
机器分类
这里以分类工作为例,数据挖掘或机器学习中,有很多分类的问题,比如讲一句话的情况进行分类,粗略点可以分类为“积极”或“消极”,精细点分为开心、生气、忧伤等;另外一个典型的分类问题是手写数字识别,也就是将图片分为10类(0,1,2,3,4,5,6,7,8,9)。因此,也产生了很多分类的模型。
最近评论