算法十讲
张晨光
第一讲 算法概述算法是计算机科学领域最重要的基石之一,计算机语言和开发平台日新月异,但万变不离其宗的是那些算法和理论,数据结构和算法是软件开发必备的核心基础,是内功心法。下面举例拿推荐算法和分类算法的实际场景做下举例:
推荐算法的应用场景,各种app(偏资讯)的应用外的手机推荐:
上面可以看出有米饭资讯,优酷视频,抖音短视频等推荐,他们都倾向于在下班休息的碎片时间进行推送。他们有的是根据你的关注和兴趣进行提醒,有的是根据当下社会热点进行推荐,还有的就是优惠券性质的推送。
再有就是应用内的推荐:
可以看出手机购物时,当我们搜索某家商店的某件商品时。系统会根据我们的搜索历史和购买历史进行相似物品的推荐。
分类算法(医学上的肿瘤判断)
如何判断细胞是否属于肿瘤细胞呢?肿瘤细胞和普通细胞,有差别。但是,需要非常有经验的医生,通过病理切片才能判断。如果通过机器学习的方式,使得系统自动识别出肿瘤细胞。此时的效率,将会得到飞速的提升。并且,通过主观(医生) 客观(模型)的方式识别肿瘤细胞,结果交叉验证,结论可能更加靠谱。
如何操作?通过分类模型识别。简言之,包含两个步骤。首先,通过一系列指标刻画细胞特征,例如细胞的半径、质地、周长、面积、光滑度、对称性、凹凸性等等,构成细胞特征的数据。其次,在细胞特征宽表的基础上,通过搭建分类模型进行肿瘤细胞的判断。
对于我们来说最简单的应用案例。请看如下代码应用
对于我们来说最简单的应用案例。请看如下代码应用,根据班级同学不同的分段给出评级。一个班级里不同分段的人数不是相等的,而是有着峰值和低谷。
案例:将学生的百分制成绩转换为五分制成绩:≥90 分: A,80~89分: B,70~79分: C,60~69分: D,<60分: E。
一般程序写法:
如果学生的总成绩数据有10000条,则5%的数据需 1 次比较,15%的数据需 2 次比较,40%的数据需 3 次比较,40%的数据需 4 次比较,因此 10000 个数据比较的次数为: 10000 (5%+2×15%+3×40%+4×40%)=31500次。