下面内容摘录自《用R探索医药数据科学》专栏文章的部分内容。
1)栏目后续章节的文章将深入概括R语言在临床研究和新药创新领域的应用,填补了国内R教材中尚未广泛覆盖的部分内容。
2)专栏每篇文章都在 5000 字以上,质量平均分高达 94 分。已发表章节也会增加新的文章,已发表的文章也会更新版本,可留意专栏内容和题目信息。
3)由于每结束一个章节,专栏的优惠力度就会减小,当下正是订阅的最佳优惠时段,诚邀各位积极订阅!看全文请点击下面链接。
欢迎订阅我们专栏
.......前面部分请点击上面链接看原文(原文5773字)
一、人工智能
...
二、机器学习
机器学习(Machine Learning,ML)则是人工智能的一个分支,致力于开发能够从数据中学习和改进其性能的算法和统计模型。简而言之,机器学习让计算机通过分析大量数据自行“学习”并做出预测或决策,
早期的机器学习
1943年:沃尔特·皮茨(Walter Pitts)和沃伦·麦卡洛克(Warren McCulloch)在他们的论文《神经活动中的思想逻辑演算》(A Logical Calculus of the Ideas Immanent in Nervous Activity)中引入了第一个神经网络的数学模型。这项工作奠定了理解神经网络如何模拟人类思维过程的基础。
1949年:加拿大心理学家唐纳德·赫布(Donald Hebb)出版了《行为的组织》(The Organization of Behavior),提出了神经元相互作用的理论,这些理论后来为人工神经网络的发展提供了参考。赫布的“共同发火,联结加固”原则成为生物系统和人工系统中学习理论的基石。
机器学习的兴起
1950年:阿兰·图灵(Alan Turing)在他的论文《计算机器与智能》(Computing Machinery and Intelligence)中提出了图灵测试,该测试旨在评估机器表现出与人类相同或无法区分的智能行为的能力。
(图:阿兰·图灵 (1912-1954) 在 1936年。阿兰·图灵是一位英国数学家、逻辑学家、密码学家和计算机科学家。他在第二次世界大战期间为破解德国的恩尼格玛密码做出了关键贡献,这不仅大大加速了战争的结束,也展示了计算机在复杂计算和问题解决中的巨大潜力。著名的图灵测试是阿兰·图灵在1950年发表的论文《计算机器与智能》中提出的一种评估机器智能的方法。该测试旨在回答“机器能思考吗?”这个问题。尽管随着技术的发展,图灵测试的局限性和挑战逐渐显现,但它仍然是人工智能领域一个重要的思想实验和衡量标准。)
1952年:亚瑟·塞缪尔(Arthur Samuel)开发了第一个自学习程序,一个跳棋游戏算法,使用如α-β剪枝和评分函数等技术,通过经验改善其游戏能力。1959年,塞缪尔提出了“机器学习”这一术语。
1956年:由约翰·麦卡锡(John McCarthy)、马文·明斯基(Marvin Minsky)、内森尼尔·罗切斯特(Nathaniel Rochester)和克劳德·香农(Claude Shannon)组织的达特茅斯会议通常被认为是人工智能领域的诞生。这一事件催生了对机器学习和AI技术的研究。
机器学习的发展
1960年代:这一十年见证了早期学习机器的发展,如分析声纳信号和语音模式的Cybertron。研究集中在模式识别和能够从数据中学习的算法实现。
1970年代:对机器学习的兴趣持续,算法在识别模式和基于经验做出决策方面取得了重大进展。这一时期还引入了用于基本模式识别任务的最近邻算法。
1980年代:该领域开始转向更复杂的模型,包括杰拉尔德·德琼(Gerald Dejong)引入的基于解释的学习,使计算机能够丢弃无关信息并从训练数据中形成一般规则。
1990年代:焦点从知识驱动转向数据驱动的方法,在处理大数据集的算法方面取得了重大进展。1997年,IBM的深蓝(Deep Blue)击败国际象棋冠军加里·卡斯帕罗夫(Garry Kasparov),标志着AI和机器学习历史上的一个重要时刻。
2000年代:深度学习的引入,特别是杰弗里·辛顿(Geoffrey Hinton)的工作,彻底改变了该领域。这一时期见证了卷积神经网络(CNN)的发展及机器学习在图像识别和自然语言处理等各个领域的应用。
2010年代:主要里程碑包括2011年IBM Watson赢得《危险边缘!》比赛,以及Facebook等公司在面部识别技术上的进展。机器学习成为许多应用的核心,从自动驾驶汽车到个人助理。
在数据科学中,机器学习的主要目的是通过观测数据来估计模型的未知参数值,将假设转化为统计参数假设,并进行假设检验和结果解释。例如,线性回归算法在传统统计学和机器学习中都被广泛使用。通过这种方法,我们既可以训练一个线性回归机器学习模型,也可以通过最小二乘法拟合一个线性回归统计模型。在机器学习中,线性回归算法用于训练具有预测功能的模型,并使用新数据集进行测试,以验证模型在新数据集上的预测或分类能力。然而,在统计学中,更强调的是假设数据具有高斯噪声,通过拟合一条最小化均方误差的线性模型来描述数据与输出变量之间的关系,从而进行统计推断。
在R语言中,有几个著名的机器学习扩展包,它们为数据科学家和分析师提供了强大的工具。caret 是一个广泛使用的包,简化了模型训练和调参的流程,支持多种算法。randomForest包实现了随机森林算法,常用于分类和回归任务。xgboost包以其高效的梯度提升框架著称,特别适合处理大规模数据集。此外,tidymodels是一个现代化的建模框架,整合了多个包,为机器学习提供了简洁而灵活的工作流程。
以下是一段简单的R代码,展示了如何在传统统计学和机器学习中使用线性回归算法。该代码首先生成一个示例数据集,然后使用线性回归模型进行拟合和预测。
# 生成示例数据集
set.seed(123)
n <- 100
x <- rnorm(n)
y <- 5 + 3 * x + rnorm(n, sd=2)
# 数据可视化
plot(x, y, main="示例数据", xlab="自变量 x", ylab="因变量 y")
# 传统统计学:使用最小二乘法拟合线性回归模型
lm_model <- lm(y ~ x)
summary(lm_model)
# 绘制拟合线
abline(lm_model, col="blue", lwd=2)
# 机器学习:划分训练集和测试集
set.seed(456)
train_indices <- sample(1:n, size=0.7*n)
train_data <- data.frame(x=x[train_indices], y=y[train_indices])
test_data <- data.frame(x=x[-train_indices], y=y[-train_indices])
# 训练线性回归模型
ml_model <- lm(y ~ x, data=train_data)
# 使用测试集进行预测
predictions <- predict(ml_model, newdata=test_data)
# 绘制测试集预测结果
plot(test_data$x, test_data$y, main="测试集预测结果", xlab="自变量 x", ylab="因变量 y")
points(test_data$x, predictions, col="red", pch=19)
legend("topleft", legend=c("真实值", "预测值"), col=c("black", "red"), pch=c(1, 19))
# 计算预测误差
mse <- mean((test_data$y - predictions)^2)
print(paste("均方误差:", mse))
三、机器学习和传统统计学
机器学习和传统统计学是数据科学中相辅相成的两个重要分支。机器学习主要侧重于开发和使用算法来识别数据中的模式,并对未知事物进行预测和分类,它强调自动化和处理大规模数据的能力,通过训练模型从数据中进行学习,以实现高效的预测和识别任务。而传统统计学则注重对数据进行深入的推断分析,着重于因果关系的识别和结果的解释,强调理论基础和假设检验,通过严谨的方法论来推导出数据背后的规律和意义。两者在数据科学中都是不可或缺的,它们共同为我们提供了理解和利用数据的工具,既能帮助我们做出准确的预测,又能帮助我们揭示数据中潜在的因果关系。
........
欢迎订阅我们专栏,深度系统地学习R语言。
为帮助大家更出色地掌握临床统计、数据挖掘以及人工智能建模的入门知识和应用,由于众多同学在计算机编程上经验欠缺,特此开设《用R 探索医药数据科学》专栏。该专栏每周至少会定期更新三篇,直到整个专栏更新完成。每篇文章都在 5000 字以上,质量平均分高达 94 分。还要提醒大家的是,每结束一个章节,专栏的优惠力度就会减小,当下正是订阅的最佳优惠时段,诚邀各位积极订阅!
专栏《用R 探索医药数据科学》链接:https://blog.csdn.net/2301_79425796/category_12729892.html?spm=1001.2014.3001.5482