Android 模式识别的机器学习算法

Android 模式识别的机器学习算法,android,algorithm,machine-learning,Android,Algorithm,Machine Learning,我正在尝试构建一个基于权限的分析系统,以检测android上的恶意应用程序 我有一个恶意应用程序和普通应用程序的数据集 AppName | Permission --------+-------------- xxx | INTERNET xxx | READ_PHONE_STATE xxx | READ_SMS ccc | INTERNET ccc | ACCESS_NETWORK_STATE 同样,我需要的是识别可能导致恶意活动的模式 例如:如果是I

我正在尝试构建一个基于权限的分析系统,以检测android上的恶意应用程序

我有一个恶意应用程序和普通应用程序的数据集

AppName | Permission
--------+--------------
xxx     | INTERNET
xxx     | READ_PHONE_STATE
xxx     | READ_SMS
ccc     | INTERNET
ccc     | ACCESS_NETWORK_STATE
同样,我需要的是识别可能导致恶意活动的模式

例如:如果是INTERNET和READ_SMS,这是恶意的,因为从算法中我发现,在恶意应用程序中,该模式比在正常应用程序中更可用


因此,请给我您在算法方面的投入,使之成功。

最简单的选择是构建一个朴素贝叶斯分类器,因为它将以
p(恶意的| INERNET,READ_SMS)
的形式构建一个条件概率,这样不仅可以为您提供一个有效的算法,还可以让您了解实际发生的情况“里面“当然,还有几十个更复杂的模型,但正确回答这个问题是一个更广泛的问题。”。我会尝试NB,如果失败,寻找其他二元分类器,如神经网络、决策树、支持向量机等。

基本上有两种方法:要么你的算法将学习检测模式(但为此它需要一些反馈和应用程序的良好特性),要么它使用模型(与您提供的示例相同,除非它可以更加详细)计算“恶意”的全局概率对于应用程序。你认为我应该采用什么方法?我的意思是,我可以简单地说,如果互联网+阅读短信,那么就是恶意的。但是,这里面没有权重。这就是为什么我想到使用一种算法,非常感谢@lejlot。你能告诉我,我可以构建这个p(恶意互联网,阅读短信)吗有没有什么工具或者我必须用一种语言来开发任何实现朴素贝叶斯的库,有几十种,只要用谷歌搜索就可以了。你真是个神……谢谢你